|
@@ -0,0 +1,1019 @@
|
|
|
|
+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.cherry.sdk.controller.utils.ScanGunKeyEventHelper;
|
|
|
|
+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.ScanGunConstant;
|
|
|
|
+import com.emato.ich.databinding.FragmentInputKeyBoardBinding;
|
|
|
|
+import com.emato.ich.databinding.FragmentMyKeyBoardBinding;
|
|
|
|
+import com.emato.ich.entity.vo.PreparedOrderResponseVo;
|
|
|
|
+import com.emato.ich.entity.vo.PreparedOrderVo;
|
|
|
|
+import com.emato.ich.entity.vo.ResponseData;
|
|
|
|
+import com.emato.ich.local.LocalStorage;
|
|
|
|
+import com.emato.ich.utils.BaseUtils;
|
|
|
|
+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 com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
+
|
|
|
|
+import org.jetbrains.annotations.NotNull;
|
|
|
|
+
|
|
|
|
+import java.io.IOException;
|
|
|
|
+import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
+import java.util.regex.Matcher;
|
|
|
|
+import java.util.regex.Pattern;
|
|
|
|
+
|
|
|
|
+import okhttp3.Call;
|
|
|
|
+import okhttp3.Callback;
|
|
|
|
+import okhttp3.Response;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * 输入投递信息
|
|
|
|
+ */
|
|
|
|
+public class InputInfoKeyBoardFragment extends Fragment {
|
|
|
|
+
|
|
|
|
+ private static final String TAG = "InputInfoFragment";
|
|
|
|
+ private FragmentInputKeyBoardBinding binding;
|
|
|
|
+ private PreparedOrderResponseVo data;
|
|
|
|
+ private final AtomicInteger mailNoLock = new AtomicInteger(1);
|
|
|
|
+ private final AtomicInteger submitLock = new AtomicInteger(1);
|
|
|
|
+ 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 = FragmentInputKeyBoardBinding.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。");
|
|
|
|
+// BaseUtils.disableEditText(binding.delivererPhone);
|
|
|
|
+ BaseUtils.disableEditText(binding.delivererPhoneConfirm);
|
|
|
|
+ BaseUtils.disableEditText(binding.mailNo);
|
|
|
|
+
|
|
|
|
+ try {
|
|
|
|
+ MainActivity activity = (MainActivity) getActivity();
|
|
|
|
+ timer = TimeOutUtils.timeout(activity, InputInfoKeyBoardFragment.this, binding.timeout, 120);
|
|
|
|
+ timer.start();
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ Log.e(TAG, "onViewCreated: 倒计时出现异常! ", e);
|
|
|
|
+ LoggingUtils.sendErrorLog("业务异常: 输入投递信息页面倒计时出现异常! ", e);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Bundle arguments = null;
|
|
|
|
+ String sectionType = null;
|
|
|
|
+ try {
|
|
|
|
+ MainActivity activity = (MainActivity) getActivity();
|
|
|
|
+ arguments = activity.getBundleMap().get(ChooseCabinetFragment.class.getName());
|
|
|
|
+ sectionType = arguments.getString("section_type");
|
|
|
|
+
|
|
|
|
+ // 扫描枪监听 扫描运单号
|
|
|
|
+ activity.scanGunKeyEventHelper = new ScanGunKeyEventHelper(s -> {
|
|
|
|
+ // 扫码成功回调
|
|
|
|
+ Log.d(TAG, "onScanSuccess: " + s);
|
|
|
|
+
|
|
|
|
+ if (!StringUtils.isNullOrEmpty(s)) {
|
|
|
|
+ for (String pattern : ScanGunConstant.getPatterns()) {
|
|
|
|
+ Matcher matcher = Pattern.compile(pattern).matcher(s);
|
|
|
|
+ if (!matcher.matches()) {
|
|
|
|
+ ToastUtils.make(getContext(), "请将条形码置于扫码枪前! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (mailNoLock.get() == 1) {
|
|
|
|
+ Editable text = binding.mailNo.getText();
|
|
|
|
+ text.clear();
|
|
|
|
+ binding.mailNo.setText(s);
|
|
|
|
+ mailNoLock.incrementAndGet();
|
|
|
|
+ // TODO 预定义,实际参数可能不一致 oms获取用户手机号 自动填充
|
|
|
|
+ ICSPClient.getUserPhoneNumber(LocalStorage.getInstance().getSession().getToken(), BaseUtils.getClientId(), s, new Callback() {
|
|
|
|
+ @Override
|
|
|
|
+ public void onFailure(@NotNull Call call, @NotNull IOException e) {
|
|
|
|
+ // 请求失败
|
|
|
|
+ Log.e(TAG, "onFailure: 请求oms获取手机号失败! 网络异常! ", e);
|
|
|
|
+ LoggingUtils.sendErrorLog("业务异常: 请求oms获取手机号失败! 网络异常! ", e);
|
|
|
|
+ ToastUtils.make(getContext(), "服务器异常! 请手动输入!");
|
|
|
|
+ mailNoLock.set(1);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
|
|
|
|
+
|
|
|
|
+ getActivity().runOnUiThread(() -> {
|
|
|
|
+ String parseResponse = ICSPClient.isSuccessfulAndParseResponse(response);
|
|
|
|
+ if (!StringUtils.isNullOrEmpty(parseResponse)) {
|
|
|
|
+ try {
|
|
|
|
+ ResponseData<PreparedOrderResponseVo> responseData = new ObjectMapper().readValue(parseResponse, new TypeReference<ResponseData<PreparedOrderResponseVo>>() {
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ PreparedOrderResponseVo data = responseData.getData();
|
|
|
|
+ if (null != responseData && ICSPConstant.OK.equals(responseData.getCode())) {
|
|
|
|
+ String collectorPhone = data.getCollectorPhone();
|
|
|
|
+ binding.delivererPhoneConfirm.setText(collectorPhone);
|
|
|
|
+ } else {
|
|
|
|
+ ToastUtils.make(getContext(), responseData.getMsg());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
|
+ Log.e(TAG, "onResponse: 服务器响应错误! 自动获取用户手机号失败! ", 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(), "服务器异常!请稍后重试!");
|
|
|
|
+ }
|
|
|
|
+ mailNoLock.set(1);
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ } catch (RuntimeException e) {
|
|
|
|
+ Log.e(TAG, "onViewCreated: InputInfoFragment页面获取ChooseCabinetFragment传值错误! ", e);
|
|
|
|
+ LoggingUtils.sendErrorLog("业务异常: InputInfoFragment页面获取ChooseCabinetFragment传值错误! ", e);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // TODO 离线逻辑, 暂时不做
|
|
|
|
+
|
|
|
|
+ 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}$");
|
|
|
|
+ // 下单逻辑
|
|
|
|
+ String finalSectionType = sectionType;
|
|
|
|
+ if (submitLock.get() == 1) {
|
|
|
|
+ submitLock.incrementAndGet();
|
|
|
|
+ binding.keyBoard.inputButtonConfirm.setOnClickListener(view1 -> {
|
|
|
|
+ Bundle bundle = new Bundle();
|
|
|
|
+ String mailNo = binding.mailNo.getText().toString();
|
|
|
|
+// String phone = binding.delivererPhone.getText().toString();
|
|
|
|
+ String phoneConfirm = binding.delivererPhoneConfirm.getText().toString();
|
|
|
|
+ if (!phonePattern.matcher(phoneConfirm).matches()) {
|
|
|
|
+ ToastUtils.make(getContext(), "请输入正确的手机号!");
|
|
|
|
+ } else if (StringUtils.isNullOrEmpty(mailNo)) {
|
|
|
|
+ ToastUtils.make(getContext(), "运单号不能为空!请扫描运单号!");
|
|
|
|
+ } else {
|
|
|
|
+ // 验证完 预下单
|
|
|
|
+ PreparedOrderVo preparedOrderVo = new PreparedOrderVo();
|
|
|
|
+ preparedOrderVo.setClientId(BaseUtils.getClientId());
|
|
|
|
+ preparedOrderVo.setMailNo(mailNo);
|
|
|
|
+ preparedOrderVo.setCollectorPhone(phoneConfirm);
|
|
|
|
+ preparedOrderVo.setLockerType(finalSectionType);
|
|
|
|
+ preparedOrderVo.setDelivererPhone(LocalStorage.getInstance().getSession().getPhone());
|
|
|
|
+
|
|
|
|
+ // 预下单
|
|
|
|
+ ICSPClient.preparedOrder(LocalStorage.getInstance().getSession().getToken(), preparedOrderVo, 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("业务异常: 预下单失败! call: " + call.timeout().toString(), e);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void onResponse(@NotNull Call call, @NotNull Response response) {
|
|
|
|
+ ((MainActivity) getActivity()).runOnUiThread(() -> {
|
|
|
|
+ try {
|
|
|
|
+ String responseStr = ICSPClient.isSuccessfulAndParseResponse(response);
|
|
|
|
+ if (!StringUtils.isNullOrEmpty(responseStr)) {
|
|
|
|
+ ObjectMapper objectMapper = JacksonUtils.objectmapper;
|
|
|
|
+ ResponseData<PreparedOrderResponseVo> responseData = objectMapper.readValue(responseStr, new TypeReference<ResponseData<PreparedOrderResponseVo>>() {
|
|
|
|
+ });
|
|
|
|
+ data = responseData.getData();
|
|
|
|
+ // 响应信息
|
|
|
|
+ if (responseData.getCode().equals(ICSPConstant.OK)) {
|
|
|
|
+ bundle.putString("preparedOrderResponse", objectMapper.writeValueAsString(data));
|
|
|
|
+ bundle.putString("takeNo", mailNo);
|
|
|
|
+ bundle.putString("sectionType", finalSectionType);
|
|
|
|
+
|
|
|
|
+ // 跳转到确认投递
|
|
|
|
+ try {
|
|
|
|
+ MainActivity activity = (MainActivity) getActivity();
|
|
|
|
+ activity.getBundleMap().put(InputInfoKeyBoardFragment.class.getName(), bundle);
|
|
|
|
+ } catch (RuntimeException e) {
|
|
|
|
+ Log.e(TAG, "onResponse: InputInfoFragment页面获取SendInfoConfirmFragment传值错误! ", e);
|
|
|
|
+ LoggingUtils.sendErrorLog("业务异常: InputInfoFragment页面获取SendInfoConfirmFragment传值错误! ", e);
|
|
|
|
+ }
|
|
|
|
+ if (null != timer) {
|
|
|
|
+ timer.cancel();
|
|
|
|
+ }
|
|
|
|
+ NavUtils.navigate(InputInfoKeyBoardFragment.this, R.id.action_inputInfoFragment_to_sendInfoConfirmFragment);
|
|
|
|
+ }
|
|
|
|
+ Log.i(TAG, "onResponse: ICSP返回码: " + responseData.getCode() + ", 返回信息: " + responseData.getMsg());
|
|
|
|
+ ToastUtils.make(getContext(), responseData.getMsg());
|
|
|
|
+ } else {
|
|
|
|
+ ToastUtils.make(getContext(), "服务器异常!请稍后重试!");
|
|
|
|
+ }
|
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
|
+ Log.e(TAG, "onResponse: 预下单转换成JSON出错! ", e);
|
|
|
|
+ LoggingUtils.sendErrorLog("业务异常: 预下单转换成JSON出错! ", e);
|
|
|
|
+ } catch (RuntimeException e) {
|
|
|
|
+ Log.e(TAG, "onResponse: 预下单失败! ", e);
|
|
|
|
+ LoggingUtils.sendErrorLog("业务异常: 预下单失败! ", e);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 数字输入 5 手机号 4 面单号
|
|
|
|
+
|
|
|
|
+ binding.delivererPhoneConfirm.setOnFocusChangeListener((view1, hasFocus) -> {
|
|
|
|
+ if (hasFocus) {
|
|
|
|
+ binding.keyBoard.inputButton0.setOnClickListener(v -> {
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ ToastUtils.make(getContext(), "手机号不能超过11位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "0");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton1.setOnClickListener(v -> {
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ ToastUtils.make(getContext(), "手机号不能超过11位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "1");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton2.setOnClickListener(v -> {
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ ToastUtils.make(getContext(), "手机号不能超过11位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "2");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton3.setOnClickListener(v -> {
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ ToastUtils.make(getContext(), "手机号不能超过11位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "3");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton4.setOnClickListener(v -> {
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ ToastUtils.make(getContext(), "手机号不能超过11位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "4");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton5.setOnClickListener(v -> {
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ ToastUtils.make(getContext(), "手机号不能超过11位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "5");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton6.setOnClickListener(v -> {
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ ToastUtils.make(getContext(), "手机号不能超过11位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "6");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton7.setOnClickListener(v -> {
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ ToastUtils.make(getContext(), "手机号不能超过11位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "7");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton8.setOnClickListener(v -> {
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ ToastUtils.make(getContext(), "手机号不能超过11位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "8");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton9.setOnClickListener(v -> {
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ ToastUtils.make(getContext(), "手机号不能超过11位");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "9");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonCancel.setOnClickListener(v -> {
|
|
|
|
+ Editable text = binding.delivererPhoneConfirm.getText();
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ if (text.length() > 0) {
|
|
|
|
+ if (start > 0) {
|
|
|
|
+ text.delete(start - 1, start);
|
|
|
|
+ }
|
|
|
|
+ binding.delivererPhoneConfirm.setText(text, TextView.BufferType.EDITABLE);
|
|
|
|
+ binding.delivererPhoneConfirm.setSelection(start - 1 < 0 ? text.length() : start - 1);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ // 长按删除
|
|
|
|
+ binding.keyBoard.inputButtonCancel.setOnLongClickListener(v -> {
|
|
|
|
+ binding.delivererPhoneConfirm.getText().clear();
|
|
|
|
+ return false;
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ binding.mailNo.setOnFocusChangeListener((view1, hasFocus) -> {
|
|
|
|
+ AtomicBoolean caseSmallFlag = new AtomicBoolean(true);
|
|
|
|
+
|
|
|
|
+ binding.keyBoard.inputButton0.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "0");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton1.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "1");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton2.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "2");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton3.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "3");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton4.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "4");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton5.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "5");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton6.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "6");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton7.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "7");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton8.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "8");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButton9.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "9");
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ // todo:绑定字母按键
|
|
|
|
+ binding.keyBoard.inputButtonQ.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "Q" : "q");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonW.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "W" : "w");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonE.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "E" : "e");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonR.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "R" : "r");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonT.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "T" : "t");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonY.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "Y" : "y");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonU.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "U" : "u");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonI.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "I" : "i");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonO.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "O" : "o");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonP.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "P" : "p");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonA.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "A" : "a");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonS.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "S" : "s");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonD.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "D" : "d");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonF.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "F" : "f");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonG.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "G" : "g");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonH.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "H" : "h");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonJ.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "J" : "j");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonK.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "K" : "k");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonL.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "L" : "l");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonZ.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "Z" : "z");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonX.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位!");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "X" : "x");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonC.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "C" : "c");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonV.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "V" : "v");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonB.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "B" : "b");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonN.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "N" : "n");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.inputButtonM.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, caseSmallFlag.get() ? "M" : "m");
|
|
|
|
+ });
|
|
|
|
+ // 符号
|
|
|
|
+ binding.keyBoard.symbolButton1.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "-");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.symbolButton2.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "/");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.symbolButton3.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, ":");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.symbolButton4.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "+");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.symbolButton5.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "(");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.symbolButton6.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, ")");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.symbolButton7.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "#");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.symbolButton8.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "@");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.symbolButton9.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "面单号最多不能超过16位! ");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, ".");
|
|
|
|
+ });
|
|
|
|
+ binding.keyBoard.symbolButton10.setOnClickListener(v -> {
|
|
|
|
+ if(!hasFocus){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int length = binding.mailNo.getText().length();
|
|
|
|
+ if (length >= 16) {
|
|
|
|
+ ToastUtils.make(getContext(), "?");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.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.mailNo.getText();
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ if (text.length() > 0) {
|
|
|
|
+ if (start > 0) {
|
|
|
|
+ text.delete(start - 1, start);
|
|
|
|
+ }
|
|
|
|
+ binding.mailNo.setText(text, TextView.BufferType.EDITABLE);
|
|
|
|
+ binding.mailNo.setSelection(start - 1 < 0 ? text.length() : start - 1);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ // 长按删除
|
|
|
|
+ binding.keyBoard.inputButtonCancel.setOnLongClickListener(v -> {
|
|
|
|
+ binding.mailNo.getText().clear();
|
|
|
|
+ return false;
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ binding.returnBtn.setOnClickListener(view1 -> {
|
|
|
|
+ if (null != timer) {
|
|
|
|
+ timer.cancel();
|
|
|
|
+ }
|
|
|
|
+ NavUtils.navigate(this, R.id.action_inputInfoFragment_to_chooseCabinetFragment);
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ // 默认选中运单号输入框
|
|
|
|
+ if (!StringUtils.isNullOrEmpty(binding.mailNo.getText().toString())) {
|
|
|
|
+ binding.delivererPhoneConfirm.requestFocus();
|
|
|
|
+ } else {
|
|
|
|
+ binding.mailNo.requestFocus();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void extracted(AtomicBoolean caseSmallFlag) {
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ public PreparedOrderResponseVo getData() {
|
|
|
|
+ return data;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void onDestroy() {
|
|
|
|
+ if (timer != null) {
|
|
|
|
+ timer.cancel();
|
|
|
|
+ timer = null;
|
|
|
|
+ }
|
|
|
|
+ super.onDestroy();
|
|
|
|
+ binding = null;
|
|
|
|
+ Log.i(TAG, TAG + "被销毁。。。");
|
|
|
|
+ }
|
|
|
|
+}
|