Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
beyond-clouds-android
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
云深项目组
beyond-clouds-android
Commits
29b3cefc
Commit
29b3cefc
authored
Mar 22, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
短信登录定时器优化
parent
914302a8
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
23 deletions
+16
-23
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/login/LoginActivity.java
+1
-11
app/src/main/java/cn/yunliyunwai/beyondclouds/viewmodel/AuthenticationViewModel.java
+15
-12
No files found.
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/login/LoginActivity.java
View file @
29b3cefc
...
@@ -11,8 +11,6 @@ import android.widget.Toast;
...
@@ -11,8 +11,6 @@ import android.widget.Toast;
import
androidx.lifecycle.Observer
;
import
androidx.lifecycle.Observer
;
import
java.util.concurrent.ScheduledFuture
;
import
javax.inject.Inject
;
import
javax.inject.Inject
;
import
cn.yunliyunwai.beyondclouds.R
;
import
cn.yunliyunwai.beyondclouds.R
;
...
@@ -26,8 +24,6 @@ public class LoginActivity extends BaseActivity<AuthenticationViewModel, Activit
...
@@ -26,8 +24,6 @@ public class LoginActivity extends BaseActivity<AuthenticationViewModel, Activit
private
Handler
handler
=
new
Handler
();
private
Handler
handler
=
new
Handler
();
private
ScheduledFuture
verifyCodeScheduledFuture
;
@Inject
@Inject
AuthenticationViewModel
authenticationViewModel
;
AuthenticationViewModel
authenticationViewModel
;
...
@@ -140,7 +136,7 @@ public class LoginActivity extends BaseActivity<AuthenticationViewModel, Activit
...
@@ -140,7 +136,7 @@ public class LoginActivity extends BaseActivity<AuthenticationViewModel, Activit
binding
.
btnSendVerifyCode
.
setEnabled
(
false
);
binding
.
btnSendVerifyCode
.
setEnabled
(
false
);
binding
.
btnSendVerifyCode
.
setClickable
(
false
);
binding
.
btnSendVerifyCode
.
setClickable
(
false
);
binding
.
btnSendVerifyCode
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
colorTextLevel5
));
binding
.
btnSendVerifyCode
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
colorTextLevel5
));
verifyCodeScheduledFuture
=
authenticationViewModel
.
startVerifyCodeCountdown
();
authenticationViewModel
.
startVerifyCodeCountdown
();
binding
.
txtSeconds
.
setVisibility
(
View
.
VISIBLE
);
binding
.
txtSeconds
.
setVisibility
(
View
.
VISIBLE
);
}
}
...
@@ -161,12 +157,6 @@ public class LoginActivity extends BaseActivity<AuthenticationViewModel, Activit
...
@@ -161,12 +157,6 @@ public class LoginActivity extends BaseActivity<AuthenticationViewModel, Activit
public
void
onChanged
(
Integer
leftSeconds
)
{
public
void
onChanged
(
Integer
leftSeconds
)
{
if
(
authenticationViewModel
.
getVerifyCodeState
().
getValue
()
!=
AuthenticationViewModel
.
VerifyCodeState
.
UN_SEND
)
{
if
(
authenticationViewModel
.
getVerifyCodeState
().
getValue
()
!=
AuthenticationViewModel
.
VerifyCodeState
.
UN_SEND
)
{
binding
.
btnSendVerifyCode
.
setText
(
leftSeconds
+
""
);
binding
.
btnSendVerifyCode
.
setText
(
leftSeconds
+
""
);
if
(
leftSeconds
==
0
)
{
if
(
null
!=
verifyCodeScheduledFuture
)
{
verifyCodeScheduledFuture
.
cancel
(
true
);
}
authenticationViewModel
.
resetVerifyCodeState
();
}
}
}
}
}
});
});
...
...
app/src/main/java/cn/yunliyunwai/beyondclouds/viewmodel/AuthenticationViewModel.java
View file @
29b3cefc
...
@@ -165,6 +165,8 @@ public class AuthenticationViewModel extends ViewModel {
...
@@ -165,6 +165,8 @@ public class AuthenticationViewModel extends ViewModel {
private
Context
mContext
;
private
Context
mContext
;
private
ScheduledFuture
mVerifyCodeScheduledFuture
;
@Inject
@Inject
public
AuthenticationViewModel
(
Context
context
,
Lazy
<
IUserRepository
>
userRepositoryLazy
,
AppExecutors
appExecutors
)
{
public
AuthenticationViewModel
(
Context
context
,
Lazy
<
IUserRepository
>
userRepositoryLazy
,
AppExecutors
appExecutors
)
{
...
@@ -177,6 +179,7 @@ public class AuthenticationViewModel extends ViewModel {
...
@@ -177,6 +179,7 @@ public class AuthenticationViewModel extends ViewModel {
this
.
loginWay
.
setValue
(
LoginWay
.
ACCOUNT
);
this
.
loginWay
.
setValue
(
LoginWay
.
ACCOUNT
);
this
.
passwordVisibility
.
setValue
(
false
);
this
.
passwordVisibility
.
setValue
(
false
);
this
.
verifyCodeState
.
setValue
(
VerifyCodeState
.
UN_SEND
);
this
.
verifyCodeState
.
setValue
(
VerifyCodeState
.
UN_SEND
);
this
.
verifyCodeLeftSeconds
.
setValue
(
0
);
}
}
public
LiveData
<
AuthenticationState
>
getAuthenticationState
()
{
public
LiveData
<
AuthenticationState
>
getAuthenticationState
()
{
...
@@ -417,24 +420,24 @@ public class AuthenticationViewModel extends ViewModel {
...
@@ -417,24 +420,24 @@ public class AuthenticationViewModel extends ViewModel {
/**
/**
* 开始倒计时
* 开始倒计时
*/
*/
public
ScheduledFuture
startVerifyCodeCountdown
()
{
public
void
startVerifyCodeCountdown
()
{
verifyCodeLeftSeconds
.
setValue
(
60
);
if
(
getVerifyCodeLeftSeconds
().
getValue
()
>
0
||
getVerifyCodeState
().
getValue
()
==
VerifyCodeState
.
UN_SEND
)
{
return
appExecutors
.
scheduledExecutor
().
scheduleAtFixedRate
(
new
Runnable
()
{
return
;
}
verifyCodeLeftSeconds
.
setValue
(
10
);
mVerifyCodeScheduledFuture
=
appExecutors
.
scheduledExecutor
().
scheduleAtFixedRate
(
new
Runnable
()
{
@Override
@Override
public
void
run
()
{
public
void
run
()
{
int
leftTime
=
verifyCodeLeftSeconds
.
getValue
();
int
leftTime
=
verifyCodeLeftSeconds
.
getValue
();
if
(
leftTime
==
0
)
{
verifyCodeLeftSeconds
.
postValue
(
leftTime
-
1
);
if
(
leftTime
==
1
)
{
if
(
null
!=
mVerifyCodeScheduledFuture
)
{
mVerifyCodeScheduledFuture
.
cancel
(
true
);
}
verifyCodeState
.
postValue
(
VerifyCodeState
.
UN_SEND
);
return
;
return
;
}
}
verifyCodeLeftSeconds
.
postValue
(
leftTime
-
1
);
}
}
},
1000
,
1000
,
TimeUnit
.
MILLISECONDS
);
},
1000
,
1000
,
TimeUnit
.
MILLISECONDS
);
}
}
/**
* 重置短信发送状态
*/
public
void
resetVerifyCodeState
()
{
verifyCodeState
.
setValue
(
VerifyCodeState
.
UN_SEND
);
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment