|
@@ -1,9 +1,9 @@
|
|
package com.emato.ich.fragment;
|
|
package com.emato.ich.fragment;
|
|
|
|
|
|
import android.os.Bundle;
|
|
import android.os.Bundle;
|
|
|
|
+import android.os.CountDownTimer;
|
|
import android.text.Editable;
|
|
import android.text.Editable;
|
|
import android.util.Log;
|
|
import android.util.Log;
|
|
-import android.view.KeyEvent;
|
|
|
|
import android.view.LayoutInflater;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.view.ViewGroup;
|
|
@@ -12,10 +12,8 @@ import android.widget.TextView;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.fragment.app.Fragment;
|
|
import androidx.fragment.app.Fragment;
|
|
-import androidx.fragment.app.FragmentActivity;
|
|
|
|
import androidx.navigation.fragment.NavHostFragment;
|
|
import androidx.navigation.fragment.NavHostFragment;
|
|
|
|
|
|
-import com.cherry.sdk.controller.callback.OnScanListen;
|
|
|
|
import com.cherry.sdk.controller.utils.ScanGunKeyEventHelper;
|
|
import com.cherry.sdk.controller.utils.ScanGunKeyEventHelper;
|
|
import com.emato.ich.MainActivity;
|
|
import com.emato.ich.MainActivity;
|
|
import com.emato.ich.R;
|
|
import com.emato.ich.R;
|
|
@@ -27,7 +25,9 @@ import com.emato.ich.entity.vo.PreparedOrderResponseVo;
|
|
import com.emato.ich.entity.vo.PreparedOrderVo;
|
|
import com.emato.ich.entity.vo.PreparedOrderVo;
|
|
import com.emato.ich.local.LocalStorage;
|
|
import com.emato.ich.local.LocalStorage;
|
|
import com.emato.ich.utils.BaseUtils;
|
|
import com.emato.ich.utils.BaseUtils;
|
|
|
|
+import com.emato.ich.utils.JacksonUtils;
|
|
import com.emato.ich.utils.StringUtils;
|
|
import com.emato.ich.utils.StringUtils;
|
|
|
|
+import com.emato.ich.utils.TimeOutUtils;
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
@@ -36,8 +36,8 @@ import com.google.android.material.snackbar.Snackbar;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
-import java.util.concurrent.CountDownLatch;
|
|
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
|
+import java.util.concurrent.atomic.AtomicInteger;
|
|
import java.util.regex.Pattern;
|
|
import java.util.regex.Pattern;
|
|
|
|
|
|
import okhttp3.Call;
|
|
import okhttp3.Call;
|
|
@@ -52,6 +52,9 @@ public class InputInfoFragment extends Fragment {
|
|
private static final String TAG = "InputInfoFragment";
|
|
private static final String TAG = "InputInfoFragment";
|
|
private FragmentInputInfoBinding binding;
|
|
private FragmentInputInfoBinding binding;
|
|
private PreparedOrderResponseVo data;
|
|
private PreparedOrderResponseVo data;
|
|
|
|
+ private volatile AtomicInteger mailNoLock = new AtomicInteger(1);
|
|
|
|
+ private volatile AtomicInteger submitLock = new AtomicInteger(1);
|
|
|
|
+ private CountDownTimer timer;
|
|
|
|
|
|
@Nullable
|
|
@Nullable
|
|
@org.jetbrains.annotations.Nullable
|
|
@org.jetbrains.annotations.Nullable
|
|
@@ -65,10 +68,18 @@ public class InputInfoFragment extends Fragment {
|
|
|
|
|
|
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
|
|
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
|
|
|
|
|
|
- BaseUtils.disableEditText(binding.delivererPhone);
|
|
|
|
|
|
+// BaseUtils.disableEditText(binding.delivererPhone);
|
|
BaseUtils.disableEditText(binding.delivererPhoneConfirm);
|
|
BaseUtils.disableEditText(binding.delivererPhoneConfirm);
|
|
BaseUtils.disableEditText(binding.mailNo);
|
|
BaseUtils.disableEditText(binding.mailNo);
|
|
|
|
|
|
|
|
+ try {
|
|
|
|
+ MainActivity activity = (MainActivity) getActivity();
|
|
|
|
+ timer = TimeOutUtils.timeout(activity, InputInfoFragment.this, binding.timeout, 120);
|
|
|
|
+ timer.start();
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ Log.e(TAG, "onViewCreated: 倒计时出现异常! ", e);
|
|
|
|
+ }
|
|
|
|
+
|
|
Bundle arguments = null;
|
|
Bundle arguments = null;
|
|
String sectionType = null;
|
|
String sectionType = null;
|
|
try {
|
|
try {
|
|
@@ -80,224 +91,278 @@ public class InputInfoFragment extends Fragment {
|
|
activity.scanGunKeyEventHelper = new ScanGunKeyEventHelper(s -> {
|
|
activity.scanGunKeyEventHelper = new ScanGunKeyEventHelper(s -> {
|
|
// 扫码成功回调
|
|
// 扫码成功回调
|
|
Log.d(TAG, "onScanSuccess: " + s);
|
|
Log.d(TAG, "onScanSuccess: " + s);
|
|
- binding.mailNo.setText(s);
|
|
|
|
-
|
|
|
|
- // TODO 预定义,实际参数可能不一致 oms获取用户手机号 自动填充
|
|
|
|
- /*ICSPClient.getUserPhoneNumber(LocalStorage.getInstance().getSession().getToken(), BaseUtils.getClientId(), s, new Callback() {
|
|
|
|
- @Override
|
|
|
|
- public void onFailure(@NotNull Call call, @NotNull IOException e) {
|
|
|
|
- // 请求失败
|
|
|
|
- Snackbar.make(view, "服务器异常! 请手动输入! ", Snackbar.LENGTH_LONG).show();
|
|
|
|
- }
|
|
|
|
|
|
|
|
- @Override
|
|
|
|
- public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
|
|
|
|
|
|
+ if (mailNoLock.get() == 1) {
|
|
|
|
+ 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) {
|
|
|
|
+ // 请求失败
|
|
|
|
+ Snackbar.make(view, "服务器异常! 请手动输入! ", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void onResponse(@NotNull Call call, @NotNull Response response) throws IOException {
|
|
|
|
+
|
|
|
|
+ getActivity().runOnUiThread(() -> {
|
|
|
|
+ String parseResponse = ICSPClient.isSuccessfulAndParseResponse(response);
|
|
|
|
+ try {
|
|
|
|
+ ResponseData<PreparedOrderResponseVo> responseData = new ObjectMapper().readValue(parseResponse, new TypeReference<ResponseData<PreparedOrderResponseVo>>() {
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ PreparedOrderResponseVo data = responseData.getData();
|
|
|
|
+ if (null != responseData && ICSPResponseCodeEnum.OK.getCode().equals(responseData.getCode())) {
|
|
|
|
+ String collectorPhone = data.getCollectorPhone();
|
|
|
|
+ binding.delivererPhoneConfirm.setText(collectorPhone);
|
|
|
|
+ }
|
|
|
|
|
|
- getActivity().runOnUiThread(() -> {
|
|
|
|
- String parseResponse = ICSPClient.isSuccessfulAndParseResponse(response);
|
|
|
|
- try {
|
|
|
|
- ResponseData<PreparedOrderResponseVo> responseData = new ObjectMapper().readValue(parseResponse, new TypeReference<ResponseData<PreparedOrderResponseVo>>() {
|
|
|
|
- });
|
|
|
|
|
|
+ ICSPResponseCodeEnum.responseHint(view, responseData);
|
|
|
|
|
|
- PreparedOrderResponseVo data = responseData.getData();
|
|
|
|
- if (null != responseData && ICSPResponseCodeEnum.OK.getCode().equals(responseData.getCode())) {
|
|
|
|
- String collectorPhone = data.getCollectorPhone();
|
|
|
|
- binding.delivererPhone.setText(collectorPhone);
|
|
|
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
|
+ Log.e(TAG, "onResponse: 服务器响应错误! 自动获取用户手机号失败! ", e);
|
|
|
|
+ } catch (RuntimeException e) {
|
|
|
|
+ Log.e(TAG, "onResponse: 获取用户手机号未知错误! ", e);
|
|
}
|
|
}
|
|
|
|
+ });
|
|
|
|
|
|
- ICSPResponseCodeEnum.responseHint(view, responseData);
|
|
|
|
-
|
|
|
|
- } catch (JsonProcessingException e) {
|
|
|
|
- Log.e(TAG, "onResponse: 服务器响应错误! 自动获取用户手机号失败! ", e);
|
|
|
|
- } catch (RuntimeException e) {
|
|
|
|
- Log.e(TAG, "onResponse: 获取用户手机号未知错误! ", e);
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- });*/
|
|
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
});
|
|
});
|
|
|
|
|
|
} catch (RuntimeException e) {
|
|
} catch (RuntimeException e) {
|
|
Log.e(TAG, "onViewCreated: InputInfoFragment页面获取ChooseCabinetFragment传值错误! ", e);
|
|
Log.e(TAG, "onViewCreated: InputInfoFragment页面获取ChooseCabinetFragment传值错误! ", e);
|
|
}
|
|
}
|
|
|
|
|
|
- // TODO 根据运单号调用ICSP查询oms接口, 查询取件人手机号, 暂时不做
|
|
|
|
-
|
|
|
|
// TODO 离线逻辑, 暂时不做
|
|
// 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}$");
|
|
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;
|
|
String finalSectionType = sectionType;
|
|
- binding.buttonConfirm.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(phone).matches() || !phonePattern.matcher(phoneConfirm).matches()) {
|
|
|
|
- Snackbar.make(view1, "请输入正确的手机号!", Snackbar.LENGTH_LONG).show();
|
|
|
|
- } else if (!phone.equals(phoneConfirm)) {
|
|
|
|
- Snackbar.make(view1, "两次输入的手机号不相同!", Snackbar.LENGTH_LONG).show();
|
|
|
|
- } else if (StringUtils.isNullOrEmpty(mailNo)) {
|
|
|
|
- Snackbar.make(view1, "运单号不能为空!请扫描运单号!", Snackbar.LENGTH_LONG).show();
|
|
|
|
- } else {
|
|
|
|
- // 验证完 预下单
|
|
|
|
- PreparedOrderVo preparedOrderVo = new PreparedOrderVo();
|
|
|
|
- preparedOrderVo.setClientId(BaseUtils.getClientId());
|
|
|
|
- preparedOrderVo.setMailNo(mailNo);
|
|
|
|
- preparedOrderVo.setCollectorPhone(phone);
|
|
|
|
- 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 预下单调用失败
|
|
|
|
- Snackbar.make(view, "请求服务器失败!网络异常!", Snackbar.LENGTH_LONG).show();
|
|
|
|
- Log.e(TAG, "onFailure: 预下单失败! call: " + call.timeout().toString(), e);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public void onResponse(@NotNull Call call, @NotNull Response response) {
|
|
|
|
- ((MainActivity) getActivity()).runOnUiThread(() -> {
|
|
|
|
- try {
|
|
|
|
- String responseStr = ICSPClient.isSuccessfulAndParseResponse(response);
|
|
|
|
- ObjectMapper objectMapper = new ObjectMapper();
|
|
|
|
- ResponseData<PreparedOrderResponseVo> responseData = objectMapper.readValue(responseStr, new TypeReference<ResponseData<PreparedOrderResponseVo>>() {});
|
|
|
|
- data = responseData.getData();
|
|
|
|
- // 响应信息
|
|
|
|
- if (responseData.getCode().equals(ICSPResponseCodeEnum.OK.getCode())) {
|
|
|
|
- bundle.putString("preparedOrderResponse", objectMapper.writeValueAsString(data));
|
|
|
|
- bundle.putString("takeNo", mailNo);
|
|
|
|
- bundle.putString("sectionType", finalSectionType);
|
|
|
|
-
|
|
|
|
- // 跳转到确认投递
|
|
|
|
- try {
|
|
|
|
- MainActivity activity = (MainActivity) getActivity();
|
|
|
|
- activity.getBundleMap().put(InputInfoFragment.class.getName(), bundle);
|
|
|
|
- } catch (RuntimeException e) {
|
|
|
|
- Log.e(TAG, "onResponse: InputInfoFragment页面获取SendInfoConfirmFragment传值错误! ", e);
|
|
|
|
|
|
+ if (submitLock.get() == 1) {
|
|
|
|
+ submitLock.incrementAndGet();
|
|
|
|
+ binding.buttonConfirm.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()) {
|
|
|
|
+ Snackbar.make(view1, "请输入正确的手机号!", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ } else if (StringUtils.isNullOrEmpty(mailNo)) {
|
|
|
|
+ Snackbar.make(view1, "运单号不能为空!请扫描运单号!", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ } 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 预下单调用失败
|
|
|
|
+ Snackbar.make(view, "请求服务器失败!网络异常!", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ Log.e(TAG, "onFailure: 预下单失败! call: " + call.timeout().toString(), e);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void onResponse(@NotNull Call call, @NotNull Response response) {
|
|
|
|
+ ((MainActivity) getActivity()).runOnUiThread(() -> {
|
|
|
|
+ try {
|
|
|
|
+ String responseStr = ICSPClient.isSuccessfulAndParseResponse(response);
|
|
|
|
+ ObjectMapper objectMapper = JacksonUtils.objectmapper;
|
|
|
|
+ ResponseData<PreparedOrderResponseVo> responseData = objectMapper.readValue(responseStr, new TypeReference<ResponseData<PreparedOrderResponseVo>>() {});
|
|
|
|
+ data = responseData.getData();
|
|
|
|
+ // 响应信息
|
|
|
|
+ if (responseData.getCode().equals(ICSPResponseCodeEnum.OK.getCode())) {
|
|
|
|
+ bundle.putString("preparedOrderResponse", objectMapper.writeValueAsString(data));
|
|
|
|
+ bundle.putString("takeNo", mailNo);
|
|
|
|
+ bundle.putString("sectionType", finalSectionType);
|
|
|
|
+
|
|
|
|
+ // 跳转到确认投递
|
|
|
|
+ try {
|
|
|
|
+ MainActivity activity = (MainActivity) getActivity();
|
|
|
|
+ activity.getBundleMap().put(InputInfoFragment.class.getName(), bundle);
|
|
|
|
+ } catch (RuntimeException e) {
|
|
|
|
+ Log.e(TAG, "onResponse: InputInfoFragment页面获取SendInfoConfirmFragment传值错误! ", e);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ NavHostFragment.findNavController(InputInfoFragment.this).navigate(R.id.action_inputInfoFragment_to_sendInfoConfirmFragment);
|
|
|
|
+ } else {
|
|
|
|
+ ICSPResponseCodeEnum.responseHint(view, responseData);
|
|
|
|
+ Log.e(TAG, "onResponse: ICSP返回码: " + responseData.getCode() + ", 返回信息: " + responseData.getMsg(), new RuntimeException("系统异常"));
|
|
}
|
|
}
|
|
-
|
|
|
|
- NavHostFragment.findNavController(InputInfoFragment.this).navigate(R.id.action_inputInfoFragment_to_sendInfoConfirmFragment);
|
|
|
|
- } else {
|
|
|
|
- ICSPResponseCodeEnum.responseHint(view, responseData);
|
|
|
|
- Log.e(TAG, "onResponse: ICSP返回码: " + responseData.getCode() + ", 返回信息: " + responseData.getMsg(), new RuntimeException("系统异常"));
|
|
|
|
|
|
+ } catch (JsonProcessingException e) {
|
|
|
|
+ Log.e(TAG, "onResponse: 预下单转换成JSON出错! ", e);
|
|
|
|
+ } catch (RuntimeException e) {
|
|
|
|
+ Log.e(TAG, "onResponse: 预下单失败! ", e);
|
|
}
|
|
}
|
|
- } catch (JsonProcessingException e) {
|
|
|
|
- Log.e(TAG, "onResponse: 预下单转换成JSON出错! ", e);
|
|
|
|
- } catch (RuntimeException e) {
|
|
|
|
- Log.e(TAG, "onResponse: 预下单失败! ", e);
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
|
|
// 数字输入 5 手机号 4 密码
|
|
// 数字输入 5 手机号 4 密码
|
|
- binding.delivererPhone.setOnFocusChangeListener((view1, hasFocus) -> {
|
|
|
|
|
|
+
|
|
|
|
+ binding.delivererPhoneConfirm.setOnFocusChangeListener((view1, hasFocus) -> {
|
|
if (hasFocus) {
|
|
if (hasFocus) {
|
|
binding.inputButton0.setOnClickListener(v -> {
|
|
binding.inputButton0.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhone.getSelectionStart();
|
|
|
|
- binding.delivererPhone.getText().insert(start, "0");
|
|
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ Snackbar.make(view1, "手机号不能超过11位", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "0");
|
|
});
|
|
});
|
|
binding.inputButton1.setOnClickListener(v -> {
|
|
binding.inputButton1.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhone.getSelectionStart();
|
|
|
|
- binding.delivererPhone.getText().insert(start, "1");
|
|
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ Snackbar.make(view1, "手机号不能超过11位", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "1");
|
|
});
|
|
});
|
|
binding.inputButton2.setOnClickListener(v -> {
|
|
binding.inputButton2.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhone.getSelectionStart();
|
|
|
|
- binding.delivererPhone.getText().insert(start, "2");
|
|
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ Snackbar.make(view1, "手机号不能超过11位", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "2");
|
|
});
|
|
});
|
|
binding.inputButton3.setOnClickListener(v -> {
|
|
binding.inputButton3.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhone.getSelectionStart();
|
|
|
|
- binding.delivererPhone.getText().insert(start, "3");
|
|
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ Snackbar.make(view1, "手机号不能超过11位", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "3");
|
|
});
|
|
});
|
|
binding.inputButton4.setOnClickListener(v -> {
|
|
binding.inputButton4.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhone.getSelectionStart();
|
|
|
|
- binding.delivererPhone.getText().insert(start, "4");
|
|
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ Snackbar.make(view1, "手机号不能超过11位", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "4");
|
|
});
|
|
});
|
|
binding.inputButton5.setOnClickListener(v -> {
|
|
binding.inputButton5.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhone.getSelectionStart();
|
|
|
|
- binding.delivererPhone.getText().insert(start, "5");
|
|
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ Snackbar.make(view1, "手机号不能超过11位", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "5");
|
|
});
|
|
});
|
|
binding.inputButton6.setOnClickListener(v -> {
|
|
binding.inputButton6.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhone.getSelectionStart();
|
|
|
|
- binding.delivererPhone.getText().insert(start, "6");
|
|
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ Snackbar.make(view1, "手机号不能超过11位", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "6");
|
|
});
|
|
});
|
|
binding.inputButton7.setOnClickListener(v -> {
|
|
binding.inputButton7.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhone.getSelectionStart();
|
|
|
|
- binding.delivererPhone.getText().insert(start, "7");
|
|
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ Snackbar.make(view1, "手机号不能超过11位", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "7");
|
|
});
|
|
});
|
|
binding.inputButton8.setOnClickListener(v -> {
|
|
binding.inputButton8.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhone.getSelectionStart();
|
|
|
|
- binding.delivererPhone.getText().insert(start, "8");
|
|
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ Snackbar.make(view1, "手机号不能超过11位", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "8");
|
|
});
|
|
});
|
|
binding.inputButton9.setOnClickListener(v -> {
|
|
binding.inputButton9.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhone.getSelectionStart();
|
|
|
|
- binding.delivererPhone.getText().insert(start, "9");
|
|
|
|
|
|
+ int length = binding.delivererPhoneConfirm.getText().length();
|
|
|
|
+ if (length >= 11) {
|
|
|
|
+ Snackbar.make(view1, "手机号不能超过11位", Snackbar.LENGTH_LONG).show();
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
+ binding.delivererPhoneConfirm.getText().insert(start, "9");
|
|
});
|
|
});
|
|
binding.inputButtonCancel.setOnClickListener(v -> {
|
|
binding.inputButtonCancel.setOnClickListener(v -> {
|
|
- Editable text = binding.delivererPhone.getText();
|
|
|
|
|
|
+ Editable text = binding.delivererPhoneConfirm.getText();
|
|
if (text.length() > 0) {
|
|
if (text.length() > 0) {
|
|
text.delete(text.length()-1, text.length());
|
|
text.delete(text.length()-1, text.length());
|
|
- binding.delivererPhone.setText(text, TextView.BufferType.EDITABLE);
|
|
|
|
- binding.delivererPhone.setSelection(binding.delivererPhone.getText().length());
|
|
|
|
|
|
+ binding.delivererPhoneConfirm.setText(text, TextView.BufferType.EDITABLE);
|
|
|
|
+ binding.delivererPhoneConfirm.setSelection(binding.delivererPhoneConfirm.getText().length());
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
- binding.delivererPhoneConfirm.setOnFocusChangeListener((view1, hasFocus) -> {
|
|
|
|
|
|
+ binding.mailNo.setOnFocusChangeListener((view1, hasFocus) -> {
|
|
if (hasFocus) {
|
|
if (hasFocus) {
|
|
binding.inputButton0.setOnClickListener(v -> {
|
|
binding.inputButton0.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
- binding.delivererPhoneConfirm.getText().insert(start, "0");
|
|
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "0");
|
|
});
|
|
});
|
|
binding.inputButton1.setOnClickListener(v -> {
|
|
binding.inputButton1.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
- binding.delivererPhoneConfirm.getText().insert(start, "1");
|
|
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "1");
|
|
});
|
|
});
|
|
binding.inputButton2.setOnClickListener(v -> {
|
|
binding.inputButton2.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
- binding.delivererPhoneConfirm.getText().insert(start, "2");
|
|
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "2");
|
|
});
|
|
});
|
|
binding.inputButton3.setOnClickListener(v -> {
|
|
binding.inputButton3.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
- binding.delivererPhoneConfirm.getText().insert(start, "3");
|
|
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "3");
|
|
});
|
|
});
|
|
binding.inputButton4.setOnClickListener(v -> {
|
|
binding.inputButton4.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
- binding.delivererPhoneConfirm.getText().insert(start, "4");
|
|
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "4");
|
|
});
|
|
});
|
|
binding.inputButton5.setOnClickListener(v -> {
|
|
binding.inputButton5.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
- binding.delivererPhoneConfirm.getText().insert(start, "5");
|
|
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "5");
|
|
});
|
|
});
|
|
binding.inputButton6.setOnClickListener(v -> {
|
|
binding.inputButton6.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
- binding.delivererPhoneConfirm.getText().insert(start, "6");
|
|
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "6");
|
|
});
|
|
});
|
|
binding.inputButton7.setOnClickListener(v -> {
|
|
binding.inputButton7.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
- binding.delivererPhoneConfirm.getText().insert(start, "7");
|
|
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "7");
|
|
});
|
|
});
|
|
binding.inputButton8.setOnClickListener(v -> {
|
|
binding.inputButton8.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
- binding.delivererPhoneConfirm.getText().insert(start, "8");
|
|
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "8");
|
|
});
|
|
});
|
|
binding.inputButton9.setOnClickListener(v -> {
|
|
binding.inputButton9.setOnClickListener(v -> {
|
|
- int start = binding.delivererPhoneConfirm.getSelectionStart();
|
|
|
|
- binding.delivererPhoneConfirm.getText().insert(start, "9");
|
|
|
|
|
|
+ int start = binding.mailNo.getSelectionStart();
|
|
|
|
+ binding.mailNo.getText().insert(start, "9");
|
|
});
|
|
});
|
|
binding.inputButtonCancel.setOnClickListener(v -> {
|
|
binding.inputButtonCancel.setOnClickListener(v -> {
|
|
- Editable text = binding.delivererPhoneConfirm.getText();
|
|
|
|
|
|
+ Editable text = binding.mailNo.getText();
|
|
if (text.length() > 0) {
|
|
if (text.length() > 0) {
|
|
text.delete(text.length()-1, text.length());
|
|
text.delete(text.length()-1, text.length());
|
|
- binding.delivererPhoneConfirm.setText(text, TextView.BufferType.EDITABLE);
|
|
|
|
- binding.delivererPhoneConfirm.setSelection(binding.delivererPhoneConfirm.getText().length());
|
|
|
|
|
|
+ binding.mailNo.setText(text, TextView.BufferType.EDITABLE);
|
|
|
|
+ binding.mailNo.setSelection(binding.mailNo.getText().length());
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -315,5 +380,6 @@ public class InputInfoFragment extends Fragment {
|
|
public void onDestroy() {
|
|
public void onDestroy() {
|
|
super.onDestroy();
|
|
super.onDestroy();
|
|
binding = null;
|
|
binding = null;
|
|
|
|
+ timer.cancel();
|
|
}
|
|
}
|
|
}
|
|
}
|