Dismiss extension update notification if all updates installed

This commit is contained in:
arkon
2023-08-02 18:00:06 -04:00
parent 81cd765543
commit 10b0ef9b6d
4 changed files with 18 additions and 8 deletions
@@ -5,6 +5,7 @@ import android.graphics.drawable.Drawable
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.extension.api.ExtensionGithubApi
import eu.kanade.tachiyomi.extension.api.ExtensionUpdateNotifier
import eu.kanade.tachiyomi.extension.model.Extension
import eu.kanade.tachiyomi.extension.model.InstallStep
import eu.kanade.tachiyomi.extension.model.LoadResult
@@ -195,7 +196,7 @@ class ExtensionManager(
}
/**
* Returns an observable of the installation process for the given extension. It will complete
* Returns a flow of the installation process for the given extension. It will complete
* once the extension is installed or throws an error. The process will be canceled if
* unsubscribed before its completion.
*
@@ -206,7 +207,7 @@ class ExtensionManager(
}
/**
* Returns an observable of the installation process for the given extension. It will complete
* Returns a flow of the installation process for the given extension. It will complete
* once the extension is updated or throws an error. The process will be canceled if
* unsubscribed before its completion.
*
@@ -356,6 +357,10 @@ class ExtensionManager(
}
private fun updatePendingUpdatesCount() {
preferences.extensionUpdatesCount().set(_installedExtensionsFlow.value.count { it.hasUpdate })
val pendingUpdateCount = _installedExtensionsFlow.value.count { it.hasUpdate }
preferences.extensionUpdatesCount().set(pendingUpdateCount)
if (pendingUpdateCount == 0) {
ExtensionUpdateNotifier(context).dismiss()
}
}
}