Prechádzať zdrojové kódy

修复scopeDialog指定默认调度器导致创建对话框失败问题

drake 3 rokov pred
rodič
commit
e9b628f0d1

+ 8 - 6
net/src/main/java/com/drake/net/scope/DialogCoroutineScope.kt

@@ -51,13 +51,15 @@ class DialogCoroutineScope(
     }
 
     override fun start() {
-        dialog = when {
-            dialog != null -> dialog
-            else -> onDialog.invoke(this, activity)
+        activity.runOnUiThread {
+            dialog = when {
+                dialog != null -> dialog
+                else -> onDialog.invoke(this, activity)
+            }
+            dialog?.setOnDismissListener { cancel() }
+            dialog?.setCancelable(cancelable)
+            dialog?.show()
         }
-        dialog?.setOnDismissListener { cancel() }
-        dialog?.setCancelable(cancelable)
-        dialog?.show()
     }
 
     override fun readCache(succeed: Boolean) {