diff --git a/app/src/main/java/com/yizhuan/erban/avroom/redpackage/RedPackageWidget.kt b/app/src/main/java/com/yizhuan/erban/avroom/redpackage/RedPackageWidget.kt index eeeefe269..229da0d38 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/redpackage/RedPackageWidget.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/redpackage/RedPackageWidget.kt @@ -56,7 +56,7 @@ class RedPackageWidget : FrameLayoutRoomWidget, RoomWidget { ), R.layout.red_package_widget, this, true ) - private val compositeDisposable = CompositeDisposable() + private var compositeDisposable: CompositeDisposable? = null constructor(context: Context) : super(context) constructor(context: Context, attrs: AttributeSet?) : super(context, attrs) @@ -215,7 +215,16 @@ class RedPackageWidget : FrameLayoutRoomWidget, RoomWidget { SingleToastUtil.showToast(it.message) dialogManager?.dismissDialog() }) - compositeDisposable.add(disposable) + getCompositeDisposable().add(disposable) + } + + private fun getCompositeDisposable(): CompositeDisposable { + var disposable = compositeDisposable + if (disposable == null) { + disposable = CompositeDisposable() + compositeDisposable = disposable + } + return disposable } override fun onStop() { @@ -227,8 +236,8 @@ class RedPackageWidget : FrameLayoutRoomWidget, RoomWidget { override fun onUnbindContext() { super.onUnbindContext() - compositeDisposable.dispose() - stopCountDown() + compositeDisposable?.dispose() + compositeDisposable = null loadData(null) }