From 05d90004c120c5b597565bc99c7d3b85f15a4e73 Mon Sep 17 00:00:00 2001
From: Administrator <123>
Date: Fri, 05 Nov 2021 06:47:38 +0000
Subject: [PATCH] 短信验证码 倒计时 大厅顶部 UI

---
 app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java |   37 +++++++++++++++++++++++++++++--------
 1 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java b/app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java
index f1356e0..896d934 100644
--- a/app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java
+++ b/app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java
@@ -16,6 +16,7 @@
 import androidx.annotation.Nullable;
 import androidx.annotation.StringRes;
 import androidx.lifecycle.Observer;
+import androidx.lifecycle.ViewModelProvider;
 
 import com.duqing.missions.R;
 import com.duqing.missions.base.activities.BaseTitleBarActivity;
@@ -28,11 +29,9 @@
     @Override
     public void initViews() {
 
-
         final EditText phoneEdit = binding.editPhone;
         final EditText passwordEditText = binding.editPassword;
         final Button loginButton = binding.login;
-
 
         viewModel.getLoginFormState().observe(this, new Observer<LoginFormState>() {
             @Override
@@ -49,7 +48,6 @@
                 }
             }
         });
-
         viewModel.getLoginResult().observe(this, new Observer<LoginResult>() {
             @Override
             public void onChanged(@Nullable LoginResult loginResult) {
@@ -68,7 +66,6 @@
                 finish();
             }
         });
-
         binding.txtPasswordTitle.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -78,7 +75,6 @@
                 unCheckStyle(binding.txtVerifyTitle);
             }
         });
-
         binding.txtVerifyTitle.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -88,7 +84,6 @@
                 unCheckStyle(binding.txtPasswordTitle);
             }
         });
-
         TextWatcher afterTextChangedListener = new TextWatcher() {
             @Override
             public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@@ -109,7 +104,6 @@
         phoneEdit.addTextChangedListener(afterTextChangedListener);
         passwordEditText.addTextChangedListener(afterTextChangedListener);
         passwordEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
-
             @Override
             public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                 if (actionId == EditorInfo.IME_ACTION_DONE) {
@@ -119,7 +113,6 @@
                 return false;
             }
         });
-
         loginButton.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -127,6 +120,34 @@
                         passwordEditText.getText().toString());
             }
         });
+
+        viewModel.getCountDown().observe(this, new Observer<Long>() {
+            @Override
+            public void onChanged(Long l) {
+                if(l>0){
+                    binding.textVerify.setTextColor(getResources().getColor(R.color.gray));
+                    binding.textVerify.setEnabled(false);
+                    binding.textVerify.setText("重新发送("+l+"s)");
+                }else{
+                    binding.textVerify.setEnabled(true);
+                    binding.textVerify.setTextColor(getResources().getColor(R.color.sky));
+                    binding.textVerify.setText("获取验证码");
+                }
+            }
+        });
+
+        binding.textVerify.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                viewModel.startCountDown(0);
+            }
+        });
+
+    }
+
+    @Override
+    public ViewModelProvider.Factory getViewModelFactory() {
+        return new LoginViewModelFactory();
     }
 
     public void checkedStyle(TextView textView){

--
Gitblit v1.9.1