SendSuccessFragment.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. package com.emato.ich.fragment;
  2. import android.os.Bundle;
  3. import android.os.CountDownTimer;
  4. import com.emato.ich.utils.Log;
  5. import android.view.LayoutInflater;
  6. import android.view.View;
  7. import android.view.ViewGroup;
  8. import androidx.annotation.NonNull;
  9. import androidx.annotation.Nullable;
  10. import androidx.fragment.app.Fragment;
  11. import androidx.navigation.fragment.NavHostFragment;
  12. import com.emato.ich.MainActivity;
  13. import com.emato.ich.R;
  14. import com.emato.ich.databinding.FragmentSendSuccessBinding;
  15. import com.emato.ich.local.LocalStorage;
  16. import com.emato.ich.utils.ButtonUtils;
  17. import com.emato.ich.utils.LoggingUtils;
  18. import com.emato.ich.utils.NavUtils;
  19. import com.emato.ich.utils.TimeOutUtils;
  20. import org.jetbrains.annotations.NotNull;
  21. /**
  22. * 投递成功页面
  23. */
  24. public class SendSuccessFragment extends Fragment {
  25. private static final String TAG = SendSuccessFragment.class.getName();
  26. private FragmentSendSuccessBinding binding;
  27. private CountDownTimer timer;
  28. private long start;
  29. @Nullable
  30. @org.jetbrains.annotations.Nullable
  31. @Override
  32. public View onCreateView(@NonNull @NotNull LayoutInflater inflater, @Nullable @org.jetbrains.annotations.Nullable ViewGroup container, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
  33. start = System.currentTimeMillis();
  34. binding = FragmentSendSuccessBinding.inflate(inflater, container, false);
  35. return binding.getRoot();
  36. }
  37. public void onViewCreated(@NonNull @NotNull View view, @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) {
  38. long end = System.currentTimeMillis();
  39. Log.i(TAG, TAG + "页面渲染速度为" + (end - start) + "ms。");
  40. // ColorConstant.setButtonColor(binding.returnMainBtn, ColorConstant.RETURN_BUTTON_BG_COLOR);
  41. try {
  42. MainActivity activity = ((MainActivity) getActivity());
  43. timer = TimeOutUtils.timeout(activity, SendSuccessFragment.this, binding.timeout, 120);
  44. timer.start();
  45. } catch (Exception e) {
  46. Log.e(TAG, "onViewCreated: 倒计时出现异常! ", e);
  47. LoggingUtils.sendErrorLog("业务异常: 投递成功页面倒计时出现异常! ", e);
  48. }
  49. // 继续投递
  50. binding.continueSendBtn.setOnClickListener(view1 -> {
  51. if (ButtonUtils.isFastClick()) {
  52. return;
  53. }
  54. if (null != timer) {
  55. timer.cancel();
  56. }
  57. // 继续投递重新计算异常处理次数
  58. LocalStorage.getInstance().getSession().setException(true);
  59. NavUtils.navigate(this, R.id.action_sendSuccessFragment_to_chooseCabinetFragment);
  60. });
  61. // 退出账号
  62. binding.exitAccountBtn.setOnClickListener(view1 -> {
  63. if (ButtonUtils.isFastClick()) {
  64. return;
  65. }
  66. // 清空Session
  67. MainActivity activity = (MainActivity) getActivity();
  68. LocalStorage.getInstance().cleanSession(activity, false);
  69. if (null != timer) {
  70. timer.cancel();
  71. }
  72. NavUtils.navigate(this, R.id.action_sendSuccessFragment_to_mainFragment);
  73. });
  74. binding.returnMainBtn.setOnClickListener(view1 -> {
  75. if (ButtonUtils.isFastClick()) {
  76. return;
  77. }
  78. if (null != timer) {
  79. timer.cancel();
  80. }
  81. MainActivity activity = (MainActivity) getActivity();
  82. LocalStorage.getInstance().cleanSession(activity, false);
  83. NavUtils.navigate(this, R.id.action_sendSuccessFragment_to_mainFragment);
  84. });
  85. }
  86. @Override
  87. public void onDestroy() {
  88. if (timer != null) {
  89. timer.cancel();
  90. timer = null;
  91. }
  92. super.onDestroy();
  93. binding = null;
  94. Log.i(TAG, TAG + "被销毁。。。");
  95. }
  96. }