ChoiceAuthActivity.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. package xn.xxp.home.auth;
  2. import android.content.Intent;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import androidx.annotation.NonNull;
  6. import androidx.fragment.app.FragmentManager;
  7. import com.blankj.utilcode.util.ActivityUtils;
  8. import com.blankj.utilcode.util.FragmentUtils;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11. import core.ui.activity.BaseSignActivity;
  12. import http.vo.response.UserVo;
  13. import xn.xxp.HomeActivity;
  14. import xn.xxp.R;
  15. import xn.xxp.app.LabApp;
  16. import xn.xxp.app.SyncFaceTool;
  17. import xn.xxp.databinding.ActivityAuthChoiceBinding;
  18. import xn.xxp.home.AccessVerify;
  19. import xn.xxp.home.auth.fragment.CardAuthFragment;
  20. import xn.xxp.home.auth.fragment.LzFaceAuthFragment;
  21. import xn.xxp.home.auth.fragment.QrAuthFragment;
  22. import xn.xxp.home.notice.NoticeListActivity;
  23. import xn.xxp.main.MainActivity;
  24. import xn.xxp.room.RoomTool;
  25. import xn.xxp.room.bean.DeviceConfig;
  26. import xn.xxp.room.bean.LabConfig;
  27. import xn.xxp.room.bean.NoticeSummary;
  28. import xn.xxp.room.dao.NoticeSummaryDao;
  29. import xn.xxp.utils.Tool;
  30. import xn.xxp.widget.ITitleBar;
  31. import xn.xxp.widget.NavViewCompat;
  32. public class ChoiceAuthActivity extends BaseSignActivity<ActivityAuthChoiceBinding> {
  33. private String accessVerify;
  34. private FragmentManager fragmentManager;
  35. private LabConfig labConfig;
  36. private DeviceConfig deviceConfig;
  37. @Override
  38. public ITitleBar getMTitleBar() {
  39. return null;
  40. }
  41. @Override
  42. public NavViewCompat getMNavView() {
  43. return binding.navView;
  44. }
  45. @Override
  46. protected boolean enabledBackCountDown() {
  47. return true;
  48. }
  49. @Override
  50. protected ActivityAuthChoiceBinding createViewBinding() {
  51. return ActivityAuthChoiceBinding.inflate(getLayoutInflater());
  52. }
  53. @Override
  54. protected void initViews(Bundle savedInstanceState) {
  55. super.initViews(savedInstanceState);
  56. binding.titleBar.setTitleInfoFromSp();
  57. NoticeSummaryDao noticeSummaryDao = RoomTool.getInstance().noticeSummaryDao();
  58. List<NoticeSummary> noticeSummaryList = noticeSummaryDao.getAll();
  59. if (null == noticeSummaryList) {
  60. noticeSummaryList = new ArrayList<>();
  61. }
  62. binding.titleBar.updateNotice(noticeSummaryList);
  63. deviceConfig = RoomTool.getInstance().deviceConfigDao().getDeviceConfig();
  64. labConfig = RoomTool.getInstance().labConfigDao().getLabConfig();
  65. String access = getIntent().getStringExtra("access");
  66. accessVerify = null == access ? AccessVerify.NORMAL.getType() : access;
  67. fragmentManager = getSupportFragmentManager();
  68. FragmentUtils.add(fragmentManager, new LzFaceAuthFragment(), R.id.container);
  69. // 切换为人脸
  70. binding.faceAuth.setOnClickListener(new View.OnClickListener() {
  71. @Override
  72. public void onClick(View v) {
  73. if (!(FragmentUtils.getTop(fragmentManager) instanceof LzFaceAuthFragment)) {
  74. FragmentUtils.replace(fragmentManager, new LzFaceAuthFragment(), R.id.container);
  75. }
  76. }
  77. });
  78. // 切换为刷卡
  79. binding.cardAuth.setOnClickListener(new View.OnClickListener() {
  80. @Override
  81. public void onClick(View v) {
  82. if (!(FragmentUtils.getTop(fragmentManager) instanceof CardAuthFragment)) {
  83. FragmentUtils.replace(fragmentManager, new CardAuthFragment(), R.id.container);
  84. }
  85. }
  86. });
  87. // 切换为扫码
  88. // binding.qrAuth.setOnClickListener(new View.OnClickListener() {
  89. // @Override
  90. // public void onClick(View v) {
  91. // if (!(FragmentUtils.getTop(fragmentManager) instanceof QrAuthFragment)) {
  92. // FragmentUtils.replace(fragmentManager, new QrAuthFragment(), R.id.container);
  93. // }
  94. // }
  95. // });
  96. }
  97. public void authSuccess(AuthType authType, UserVo user) {
  98. LabApp.userVo = user;
  99. if (accessVerify.equals(AccessVerify.NORMAL.getType())) {
  100. callMagneticDoorOpenApi(authType.getType());
  101. Intent getIntent = new Intent(ChoiceAuthActivity.this, MainActivity.class);
  102. getIntent.putExtra("authType", authType.name());
  103. startActivity(getIntent);
  104. finish();
  105. } else if (accessVerify.equals(AccessVerify.SIGN_IN.getType())) {
  106. dispatchSignIn(authType);
  107. } else if (accessVerify.equals(AccessVerify.SIGN_OUT.getType())) {
  108. dispatchSignOut();
  109. } else if (accessVerify.equals(AccessVerify.JUST_OPEN_DOOR.getType())) {
  110. Tool.INSTANCE.openDoor(LabApp.userVo.userId, authType);
  111. ActivityUtils.finishToActivity(HomeActivity.class, false);
  112. }
  113. }
  114. @Override
  115. protected void onSignInFinish(boolean completed, @NonNull AuthType authType) {
  116. super.onSignInFinish(completed, authType);
  117. if (completed) {
  118. Tool.INSTANCE.openDoor(LabApp.userVo.userId, authType);
  119. LabApp.userVo = null;
  120. }
  121. finish();
  122. }
  123. @Override
  124. protected void onSignOutFinish(boolean completed) {
  125. super.onSignOutFinish(completed);
  126. if (completed) LabApp.userVo = null;
  127. finish();
  128. }
  129. }