From d5d601600b986826060c2a2777b858e8e552c22a Mon Sep 17 00:00:00 2001 From: ziro Date: Sat, 27 Jan 2024 07:34:48 +0700 Subject: [PATCH] fix: Duplicate untrusted extension upon update Temporary fix, these handlers are so broken. I heard Mihon is planning to revert back to trusting signatures. --- .../eu/kanade/tachiyomi/extension/ExtensionManager.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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 c1bc3f5455..4e0fe5eccd 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/extension/ExtensionManager.kt @@ -406,11 +406,16 @@ class ExtensionManager( } override fun onExtensionUntrusted(extension: Extension.Untrusted) { - val installedExtension = _installedExtensionsFlow.value + val installedExtension = installedExtensionsFlow.value .find { it.pkgName == extension.pkgName } - if (installedExtension != null) _installedExtensionsFlow.value -= installedExtension + if (installedExtension != null) { + _installedExtensionsFlow.value -= installedExtension + preferences.extensionUpdatesCount().set(installedExtensionsFlow.value.count { it.hasUpdate }) + } - _untrustedExtensionsFlow.value += extension + val untrustedExtension = untrustedExtensionsFlow.value + .find { it.pkgName == extension.pkgName } + if (untrustedExtension == null) _untrustedExtensionsFlow.value += extension } override fun onPackageUninstalled(pkgName: String) {