Skip to content

Commit b248a66

Browse files
committed
Fix for getAccessToken
1 parent bee267a commit b248a66

File tree

3 files changed

+17
-12
lines changed

3 files changed

+17
-12
lines changed

pluto-kotlin-client-sdk/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ apply plugin: 'kotlin-android-extensions'
44
apply plugin: 'maven-publish'
55

66
buildscript {
7-
ext.versionCode = 20
8-
ext.versionName = '0.8.1'
7+
ext.versionCode = 21
8+
ext.versionName = '0.8.2'
99
}
1010

1111
android {

pluto-kotlin-client-sdk/src/main/java/com/mushare/plutosdk/Pluto+Auth.kt

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,25 @@ fun Pluto.getAccessToken(
99
completion: (String?) -> Unit,
1010
handler: Pluto.PlutoRequestHandler? = null
1111
) {
12+
if (state != Pluto.State.signIn) {
13+
completion(null)
14+
return
15+
}
1216
val accessToken = data.accessToken
13-
val expire = data.expire
14-
if (isForceRefresh || accessToken == null || expire == null || expire - System.currentTimeMillis() / 1000 < 5 * 60) {
15-
refreshToken({
16-
if (it == null) {
17-
data.clear()
18-
}
19-
completion(it)
20-
}, handler)
17+
val expire = data.expire ?: 0
18+
if (isForceRefresh || accessToken == null || expire - System.currentTimeMillis() / 1000 < 30) {
19+
refreshAccessToken(
20+
completion = {
21+
completion(it)
22+
},
23+
handler = handler
24+
)
25+
return
2126
}
2227
completion(data.accessToken)
2328
}
2429

25-
private fun Pluto.refreshToken(
30+
fun Pluto.refreshAccessToken(
2631
completion: (String?) -> Unit,
2732
handler: Pluto.PlutoRequestHandler? = null
2833
) {

pluto-kotlin-client-sdk/src/main/java/com/mushare/plutosdk/PlutoResponse.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ open class PlutoResponse(
2727
success()
2828
} else {
2929
when(errorCode) {
30-
PlutoError.invalidRefreshToken -> {
30+
PlutoError.invalidRefreshToken, PlutoError.invalidAccessToken -> {
3131
Pluto.getInstance()?.let {
3232
it.data.clear()
3333
it.state.value = Pluto.State.invalidRefreshToken

0 commit comments

Comments
 (0)