package com.basic.security.fragment; import android.os.SystemClock; import android.widget.TextView; import com.basic.security.R; import com.basic.security.base.BaseApplication; import com.basic.security.base.BaseFragment; import com.basic.security.manager.impl.cblite.AccountManager; import com.basic.security.manager.impl.sqlite.SlDeviceSettingManager; import org.androidannotations.annotations.EFragment; import org.androidannotations.annotations.UiThread; import org.androidannotations.annotations.ViewById; @EFragment(R.layout.fragment_door_access_result) public class DoorAccessResultFragment extends BaseFragment { @ViewById TextView tv_text; boolean isSleepInBackGround = false; @Override public void show() { super.show(); sleepInBackGround(Integer.parseInt(SlDeviceSettingManager.getOpenDoorTime())); } // 伪代码 @UiThread public void openDoor() { tv_text.setText("开门成功"); tv_text.setTextColor(getResources().getColor(R.color.colorGreen)); } public void refuseOpenDoor() { tv_text.setText("拒绝开门"); tv_text.setTextColor(getResources().getColor(R.color.colorRed)); } public void confirmOpenDoor() { tv_text.setText("设备设置:确认开门"); tv_text.setTextColor(getResources().getColor(R.color.colorRed)); } public void notReachTime() { tv_text.setText("未到通行时间"); tv_text.setTextColor(getResources().getColor(R.color.colorRed)); } void sleepInBackGround(int sleepTime) { synchronized (this) { if (isSleepInBackGround) { return; } isSleepInBackGround = true; } BaseApplication.getApplication().executorService.execute(() -> { SystemClock.sleep(1000 * sleepTime); backToWaitFace(); synchronized (DoorAccessResultFragment.this) { isSleepInBackGround = false; } }); } public String openDoorTitle() { return tv_text.getText().toString().trim(); } @UiThread void backToWaitFace() { if (!AccountManager.adminLoggedIn() && mainActivity().currentFragment != mainActivity().fragment_admin_face_login && mainActivity().currentFragment != mainActivity().fragment_admin_password_login ) { showFragment(mainActivity().fragment_su_auto_wait_face); } } }