Merge pull request #2614 from gouri-panda/bug/gouri-panda/#2608_Fixed_Zim_Manage_View_Model_leaking

Fixed ZimManageViewModel Leaking
This commit is contained in:
Kelson 2021-04-05 17:14:00 +02:00 committed by GitHub
commit 47e7315b5d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 3 deletions

View File

@ -43,4 +43,8 @@ class ConnectivityBroadcastReceiver @Inject constructor(
) {
_networkStates.onNext(connectivityManager.networkState)
}
fun stopNetworkState() {
_networkStates.onComplete()
}
}

View File

@ -116,10 +116,10 @@ class ZimManageViewModel @Inject constructor(
val requestDownloadLibrary = BehaviorProcessor.createDefault(Unit)
val requestFiltering = BehaviorProcessor.createDefault("")
private val compositeDisposable = CompositeDisposable()
private var compositeDisposable: CompositeDisposable? = CompositeDisposable()
init {
compositeDisposable.addAll(*disposables())
compositeDisposable?.addAll(*disposables())
context.registerReceiver(connectivityBroadcastReceiver)
}
@ -129,8 +129,13 @@ class ZimManageViewModel @Inject constructor(
}
override fun onCleared() {
compositeDisposable.clear()
compositeDisposable?.clear()
context.unregisterReceiver(connectivityBroadcastReceiver)
connectivityBroadcastReceiver.stopNetworkState()
requestFileSystemCheck.onComplete()
fileSelectActions.onComplete()
requestDownloadLibrary.onComplete()
compositeDisposable = null
super.onCleared()
}