Explorar o código

- DialogObserver新增Fragment构造函数

drake %!s(int64=5) %!d(string=hai) anos
pai
achega
28dd7e3968
Modificáronse 1 ficheiros con 15 adicións e 1 borrados
  1. 15 1
      net/src/main/java/com/drake/net/observer/ObserverUtils.kt

+ 15 - 1
net/src/main/java/com/drake/net/observer/ObserverUtils.kt

@@ -81,7 +81,7 @@ fun <M> Observable<M>.state(fragment: Fragment, block: StateObserver<M>.(M) -> U
  * @param block (M) -> Unit
  */
 fun <M> Observable<M>.dialog(
-    activity: FragmentActivity,
+    activity: FragmentActivity?,
     dialog: Dialog? = null,
     cancelable: Boolean = true,
     block: (DialogObserver<M>.(M) -> Unit)? = null
@@ -93,6 +93,20 @@ fun <M> Observable<M>.dialog(
     })
 }
 
+
+fun <M> Observable<M>.dialog(
+    fragment: Fragment,
+    dialog: Dialog? = null,
+    cancelable: Boolean = true,
+    block: (DialogObserver<M>.(M) -> Unit)? = null
+) {
+    subscribe(object : DialogObserver<M>(fragment, dialog, cancelable) {
+        override fun onNext(t: M) {
+            block?.invoke(this, t)
+        }
+    })
+}
+
 /**
  * 自动结束下拉加载
  * @receiver Observable<M>