diff --git a/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt b/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt index 0a1ec147e..f132708e2 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt @@ -214,9 +214,6 @@ class ExtensionManager( * @param availableExtensions The list of extensions given by the [api]. */ private fun updatedInstalledExtensionsStatuses(availableExtensions: List) { - // 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,