fix: ext obsolete status (#327)
* fix: ext obsolete status it was flip-flop each time refreshed * reformat
This commit is contained in:
parent
dfc33f983f
commit
e372542faa
1 changed files with 9 additions and 15 deletions
|
|
@ -214,9 +214,6 @@ class ExtensionManager(
|
|||
* @param availableExtensions The list of extensions given by the [api].
|
||||
*/
|
||||
private fun updatedInstalledExtensionsStatuses(availableExtensions: List<Extension.Available>) {
|
||||
// KMK -->
|
||||
val noExtAvailable = availableExtensions.isEmpty()
|
||||
// KMK <--
|
||||
val installedExtensionsMap = installedExtensionMapFlow.value.toMutableMap()
|
||||
var changed = false
|
||||
for ((pkgName, extension) in installedExtensionsMap) {
|
||||
|
|
@ -227,28 +224,25 @@ class ExtensionManager(
|
|||
it.pkgName == pkgName
|
||||
}
|
||||
|
||||
if (availableExt == null/* KMK --> && !extension.isObsolete // KMK <-- */) {
|
||||
// Clear hasUpdate & set isObsolete
|
||||
val isObsolete = !noExtAvailable && !extension.isObsolete
|
||||
if (availableExt == null &&
|
||||
(!extension.isObsolete || /* KMK --> */ extension.hasUpdate /* KMK <-- */)
|
||||
) {
|
||||
// Ext not found: Set isObsolete & clear hasUpdate
|
||||
installedExtensionsMap[pkgName] = extension.copy(
|
||||
isObsolete = isObsolete,
|
||||
isObsolete = true,
|
||||
// KMK -->
|
||||
hasUpdate = false,
|
||||
repoUrl = null,
|
||||
repoName = extension.repoName,
|
||||
// KMK <--
|
||||
)
|
||||
// KMK -->
|
||||
// KMK: changed = true
|
||||
changed = changed || isObsolete || noExtAvailable && (extension.isObsolete || extension.hasUpdate)
|
||||
// KMK <--
|
||||
changed = true
|
||||
// SY -->
|
||||
} else if (extension.isBlacklisted() && !extension.isRedundant) {
|
||||
installedExtensionsMap[pkgName] = extension.copy(isRedundant = true)
|
||||
changed = true
|
||||
// SY <--
|
||||
} else /* KMK --> if (availableExt != null) // KMK <-- */ {
|
||||
// Update installed extensions with new information from repo
|
||||
} else if (availableExt != null) {
|
||||
// Ext found: Update installed extensions with new information from repo
|
||||
// Also clear isObsolete and set new repo Name if needed
|
||||
val hasUpdate = extension.updateExists(availableExt)
|
||||
installedExtensionsMap[pkgName] = extension.copy(
|
||||
hasUpdate = hasUpdate,
|
||||
|
|
|
|||
Loading…
Reference in a new issue