瀏覽代碼

fix 修复重连弹窗异常问题

RobinTan1024 4 年之前
父節點
當前提交
e5500326ce

+ 8 - 14
app/src/main/java/com/doverfuelingsolutions/issp/view/MainActivity.kt

@@ -87,9 +87,6 @@ class MainActivity : AppCompatActivity(),
     override fun onResume() {
         super.onResume()
         WindowUtil.setFullscreen(this)
-        dialogFusionLinking?.let {
-            if (it.isShowing) it.hide()
-        }
     }
 
     override fun onDestroy() {
@@ -182,7 +179,7 @@ class MainActivity : AppCompatActivity(),
     override fun onFusionStatus(status: FusionStatus) {
         DFSLog.i("Fusion output status: ${status.name.toLowerCase(Locale.CHINESE)}")
         lifecycleScope.launch {
-            dialogFusionLinking?.hide()
+            dialogFusionLinking?.dismiss()
             when (status) {
                 FusionStatus.Connecting -> {
                     setFusionLinkingLoading()
@@ -253,16 +250,13 @@ class MainActivity : AppCompatActivity(),
 
     private fun setFusionLinkingLoading() {
         // Don't dismiss dialog, just show & hide for reuse.
-        if (dialogFusionLinking == null) {
-            dialogFusionLinking = LoadingDialogBuilder(this@MainActivity)
-                .setTitle(R.string.fusion_in_connect)
-                .setLoadingText(R.string.reconnect_fusion_tip)
-                .setCancelable(false)
-                .show()
-            dialogFusionLinking?.window?.let { WindowUtil.setFullscreen(it) }
-        } else {
-            dialogFusionLinking?.show()
-        }
+        dialogFusionLinking?.dismiss()
+        dialogFusionLinking = LoadingDialogBuilder(this@MainActivity)
+            .setTitle(R.string.fusion_in_connect)
+            .setLoadingText(R.string.reconnect_fusion_tip)
+            .setCancelable(true)
+            .show()
+        dialogFusionLinking?.window?.let { WindowUtil.setFullscreen(it) }
     }
 
     private fun initFragmentEntry() {

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

@@ -174,7 +174,7 @@
     <string name="fusion_in_connect">正在连接 Fusion…</string>
     <string name="reconnect">重新连接</string>
     <string name="re_fetch_fusion_info">重新加载信息</string>
-    <string name="reconnect_fusion_tip">尝试重连 Fusion …</string>
+    <string name="reconnect_fusion_tip">尝试重连 Fusion …</string>
     <string name="connect_fusion_success">连接 Fusion 成功</string>
     <string name="disconnect_fusion">无法连接到 Fusion</string>
     <string name="fusion_login_failed">登录到 Fusion 失败…</string>