123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954 |
- package com.emato.ich.fragment;
- import android.os.Bundle;
- import android.os.CountDownTimer;
- import android.text.Editable;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.TextView;
- import androidx.annotation.NonNull;
- import androidx.annotation.Nullable;
- import androidx.fragment.app.Fragment;
- import com.emato.ich.MainActivity;
- import com.emato.ich.R;
- import com.emato.ich.api.ICSPClient;
- import com.emato.ich.contant.ICSPConstant;
- import com.emato.ich.contant.SystemConfigConstant;
- import com.emato.ich.databinding.FragmentMyKeyBoardBinding;
- import com.emato.ich.databinding.FragmentSendKeyBoardBinding;
- import com.emato.ich.entity.vo.ResponseData;
- import com.emato.ich.entity.vo.ResponseTokenVo;
- import com.emato.ich.local.LocalStorage;
- import com.emato.ich.utils.BaseUtils;
- import com.emato.ich.utils.ButtonUtils;
- import com.emato.ich.utils.JacksonUtils;
- import com.emato.ich.utils.Log;
- import com.emato.ich.utils.LoggingUtils;
- import com.emato.ich.utils.NavUtils;
- import com.emato.ich.utils.StringUtils;
- import com.emato.ich.utils.TimeOutUtils;
- import com.emato.ich.utils.ToastUtils;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.core.type.TypeReference;
- import org.jetbrains.annotations.NotNull;
- import java.io.IOException;
- import java.util.concurrent.atomic.AtomicBoolean;
- import java.util.regex.Pattern;
- import okhttp3.Call;
- import okhttp3.Callback;
- import okhttp3.Response;
- /**
- * 投递员登录页面
- */
- public class SendKeyBoardFragment extends Fragment {
- private static final String TAG = SendKeyBoardFragment.class.getName();
- private FragmentSendKeyBoardBinding binding;
- private CountDownTimer timer;
- private long start;
- @Nullable
- @org.jetbrains.annotations.Nullable
- @Override
- public View onCreateView(@NonNull @NotNull LayoutInflater inflater, @Nullable @org.jetbrains.annotations.Nullable ViewGroup container, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
- start = System.currentTimeMillis();
- binding = FragmentSendKeyBoardBinding.inflate(inflater, container, false);
- return binding.getRoot();
- }
- public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
- long end = System.currentTimeMillis();
- Log.i(TAG, TAG + "页面渲染速度为" + (end - start) + "ms。");
- super.onViewCreated(view, savedInstanceState);
- BaseUtils.disableEditText(binding.editTextTextPersonName4);
- BaseUtils.disableEditText(binding.editTextTextPersonName5);
- try {
- MainActivity activity = (MainActivity) getActivity();
- timer = TimeOutUtils.timeout(activity, SendKeyBoardFragment.this, binding.timeout, 60);
- timer.start();
- } catch (Exception e) {
- Log.e(TAG, "onViewCreated: 倒计时异常! ", e);
- LoggingUtils.sendErrorLog("业务异常: 投递员登录页面倒计时异常! ", e);
- }
- // 如果有配置账号密码, 账号定死
- String loginPhone = null;
- try {
- MainActivity activity = (MainActivity) getActivity();
- loginPhone = activity.getConfigMap().get(SystemConfigConstant.cabinet_login_phone);
- } catch (Exception e) {
- Log.e(TAG, "onViewCreated: 配置登录手机号出错! ", e);
- LoggingUtils.sendErrorLog("业务异常: 配置登录手机号出错! ", e);
- }
- if (!StringUtils.isNullOrEmpty(loginPhone)) {
- String loginPhoneShow = toHidePhone(loginPhone);
- binding.editTextTextPersonName4.setText(loginPhoneShow);
- binding.editTextTextPersonName4.setEnabled(false);
- } else {
- // 4 手机
- binding.editTextTextPersonName4.setOnFocusChangeListener((view1, hasFocus) -> {
- if (hasFocus) {
- binding.keyBoard.inputButton0.setOnClickListener(v -> {
- int length = binding.editTextTextPersonName4.getText().length();
- if (length >= 11) {
- ToastUtils.make(getContext(), "手机号不能超过11位! ");
- return;
- }
- int start = binding.editTextTextPersonName4.getSelectionStart();
- binding.editTextTextPersonName4.getText().insert(start, "0");
- });
- binding.keyBoard.inputButton1.setOnClickListener(v -> {
- int length = binding.editTextTextPersonName4.getText().length();
- if (length >= 11) {
- ToastUtils.make(getContext(), "手机号不能超过11位! ");
- return;
- }
- int start = binding.editTextTextPersonName4.getSelectionStart();
- binding.editTextTextPersonName4.getText().insert(start, "1");
- });
- binding.keyBoard.inputButton2.setOnClickListener(v -> {
- int length = binding.editTextTextPersonName4.getText().length();
- if (length >= 11) {
- ToastUtils.make(getContext(), "手机号不能超过11位! ");
- return;
- }
- int start = binding.editTextTextPersonName4.getSelectionStart();
- binding.editTextTextPersonName4.getText().insert(start, "2");
- });
- binding.keyBoard.inputButton3.setOnClickListener(v -> {
- int length = binding.editTextTextPersonName4.getText().length();
- if (length >= 11) {
- ToastUtils.make(getContext(), "手机号不能超过11位! ");
- return;
- }
- int start = binding.editTextTextPersonName4.getSelectionStart();
- binding.editTextTextPersonName4.getText().insert(start, "3");
- });
- binding.keyBoard.inputButton4.setOnClickListener(v -> {
- int length = binding.editTextTextPersonName4.getText().length();
- if (length >= 11) {
- ToastUtils.make(getContext(), "手机号不能超过11位! ");
- return;
- }
- int start = binding.editTextTextPersonName4.getSelectionStart();
- binding.editTextTextPersonName4.getText().insert(start, "4");
- });
- binding.keyBoard.inputButton5.setOnClickListener(v -> {
- int length = binding.editTextTextPersonName4.getText().length();
- if (length >= 11) {
- ToastUtils.make(getContext(), "手机号不能超过11位! ");
- return;
- }
- int start = binding.editTextTextPersonName4.getSelectionStart();
- binding.editTextTextPersonName4.getText().insert(start, "5");
- });
- binding.keyBoard.inputButton6.setOnClickListener(v -> {
- int length = binding.editTextTextPersonName4.getText().length();
- if (length >= 11) {
- ToastUtils.make(getContext(), "手机号不能超过11位! ");
- return;
- }
- int start = binding.editTextTextPersonName4.getSelectionStart();
- binding.editTextTextPersonName4.getText().insert(start, "6");
- });
- binding.keyBoard.inputButton7.setOnClickListener(v -> {
- int length = binding.editTextTextPersonName4.getText().length();
- if (length >= 11) {
- ToastUtils.make(getContext(), "手机号不能超过11位! ");
- return;
- }
- int start = binding.editTextTextPersonName4.getSelectionStart();
- binding.editTextTextPersonName4.getText().insert(start, "7");
- });
- binding.keyBoard.inputButton8.setOnClickListener(v -> {
- int length = binding.editTextTextPersonName4.getText().length();
- if (length >= 11) {
- ToastUtils.make(getContext(), "手机号不能超过11位! ");
- return;
- }
- int start = binding.editTextTextPersonName4.getSelectionStart();
- binding.editTextTextPersonName4.getText().insert(start, "8");
- });
- binding.keyBoard.inputButton9.setOnClickListener(v -> {
- int length = binding.editTextTextPersonName4.getText().length();
- if (length >= 11) {
- ToastUtils.make(getContext(), "手机号不能超过11位! ");
- return;
- }
- int start = binding.editTextTextPersonName4.getSelectionStart();
- binding.editTextTextPersonName4.getText().insert(start, "9");
- });
- binding.keyBoard.inputButtonCancel.setOnClickListener(v -> {
- Editable text = binding.editTextTextPersonName4.getText();
- int start = binding.editTextTextPersonName4.getSelectionStart();
- if (text.length() > 0) {
- if (start > 0) {
- text.delete(start - 1, start);
- }
- binding.editTextTextPersonName4.setText(text, TextView.BufferType.EDITABLE);
- binding.editTextTextPersonName4.setSelection(start - 1 < 0 ? text.length() : start - 1);
- }
- });
- // 长按删除
- binding.keyBoard.inputButtonCancel.setOnLongClickListener(v -> {
- binding.editTextTextPersonName4.getText().clear();
- return false;
- });
- }
- });
- }
- String finalLoginPhone = loginPhone;
- binding.keyBoard.inputButtonConfirm.setOnClickListener(view1 -> {
- if (ButtonUtils.isFastClick()) {
- return;
- }
- // 登录逻辑 editTextTextPersonName4 手机 editTextTextPersonName5 密码
- String sendPhone = !StringUtils.isNullOrEmpty(finalLoginPhone) ? finalLoginPhone : binding.editTextTextPersonName4.getText().toString();
- String password = binding.editTextTextPersonName5.getText().toString();
- Pattern phonePattern = Pattern.compile("^((13[0-9])|(14[0,1,4-9])|(15[0-3,5-9])|(16[2,5,6,7])|(17[0-8])|(18[0-9])|(19[0-3,5-9]))\\d{8}$");
- Pattern pwdPattern = Pattern.compile("^[0-9]{8,16}$");
- if (phonePattern.matcher(sendPhone).matches() && pwdPattern.matcher(password).matches()) {
- ICSPClient.login(sendPhone, password, new Callback() {
- @Override
- public void onFailure(@NotNull Call call, @NotNull IOException e) {
- // TODO 登录失败处理
- ToastUtils.make(getContext(), "登录失败!网络异常!");
- Log.e(TAG, "onFailure: 登录失败! call: " + call.timeout().toString(), e);
- LoggingUtils.sendErrorLog("业务异常: 登录失败!网络异常! ", e);
- }
- @Override
- public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
- ((MainActivity) getActivity()).runOnUiThread(() -> {
- String responseStr = ICSPClient.isSuccessfulAndParseResponse(response);
- if (!StringUtils.isNullOrEmpty(responseStr)) {
- try {
- ResponseData<ResponseTokenVo> responseData = JacksonUtils.objectmapper.readValue(responseStr, new TypeReference<ResponseData<ResponseTokenVo>>() {
- });
- ResponseTokenVo data = responseData.getData();
- if (responseData.getCode().equals(ICSPConstant.OK)) {
- LocalStorage.Session session = new LocalStorage.Session();
- session.setPhone(sendPhone);
- session.setTime(System.currentTimeMillis());
- session.setToken(data.getToken());
- LocalStorage.getInstance().setSession(session);
- // 登录成功
- ToastUtils.make(getContext(), "登录成功!");
- if (null != timer) {
- timer.cancel();
- }
- NavUtils.navigate(SendKeyBoardFragment.this, R.id.action_sendFragment_to_sendMainFragment);
- } else {
- ToastUtils.make(getContext(), responseData.getMsg());
- Log.w(TAG, "onResponse: " + responseData.getMsg());
- }
- } catch (JsonProcessingException e) {
- Log.e(TAG, "onViewCreated: 解析登录响应信息错误! response body: " + responseStr, e);
- ToastUtils.make(getContext(), "登录失败!");
- LoggingUtils.sendErrorLog("业务异常: 登录失败!", e);
- } catch (ClassCastException e) {
- Log.e(TAG, "onResponse: 解析登录响应信息类型转换错误! response body: " + responseStr, e);
- ToastUtils.make(getContext(), "登录失败!");
- LoggingUtils.sendErrorLog("业务异常: 登录失败!", e);
- } catch (RuntimeException e) {
- Log.e(TAG, "onResponse: 登录失败! ", e);
- ToastUtils.make(getContext(), "登录失败!");
- LoggingUtils.sendErrorLog("业务异常: 登录失败!未知错误! ", e);
- }
- } else {
- // 登录失败
- ToastUtils.make(getContext(), "服务异常!请稍后重试!");
- }
- });
- }
- });
- } else if (!phonePattern.matcher(sendPhone).matches()) {
- ToastUtils.make(getContext(), "输入正确的手机号!");
- } else if (!pwdPattern.matcher(password).matches()) {
- ToastUtils.make(getContext(), "密码格式错误!请输入8-16位的数字!");
- }
- });
- // 密码
- binding.editTextTextPersonName5.setOnFocusChangeListener((view1, hasFocus) -> {
- AtomicBoolean caseSmallFlag = new AtomicBoolean(true);
-
- binding.keyBoard.inputButton0.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "0");
- });
- binding.keyBoard.inputButton1.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "1");
- });
- binding.keyBoard.inputButton2.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "2");
- });
- binding.keyBoard.inputButton3.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "3");
- });
- binding.keyBoard.inputButton4.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "4");
- });
- binding.keyBoard.inputButton5.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "5");
- });
- binding.keyBoard.inputButton6.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "6");
- });
- binding.keyBoard.inputButton7.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "7");
- });
- binding.keyBoard.inputButton8.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "8");
- });
- binding.keyBoard.inputButton9.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "9");
- });
- // todo:绑定字母按键
- binding.keyBoard.inputButtonQ.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "Q" : "q");
- });
- binding.keyBoard.inputButtonW.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "W" : "w");
- });
- binding.keyBoard.inputButtonE.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "E" : "e");
- });
- binding.keyBoard.inputButtonR.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "R" : "r");
- });
- binding.keyBoard.inputButtonT.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "T" : "t");
- });
- binding.keyBoard.inputButtonY.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "Y" : "y");
- });
- binding.keyBoard.inputButtonU.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "U" : "u");
- });
- binding.keyBoard.inputButtonI.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "I" : "i");
- });
- binding.keyBoard.inputButtonO.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "O" : "o");
- });
- binding.keyBoard.inputButtonP.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "P" : "p");
- });
- binding.keyBoard.inputButtonA.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "A" : "a");
- });
- binding.keyBoard.inputButtonS.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "S" : "s");
- });
- binding.keyBoard.inputButtonD.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "D" : "d");
- });
- binding.keyBoard.inputButtonF.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "F" : "f");
- });
- binding.keyBoard.inputButtonG.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "G" : "g");
- });
- binding.keyBoard.inputButtonH.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "H" : "h");
- });
- binding.keyBoard.inputButtonJ.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "J" : "j");
- });
- binding.keyBoard.inputButtonK.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "K" : "k");
- });
- binding.keyBoard.inputButtonL.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "L" : "l");
- });
- binding.keyBoard.inputButtonZ.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "Z" : "z");
- });
- binding.keyBoard.inputButtonX.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位!");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "X" : "x");
- });
- binding.keyBoard.inputButtonC.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "C" : "c");
- });
- binding.keyBoard.inputButtonV.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "V" : "v");
- });
- binding.keyBoard.inputButtonB.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "B" : "b");
- });
- binding.keyBoard.inputButtonN.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "N" : "n");
- });
- binding.keyBoard.inputButtonM.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, caseSmallFlag.get() ? "M" : "m");
- });
- // 符号
- binding.keyBoard.symbolButton1.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "-");
- });
- binding.keyBoard.symbolButton2.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "/");
- });
- binding.keyBoard.symbolButton3.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, ":");
- });
- binding.keyBoard.symbolButton4.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "+");
- });
- binding.keyBoard.symbolButton5.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "(");
- });
- binding.keyBoard.symbolButton6.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, ")");
- });
- binding.keyBoard.symbolButton7.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "#");
- });
- binding.keyBoard.symbolButton8.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "@");
- });
- binding.keyBoard.symbolButton9.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "密码最多不能超过16位! ");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, ".");
- });
- binding.keyBoard.symbolButton10.setOnClickListener(v -> {
- if(!hasFocus){
- return;
- }
- int length = binding.editTextTextPersonName5.getText().length();
- if (length >= 16) {
- ToastUtils.make(getContext(), "?");
- return;
- }
- int start = binding.editTextTextPersonName5.getSelectionStart();
- binding.editTextTextPersonName5.getText().insert(start, "!");
- });
- // 大小写按键绑定 默认大写
- binding.keyBoard.inputButtonCaseSmall.setOnClickListener(v -> {
- if (caseSmallFlag.get()) {
- caseSmallFlag.set(false);
- } else {
- caseSmallFlag.set(true);
- }
- binding.keyBoard.inputButtonCaseSmall.setText(caseSmallFlag.get() ? "大写" : "小写");
- // 设置键盘字母大小写
- binding.keyBoard.inputButtonQ.setText(caseSmallFlag.get() ? "Q" : "q");
- binding.keyBoard.inputButtonW.setText(caseSmallFlag.get() ? "W" : "w");
- binding.keyBoard.inputButtonE.setText(caseSmallFlag.get() ? "E" : "e");
- binding.keyBoard.inputButtonR.setText(caseSmallFlag.get() ? "R" : "r");
- binding.keyBoard.inputButtonT.setText(caseSmallFlag.get() ? "T" : "t");
- binding.keyBoard.inputButtonY.setText(caseSmallFlag.get() ? "Y" : "y");
- binding.keyBoard.inputButtonU.setText(caseSmallFlag.get() ? "U" : "u");
- binding.keyBoard.inputButtonI.setText(caseSmallFlag.get() ? "I" : "i");
- binding.keyBoard.inputButtonO.setText(caseSmallFlag.get() ? "O" : "o");
- binding.keyBoard.inputButtonP.setText(caseSmallFlag.get() ? "P" : "p");
- binding.keyBoard.inputButtonA.setText(caseSmallFlag.get() ? "A" : "a");
- binding.keyBoard.inputButtonS.setText(caseSmallFlag.get() ? "S" : "s");
- binding.keyBoard.inputButtonD.setText(caseSmallFlag.get() ? "D" : "d");
- binding.keyBoard.inputButtonF.setText(caseSmallFlag.get() ? "F" : "f");
- binding.keyBoard.inputButtonG.setText(caseSmallFlag.get() ? "G" : "g");
- binding.keyBoard.inputButtonH.setText(caseSmallFlag.get() ? "H" : "h");
- binding.keyBoard.inputButtonJ.setText(caseSmallFlag.get() ? "J" : "j");
- binding.keyBoard.inputButtonK.setText(caseSmallFlag.get() ? "K" : "k");
- binding.keyBoard.inputButtonL.setText(caseSmallFlag.get() ? "L" : "l");
- binding.keyBoard.inputButtonZ.setText(caseSmallFlag.get() ? "Z" : "z");
- binding.keyBoard.inputButtonX.setText(caseSmallFlag.get() ? "X" : "x");
- binding.keyBoard.inputButtonC.setText(caseSmallFlag.get() ? "C" : "c");
- binding.keyBoard.inputButtonV.setText(caseSmallFlag.get() ? "V" : "v");
- binding.keyBoard.inputButtonB.setText(caseSmallFlag.get() ? "B" : "b");
- binding.keyBoard.inputButtonN.setText(caseSmallFlag.get() ? "N" : "n");
- binding.keyBoard.inputButtonM.setText(caseSmallFlag.get() ? "M" : "m");
- });
- binding.keyBoard.inputButtonCancel.setOnClickListener(v -> {
- Editable text = binding.editTextTextPersonName5.getText();
- int start = binding.editTextTextPersonName5.getSelectionStart();
- if (text.length() > 0) {
- if (start > 0) {
- text.delete(start - 1, start);
- }
- binding.editTextTextPersonName5.setText(text, TextView.BufferType.EDITABLE);
- binding.editTextTextPersonName5.setSelection(start - 1 < 0 ? text.length() : start - 1);
- }
- });
- // 长按删除
- binding.keyBoard.inputButtonCancel.setOnLongClickListener(v -> {
- binding.editTextTextPersonName5.getText().clear();
- return false;
- });
- });
- binding.returnBtn.setOnClickListener(view1 -> {
- if (ButtonUtils.isFastClick()) {
- return;
- }
- if (null != timer) {
- timer.cancel();
- }
- NavUtils.navigate(this, R.id.action_sendFragment_to_mainFragment);
- });
- // 默认选中密码输入
- if (!StringUtils.isNullOrEmpty(binding.editTextTextPersonName4.getText().toString())) {
- binding.editTextTextPersonName5.requestFocus();
- } else {
- binding.editTextTextPersonName4.requestFocus();
- }
- }
- /**
- * 隐藏部分信息
- *
- * @param loginPhone 投递员手机号
- * @return 隐藏后的手机号
- */
- private String toHidePhone(String loginPhone) {
- StringBuilder stringBuilder = new StringBuilder();
- char[] chars = loginPhone.toCharArray();
- for (int i = 0; i < chars.length; i++) {
- if (i > 2 && i < 8) {
- stringBuilder.append('*');
- } else {
- stringBuilder.append(chars[i]);
- }
- }
- return stringBuilder.toString();
- }
- @Override
- public void onDestroyView() {
- if (timer != null) {
- timer.cancel();
- timer = null;
- }
- super.onDestroyView();
- binding = null;
- Log.i(TAG, TAG + "被销毁。。。");
- }
- }
|