|
@@ -1,6 +1,7 @@
|
|
|
package com.doverfuelingsolutions.issp.view.util
|
|
|
|
|
|
import android.app.Activity
|
|
|
+import android.os.Build
|
|
|
import androidx.core.os.bundleOf
|
|
|
import com.doverfuelingsolutions.issp.R
|
|
|
import com.doverfuelingsolutions.issp.api.SystemApi
|
|
@@ -22,6 +23,15 @@ class LoginTokenRefresher {
|
|
|
val expireMoment = GlobalData.accessTokenExpire.get()
|
|
|
val delayTime = expireMoment - 480_000 - System.currentTimeMillis()
|
|
|
if (delayTime > 0) delay(delayTime)
|
|
|
+
|
|
|
+ val userDevice = SystemApi.getUserDevice(GlobalData.accountName.get(), GlobalData.serialNumber.get())
|
|
|
+ if (!userDevice.success || userDevice.data != true) {
|
|
|
+ DFSLog.d("loginToken refresh 账户与设备不符合")
|
|
|
+ val msg = StringUtil.get(R.string.error_account_device)
|
|
|
+ toLogin(msg,activity)
|
|
|
+ return@launch
|
|
|
+ }
|
|
|
+
|
|
|
val result = SystemApi.login(GlobalData.accountName.get(), GlobalData.password.get())
|
|
|
if (result.success) {
|
|
|
DFSLog.d("loginToken refresh succeeded")
|
|
@@ -29,18 +39,8 @@ class LoginTokenRefresher {
|
|
|
start(activity)
|
|
|
} else {
|
|
|
DFSLog.d("loginToken refresh failed: ${result.message}")
|
|
|
- GlobalData.isLogin = false
|
|
|
val msg = StringUtil.get(R.string.fail_refresh_login)
|
|
|
- DFSToastUtil.fail(msg)
|
|
|
- // Back to login.
|
|
|
- activity.finish()
|
|
|
- LoginActivity.start(
|
|
|
- activity,
|
|
|
- bundleOf(
|
|
|
- Pair(LoginActivity.autoLogin, false),
|
|
|
- Pair(LoginActivity.loginMessage, msg),
|
|
|
- )
|
|
|
- )
|
|
|
+ toLogin(msg,activity)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -50,4 +50,18 @@ class LoginTokenRefresher {
|
|
|
if (it.isActive) it.cancel()
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ fun toLogin(msg:String,activity: Activity){
|
|
|
+ GlobalData.isLogin = false
|
|
|
+ DFSToastUtil.fail(msg)
|
|
|
+ // Back to login.
|
|
|
+ activity.finish()
|
|
|
+ LoginActivity.start(
|
|
|
+ activity,
|
|
|
+ bundleOf(
|
|
|
+ Pair(LoginActivity.autoLogin, false),
|
|
|
+ Pair(LoginActivity.loginMessage, msg),
|
|
|
+ )
|
|
|
+ )
|
|
|
+ }
|
|
|
}
|