Explorar el Código

feat 重新登录功能

RobinTan1024 hace 4 años
padre
commit
1d14fedbc8

+ 24 - 2
app/src/main/java/com/doverfuelingsolutions/issp/view/PreferenceActivity.kt

@@ -14,6 +14,7 @@ import com.doverfuelingsolutions.issp.R
 import com.doverfuelingsolutions.issp.api.FuelInfoApi
 import com.doverfuelingsolutions.issp.api.SystemApi
 import com.doverfuelingsolutions.issp.bugly.BuglyUtil
+import com.doverfuelingsolutions.issp.data.GlobalData
 import com.doverfuelingsolutions.issp.databinding.ActivityPreferenceBinding
 import com.doverfuelingsolutions.issp.utils.AppUtil
 import com.doverfuelingsolutions.issp.utils.DFSToastUtil
@@ -115,6 +116,16 @@ class PreferenceActivity : AppCompatActivity(),
             binding.buttonClose -> {
                 onBackPressed()
             }
+            binding.buttonReLogin -> {
+                GlobalData.isLogin = false
+                GlobalData.password.set("")
+                GlobalData.accessToken.set("")
+                GlobalData.accessTokenExpire.set(0L)
+                Intent(this, LoginActivity::class.java).let {
+                    it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK)
+                    startActivity(it)
+                }
+            }
         }
     }
 
@@ -145,7 +156,13 @@ class PreferenceActivity : AppCompatActivity(),
 
             if (!result.success || result.data == null) {
                 DFSLog.e("latest version check failed: ${result.message}")
-                DFSToastUtil.fail(StringUtil.get(R.string.fail_behave_reason, StringUtil.get(R.string.check_update), result.message))
+                DFSToastUtil.fail(
+                    StringUtil.get(
+                        R.string.fail_behave_reason,
+                        StringUtil.get(R.string.check_update),
+                        result.message
+                    )
+                )
                 return@launch
             }
 
@@ -163,7 +180,12 @@ class PreferenceActivity : AppCompatActivity(),
                 return@launch
             }
 
-            UpgradeActivity.start(this@PreferenceActivity, remoteVersion.version, remoteVersion.name, remoteVersion.info)
+            UpgradeActivity.start(
+                this@PreferenceActivity,
+                remoteVersion.version,
+                remoteVersion.name,
+                remoteVersion.info
+            )
         }
     }
 

+ 9 - 0
app/src/main/res/layout/activity_preference.xml

@@ -54,6 +54,15 @@
                 android:onClick="@{handler}"
                 android:text="@{viewModel.isSubmitting ? @string/in_check_update : @string/check_update}" />
 
+            <Button
+                android:id="@+id/buttonReLogin"
+                style="@style/Widget.MaterialComponents.Button.TextButton"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="20dp"
+                android:onClick="@{handler}"
+                android:text="@string/re_login" />
+
             <Button
                 android:id="@+id/buttonClose"
                 style="@style/Widget.MaterialComponents.Button.TextButton"

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -23,6 +23,7 @@
     <string name="password">密码</string>
     <string name="login">登录</string>
     <string name="fail_refresh_login">刷新 LoginToken 失败,请重新登录</string>
+    <string name="re_login">重新登录</string>
 
     <!-- preference -->
     <string name="preference">应用设置</string>