From 5f2e979bb5b8abfe2d1b3d6cace67a4db0d17108 Mon Sep 17 00:00:00 2001
From: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
Date: Wed, 26 Feb 2025 02:13:14 +0600
Subject: [PATCH] Remove F-droid warnings
(cherry picked from commit 181dbbb638686a284fa24c4e43d7c022a4f8e4bb)
# Conflicts:
# app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
# app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
# app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateNotifier.kt
# app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt
# app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt
# domain/src/test/java/tachiyomi/domain/release/interactor/GetApplicationReleaseTest.kt
---
.../eu/kanade/presentation/more/MoreScreen.kt | 22 +-------------
.../data/updater/AppUpdateChecker.kt | 5 ----
.../data/updater/AppUpdateNotifier.kt | 21 -------------
.../eu/kanade/tachiyomi/ui/more/MoreTab.kt | 2 --
.../util/system/ContextExtensions.kt | 18 -----------
.../interactor/GetApplicationRelease.kt | 3 --
.../interactor/GetApplicationReleaseTest.kt | 30 -------------------
.../moko-resources/base/strings.xml | 1 -
8 files changed, 1 insertion(+), 101 deletions(-)
diff --git a/app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt b/app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
index 837ebc609..f5bc887b0 100644
--- a/app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
+++ b/app/src/main/java/eu/kanade/presentation/more/MoreScreen.kt
@@ -49,7 +49,6 @@ fun MoreScreen(
onDownloadedOnlyChange: (Boolean) -> Unit,
incognitoMode: Boolean,
onIncognitoModeChange: (Boolean) -> Unit,
- isFDroid: Boolean,
// SY -->
showNavUpdates: Boolean,
showNavHistory: Boolean,
@@ -66,26 +65,7 @@ fun MoreScreen(
) {
val uriHandler = LocalUriHandler.current
- Scaffold(
- topBar = {
- Column(
- modifier = Modifier.windowInsetsPadding(
- WindowInsets.systemBars.only(WindowInsetsSides.Top + WindowInsetsSides.Horizontal),
- ),
- ) {
- if (isFDroid) {
- WarningBanner(
- textRes = MR.strings.fdroid_warning,
- modifier = Modifier.clickable {
- uriHandler.openUri(
- "https://mihon.app/docs/faq/general#how-do-i-update-from-the-f-droid-builds",
- )
- },
- )
- }
- }
- },
- ) { contentPadding ->
+ Scaffold { contentPadding ->
ScrollbarLazyColumn(
modifier = Modifier.padding(contentPadding),
) {
diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt b/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
index 6ff80f455..bfe4a43d7 100755
--- a/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateChecker.kt
@@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.data.updater
import android.content.Context
import eu.kanade.tachiyomi.BuildConfig
-import eu.kanade.tachiyomi.util.system.isInstalledFromFDroid
import eu.kanade.tachiyomi.util.system.isPreviewBuildType
import exh.syDebugVersion
import tachiyomi.core.common.util.lang.withIOContext
@@ -25,7 +24,6 @@ class AppUpdateChecker {
// SY -->
isPreviewBuildType,
// SY <--
- context.isInstalledFromFDroid(),
BuildConfig.COMMIT_COUNT.toInt(),
BuildConfig.VERSION_NAME,
GITHUB_REPO,
@@ -38,9 +36,6 @@ class AppUpdateChecker {
when (result) {
is GetApplicationRelease.Result.NewUpdate -> AppUpdateNotifier(context).promptUpdate(result.release)
- is GetApplicationRelease.Result.ThirdPartyInstallation -> AppUpdateNotifier(
- context,
- ).promptFdroidUpdate()
else -> {}
}
diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateNotifier.kt b/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateNotifier.kt
index 0970cf1f4..bd9bdbe30 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateNotifier.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/data/updater/AppUpdateNotifier.kt
@@ -139,27 +139,6 @@ internal class AppUpdateNotifier(private val context: Context) {
notificationBuilder.show(Notifications.ID_APP_UPDATE_PROMPT)
}
- /**
- * Some people are still installing the app from F-Droid, so we avoid prompting GitHub-based
- * updates.
- *
- * We can prompt them to migrate to the GitHub version though.
- */
- fun promptFdroidUpdate() {
- with(notificationBuilder) {
- setContentTitle(context.stringResource(MR.strings.update_check_notification_update_available))
- setContentText(context.stringResource(MR.strings.update_check_fdroid_migration_info))
- setSmallIcon(R.drawable.ic_tachi)
- setContentIntent(
- NotificationHandler.openUrl(
- context,
- "https://mihon.app/docs/faq/general#how-do-i-update-from-the-f-droid-builds",
- ),
- )
- }
- notificationBuilder.show(Notifications.ID_APP_UPDATE_PROMPT)
- }
-
/**
* Call when apk download throws a error
*
diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt
index e8435f772..5a82074bc 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt
@@ -29,7 +29,6 @@ import eu.kanade.tachiyomi.ui.history.HistoryTab
import eu.kanade.tachiyomi.ui.setting.SettingsScreen
import eu.kanade.tachiyomi.ui.stats.StatsScreen
import eu.kanade.tachiyomi.ui.updates.UpdatesTab
-import eu.kanade.tachiyomi.util.system.isInstalledFromFDroid
import exh.ui.batchadd.BatchAddScreen
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
@@ -72,7 +71,6 @@ data object MoreTab : Tab {
onDownloadedOnlyChange = { screenModel.downloadedOnly = it },
incognitoMode = screenModel.incognitoMode,
onIncognitoModeChange = { screenModel.incognitoMode = it },
- isFDroid = context.isInstalledFromFDroid(),
// SY -->
showNavUpdates = screenModel.showNavUpdates,
showNavHistory = screenModel.showNavHistory,
diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt b/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt
index dc8b17f2c..ead59cf5b 100644
--- a/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt
+++ b/app/src/main/java/eu/kanade/tachiyomi/util/system/ContextExtensions.kt
@@ -16,7 +16,6 @@ import androidx.core.net.toUri
import com.hippo.unifile.UniFile
import eu.kanade.domain.ui.UiPreferences
import eu.kanade.domain.ui.model.ThemeMode
-import eu.kanade.tachiyomi.BuildConfig
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.base.delegate.ThemingDelegate
import eu.kanade.tachiyomi.ui.reader.setting.ReaderPreferences
@@ -157,23 +156,6 @@ val Context.hasMiuiPackageInstaller get() = isPackageInstalled("com.miui.package
val Context.isShizukuInstalled get() = isPackageInstalled("moe.shizuku.privileged.api") || Sui.isSui()
-fun Context.isInstalledFromFDroid(): Boolean {
- val installerPackageName = try {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
- packageManager.getInstallSourceInfo(packageName).installingPackageName
- } else {
- @Suppress("DEPRECATION")
- packageManager.getInstallerPackageName(packageName)
- }
- } catch (e: Exception) {
- null
- }
-
- return installerPackageName == "org.fdroid.fdroid" ||
- // F-Droid builds typically disable the updater
- (!BuildConfig.INCLUDE_UPDATER && !isDevFlavor)
-}
-
fun Context.launchRequestPackageInstallsPermission() {
val intent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES).apply {
diff --git a/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt b/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt
index 9bc361609..98f5003f8 100644
--- a/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt
+++ b/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt
@@ -35,7 +35,6 @@ class GetApplicationRelease(
isNewVersion(arguments.isPreview, arguments.syDebugVersion, arguments.versionName, release.version)
// SY <--
return when {
- isNewVersion && arguments.isThirdParty -> Result.ThirdPartyInstallation
isNewVersion -> Result.NewUpdate(release)
else -> Result.NoNewUpdate
}
@@ -76,7 +75,6 @@ class GetApplicationRelease(
data class Arguments(
val isPreview: Boolean,
- val isThirdParty: Boolean,
val commitCount: Int,
val versionName: String,
val repository: String,
@@ -90,6 +88,5 @@ class GetApplicationRelease(
data class NewUpdate(val release: Release) : Result
data object NoNewUpdate : Result
data object OsTooOld : Result
- data object ThirdPartyInstallation : Result
}
}
diff --git a/domain/src/test/java/tachiyomi/domain/release/interactor/GetApplicationReleaseTest.kt b/domain/src/test/java/tachiyomi/domain/release/interactor/GetApplicationReleaseTest.kt
index 80241d472..bfd35899a 100644
--- a/domain/src/test/java/tachiyomi/domain/release/interactor/GetApplicationReleaseTest.kt
+++ b/domain/src/test/java/tachiyomi/domain/release/interactor/GetApplicationReleaseTest.kt
@@ -30,32 +30,6 @@ class GetApplicationReleaseTest {
getApplicationRelease = GetApplicationRelease(releaseService, preferenceStore)
}
- @Test
- fun `When has update but is third party expect third party installation`() = runTest {
- every { preference.get() } returns 0
- every { preference.set(any()) }.answers { }
-
- coEvery { releaseService.latest(any()) } returns Release(
- "v2.0.0",
- "info",
- "http://example.com/release_link",
- listOf("http://example.com/assets"),
- )
-
- val result = getApplicationRelease.await(
- GetApplicationRelease.Arguments(
- isPreview = false,
- isThirdParty = true,
- commitCount = 0,
- versionName = "v1.0.0",
- repository = "test",
- syDebugVersion = "0",
- ),
- )
-
- result shouldBe GetApplicationRelease.Result.ThirdPartyInstallation
- }
-
@Test
fun `When has update but is preview expect new update`() = runTest {
every { preference.get() } returns 0
@@ -73,7 +47,6 @@ class GetApplicationReleaseTest {
val result = getApplicationRelease.await(
GetApplicationRelease.Arguments(
isPreview = true,
- isThirdParty = false,
commitCount = 1000,
versionName = "",
repository = "test",
@@ -103,7 +76,6 @@ class GetApplicationReleaseTest {
val result = getApplicationRelease.await(
GetApplicationRelease.Arguments(
isPreview = false,
- isThirdParty = false,
commitCount = 0,
versionName = "v1.0.0",
syDebugVersion = "0",
@@ -133,7 +105,6 @@ class GetApplicationReleaseTest {
val result = getApplicationRelease.await(
GetApplicationRelease.Arguments(
isPreview = false,
- isThirdParty = false,
commitCount = 0,
versionName = "v2.0.0",
syDebugVersion = "0",
@@ -161,7 +132,6 @@ class GetApplicationReleaseTest {
val result = getApplicationRelease.await(
GetApplicationRelease.Arguments(
isPreview = false,
- isThirdParty = false,
commitCount = 0,
versionName = "v2.0.0",
syDebugVersion = "0",
diff --git a/i18n/src/commonMain/moko-resources/base/strings.xml b/i18n/src/commonMain/moko-resources/base/strings.xml
index e732b65cc..a79548663 100755
--- a/i18n/src/commonMain/moko-resources/base/strings.xml
+++ b/i18n/src/commonMain/moko-resources/base/strings.xml
@@ -922,7 +922,6 @@
Tap to install update
Download error
New version available!
- A new version is available from the official releases. Tap to learn how to migrate from unofficial F-Droid releases.
No downloads