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/LoginViewModel.java |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

diff --git a/app/src/main/java/com/duqing/missions/ui/login/view/LoginViewModel.java b/app/src/main/java/com/duqing/missions/ui/login/view/LoginViewModel.java
index 63f177a..d963549 100644
--- a/app/src/main/java/com/duqing/missions/ui/login/view/LoginViewModel.java
+++ b/app/src/main/java/com/duqing/missions/ui/login/view/LoginViewModel.java
@@ -1,5 +1,6 @@
 package com.duqing.missions.ui.login.view;
 
+import android.os.CountDownTimer;
 import android.util.Patterns;
 
 import androidx.lifecycle.LiveData;
@@ -20,6 +21,8 @@
     private MutableLiveData<LoginFormState> loginFormState = new MutableLiveData<>();
     private MutableLiveData<LoginResult> loginResult = new MutableLiveData<>();
     private LoginRepository loginRepository;
+    private MutableLiveData<Long> countDown = new MutableLiveData<>();
+    private CountDownTimer timer;
 
     LoginViewModel(LoginRepository loginRepository) {
         this.loginRepository = loginRepository;
@@ -86,4 +89,31 @@
     private boolean isPasswordValid(String password) {
         return password != null && password.trim().length() > 5;
     }
-}
\ No newline at end of file
+
+    public MutableLiveData<Long> getCountDown() {
+        return countDown;
+    }
+
+    /**
+     * 启动倒计时
+     * @param consumedTime
+     */
+    public void startCountDown(long consumedTime){
+        //倒计时
+        timer = new CountDownTimer(60 * 1000-consumedTime, 1000) {
+
+            @Override
+            public void onTick(long l) {
+                countDown.postValue(l / 1000);
+            }
+
+            @Override
+            public void onFinish() {
+                countDown.setValue(0l);
+            }
+        };
+        timer.start();
+    }
+
+
+}

--
Gitblit v1.9.1