diff --git a/pluto-kotlin-client-sdk/build.gradle b/pluto-kotlin-client-sdk/build.gradle index 9cf8586..ccda4f4 100644 --- a/pluto-kotlin-client-sdk/build.gradle +++ b/pluto-kotlin-client-sdk/build.gradle @@ -4,8 +4,8 @@ apply plugin: 'kotlin-android-extensions' apply plugin: 'maven-publish' buildscript { - ext.versionCode = 24 - ext.versionName = '0.8.5' + ext.versionCode = 25 + ext.versionName = '0.8.6' } android { diff --git a/pluto-kotlin-client-sdk/src/main/java/com/mushare/plutosdk/PlutoResponse.kt b/pluto-kotlin-client-sdk/src/main/java/com/mushare/plutosdk/PlutoResponse.kt index 3219e95..3f81f99 100644 --- a/pluto-kotlin-client-sdk/src/main/java/com/mushare/plutosdk/PlutoResponse.kt +++ b/pluto-kotlin-client-sdk/src/main/java/com/mushare/plutosdk/PlutoResponse.kt @@ -51,11 +51,15 @@ internal fun parseErrorCodeFromErrorBody(errorBody: ResponseBody?, gson: Gson): } val response = gson.fromJson(errorBody.string(), PlutoResponse::class.java) val plutoError = response?.errorCode ?: PlutoError.badRequest - when(plutoError) { + when (plutoError) { PlutoError.invalidRefreshToken, PlutoError.invalidAccessToken -> { Pluto.getInstance()?.let { - it.data.clear() - it.state.value = Pluto.State.invalidRefreshToken + // Skip clearing data if refreshToken is null + // If refreshToken is null, it represents the not sign in state. + if (it.state != Pluto.State.invalidRefreshToken && it.data.refreshToken != null) { + it.data.clear() + it.state.value = Pluto.State.invalidRefreshToken + } } } }