From dadbf7a3fd20a8e0dc7e0601f30a2f696cc9fc6e Mon Sep 17 00:00:00 2001
From: Administrator <123>
Date: Thu, 11 Nov 2021 02:40:05 +0000
Subject: [PATCH] 完成登录接口接入demo

---
 app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java |   52 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 35 insertions(+), 17 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 59eeae1..0d13e13 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
@@ -19,24 +19,21 @@
 import androidx.lifecycle.ViewModelProvider;
 
 import com.duqing.missions.R;
-import com.duqing.missions.base.BaseTitleBarActivity;
+import com.duqing.missions.base.activities.BaseTitleBarActivity;
 import com.duqing.missions.databinding.ActivityLoginBinding;
 
 
-public class LoginActivity extends BaseTitleBarActivity<ActivityLoginBinding> {
+public class LoginActivity extends BaseTitleBarActivity<ActivityLoginBinding,LoginViewModel> {
 
-    private LoginViewModel loginViewModel;
 
     @Override
     public void initViews() {
-
-        loginViewModel = new ViewModelProvider(this, new LoginViewModelFactory()).get(LoginViewModel.class);
 
         final EditText phoneEdit = binding.editPhone;
         final EditText passwordEditText = binding.editPassword;
         final Button loginButton = binding.login;
 
-        loginViewModel.getLoginFormState().observe(this, new Observer<LoginFormState>() {
+        viewModel.getLoginFormState().observe(this, new Observer<LoginFormState>() {
             @Override
             public void onChanged(@Nullable LoginFormState loginFormState) {
                 if (loginFormState == null) {
@@ -51,8 +48,7 @@
                 }
             }
         });
-
-        loginViewModel.getLoginResult().observe(this, new Observer<LoginResult>() {
+        viewModel.getLoginResult().observe(this, new Observer<LoginResult>() {
             @Override
             public void onChanged(@Nullable LoginResult loginResult) {
                 if (loginResult == null) {
@@ -70,7 +66,6 @@
                 finish();
             }
         });
-
         binding.txtPasswordTitle.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -80,7 +75,6 @@
                 unCheckStyle(binding.txtVerifyTitle);
             }
         });
-
         binding.txtVerifyTitle.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -90,7 +84,6 @@
                 unCheckStyle(binding.txtPasswordTitle);
             }
         });
-
         TextWatcher afterTextChangedListener = new TextWatcher() {
             @Override
             public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@@ -104,31 +97,56 @@
 
             @Override
             public void afterTextChanged(Editable s) {
-                loginViewModel.loginDataChanged(phoneEdit.getText().toString(),
+                viewModel.loginDataChanged(phoneEdit.getText().toString(),
                         passwordEditText.getText().toString());
             }
         };
         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) {
-                    loginViewModel.login(phoneEdit.getText().toString(),
+                    viewModel.login(phoneEdit.getText().toString(),
                             passwordEditText.getText().toString());
                 }
                 return false;
             }
         });
-
         loginButton.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                loginViewModel.login(phoneEdit.getText().toString(),
-                        passwordEditText.getText().toString());
+                viewModel.login(phoneEdit.getText().toString(),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