|
@@ -20,7 +20,6 @@
|
|
package com.drake.net.time
|
|
package com.drake.net.time
|
|
|
|
|
|
import androidx.fragment.app.Fragment
|
|
import androidx.fragment.app.Fragment
|
|
-import androidx.fragment.app.FragmentActivity
|
|
|
|
import androidx.lifecycle.Lifecycle
|
|
import androidx.lifecycle.Lifecycle
|
|
import androidx.lifecycle.LifecycleEventObserver
|
|
import androidx.lifecycle.LifecycleEventObserver
|
|
import androidx.lifecycle.LifecycleOwner
|
|
import androidx.lifecycle.LifecycleOwner
|
|
@@ -200,11 +199,11 @@ open class Interval(
|
|
/**
|
|
/**
|
|
* 自动在指定生命周期后取消[cancel]轮询器
|
|
* 自动在指定生命周期后取消[cancel]轮询器
|
|
* @param lifecycleOwner 生命周期持有者, 一般为Activity/Fragment
|
|
* @param lifecycleOwner 生命周期持有者, 一般为Activity/Fragment
|
|
- * @param lifeEvent 取消轮询器的时机, 默认为 ON_STOP 界面停止时停止轮询器
|
|
|
|
|
|
+ * @param lifeEvent 销毁生命周期, 默认为 [Lifecycle.Event.ON_DESTROY] 时停止时停止轮询器
|
|
*/
|
|
*/
|
|
fun life(
|
|
fun life(
|
|
lifecycleOwner: LifecycleOwner,
|
|
lifecycleOwner: LifecycleOwner,
|
|
- lifeEvent: Lifecycle.Event = Lifecycle.Event.ON_STOP
|
|
|
|
|
|
+ lifeEvent: Lifecycle.Event = Lifecycle.Event.ON_DESTROY
|
|
) = apply {
|
|
) = apply {
|
|
runMain {
|
|
runMain {
|
|
lifecycleOwner.lifecycle.addObserver(object : LifecycleEventObserver {
|
|
lifecycleOwner.lifecycle.addObserver(object : LifecycleEventObserver {
|
|
@@ -217,15 +216,14 @@ open class Interval(
|
|
|
|
|
|
/**
|
|
/**
|
|
* 自动在指定生命周期后取消[cancel]轮询器
|
|
* 自动在指定生命周期后取消[cancel]轮询器
|
|
- * 销毁生命周期为[Lifecycle.Event.ON_DESTROY]
|
|
|
|
|
|
+ * @param lifeEvent 销毁生命周期, 默认为 [Lifecycle.Event.ON_DESTROY] 时停止时停止轮询器
|
|
*/
|
|
*/
|
|
- fun life(activity: FragmentActivity) = life(activity, Lifecycle.Event.ON_DESTROY)
|
|
|
|
-
|
|
|
|
- /**
|
|
|
|
- * 自动在指定生命周期后取消[cancel]轮询器
|
|
|
|
- * 销毁生命周期为[Lifecycle.Event.ON_STOP]. 因为Fragment多数情况下不会触发[Fragment.onDestroy]
|
|
|
|
- */
|
|
|
|
- fun life(fragment: Fragment) = life(fragment, Lifecycle.Event.ON_STOP)
|
|
|
|
|
|
+ fun life(
|
|
|
|
+ fragment: Fragment,
|
|
|
|
+ lifeEvent: Lifecycle.Event = Lifecycle.Event.ON_DESTROY
|
|
|
|
+ ): Interval {
|
|
|
|
+ return life(fragment.viewLifecycleOwner, lifeEvent)
|
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
/**
|
|
* 当界面不可见时暂停[pause], 当界面可见时继续[resume]. 不会自动[start]轮询器
|
|
* 当界面不可见时暂停[pause], 当界面可见时继续[resume]. 不会自动[start]轮询器
|