From b393088cfa75efdd826c8037e1dfac4e3b129954 Mon Sep 17 00:00:00 2001 From: AntsyLich <59261191+AntsyLich@users.noreply.github.com> Date: Sat, 15 Aug 2026 01:20:55 +0600 Subject: [PATCH] Rename preview build type to nightly and label FOSS builds (#3760) Assisted-by: Claude:claude-opus-5 --- app/build.gradle.kts | 4 ++-- .../more/settings/screen/about/AboutScreen.kt | 10 ++++++---- .../kanade/tachiyomi/data/updater/AppUpdateChecker.kt | 8 ++++---- .../eu/kanade/tachiyomi/util/system/BuildConfig.kt | 4 ++-- .../domain/release/interactor/GetApplicationRelease.kt | 10 +++++----- .../release/interactor/GetApplicationReleaseTest.kt | 8 ++++---- 6 files changed, 23 insertions(+), 21 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 845a719e5..7412ff043 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -99,7 +99,7 @@ android { matchingFallbacks.addAll(commonMatchingFallbacks) } - create("preview") { + create("nightly") { initWith(release) applicationIdSuffix = ".debug" @@ -121,7 +121,7 @@ android { } sourceSets { - getByName("preview").res.directories.add("src/debug/res") + getByName("nightly").res.directories.add("src/debug/res") getByName("benchmark").res.directories.add("src/debug/res") } diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt index 8ff580cd7..ce9743b01 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt @@ -36,7 +36,8 @@ import eu.kanade.tachiyomi.ui.more.NewUpdateScreen import eu.kanade.tachiyomi.util.CrashLogUtil import eu.kanade.tachiyomi.util.lang.toDateTimestampString import eu.kanade.tachiyomi.util.system.copyToClipboard -import eu.kanade.tachiyomi.util.system.isPreviewBuildType +import eu.kanade.tachiyomi.util.system.isFossBuildType +import eu.kanade.tachiyomi.util.system.isNightlyBuildType import eu.kanade.tachiyomi.util.system.toast import eu.kanade.tachiyomi.util.system.updaterEnabled import kotlinx.coroutines.launch @@ -250,8 +251,8 @@ object AboutScreen : Screen() { } } } - isPreviewBuildType -> { - "Beta r${BuildConfig.COMMIT_COUNT}".let { + isNightlyBuildType -> { + "Nightly r${BuildConfig.COMMIT_COUNT}".let { if (withBuildDate) { "$it (${BuildConfig.COMMIT_SHA}, ${getFormattedBuildTime()})" } else { @@ -260,7 +261,8 @@ object AboutScreen : Screen() { } } else -> { - "Stable ${BuildConfig.VERSION_NAME}".let { + val channel = if (isFossBuildType) "FOSS" else "Stable" + "$channel v${BuildConfig.VERSION_NAME}".let { if (withBuildDate) { "$it (${getFormattedBuildTime()})" } else { 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 c62e40f5c..f1d450a23 100644 --- 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,7 @@ package eu.kanade.tachiyomi.data.updater import eu.kanade.tachiyomi.BuildConfig import eu.kanade.tachiyomi.util.system.isFossBuildType -import eu.kanade.tachiyomi.util.system.isPreviewBuildType +import eu.kanade.tachiyomi.util.system.isNightlyBuildType import tachiyomi.core.common.util.lang.withIOContext import tachiyomi.domain.release.interactor.GetApplicationRelease import uy.kohesive.injekt.injectLazy @@ -21,7 +21,7 @@ class AppUpdateChecker { val result = getApplicationRelease.await( GetApplicationRelease.Arguments( isFossBuildType, - isPreviewBuildType, + isNightlyBuildType, BuildConfig.COMMIT_COUNT.toInt(), BuildConfig.VERSION_NAME, GITHUB_REPO, @@ -35,7 +35,7 @@ class AppUpdateChecker { } val GITHUB_REPO: String by lazy { - if (isPreviewBuildType) { + if (isNightlyBuildType) { "mihonapp/mihon-preview" } else { "mihonapp/mihon" @@ -43,7 +43,7 @@ val GITHUB_REPO: String by lazy { } val RELEASE_TAG: String by lazy { - if (isPreviewBuildType) { + if (isNightlyBuildType) { "r${BuildConfig.COMMIT_COUNT}" } else { "v${BuildConfig.VERSION_NAME}" diff --git a/app/src/main/java/eu/kanade/tachiyomi/util/system/BuildConfig.kt b/app/src/main/java/eu/kanade/tachiyomi/util/system/BuildConfig.kt index 073b3732d..de6af938a 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/util/system/BuildConfig.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/util/system/BuildConfig.kt @@ -13,8 +13,8 @@ val updaterEnabled: Boolean val isDebugBuildType: Boolean inline get() = BuildConfig.BUILD_TYPE == "debug" -val isPreviewBuildType: Boolean - inline get() = BuildConfig.BUILD_TYPE == "preview" +val isNightlyBuildType: Boolean + inline get() = BuildConfig.BUILD_TYPE == "nightly" val isReleaseBuildType: Boolean inline get() = BuildConfig.BUILD_TYPE == "release" 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 23c7a783c..49e9849e6 100644 --- a/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt +++ b/domain/src/main/java/tachiyomi/domain/release/interactor/GetApplicationRelease.kt @@ -11,7 +11,7 @@ class GetApplicationRelease( // Check if latest version is different from current version val isNewVersion = isNewVersion( - arguments.isPreview, + arguments.isNightly, arguments.commitCount, arguments.versionName, release.version, @@ -23,15 +23,15 @@ class GetApplicationRelease( } private fun isNewVersion( - isPreview: Boolean, + isNightly: Boolean, commitCount: Int, versionName: String, versionTag: String, ): Boolean { // Removes prefixes like "r" or "v" val newVersion = versionTag.replace("[^\\d.]".toRegex(), "") - return if (isPreview) { - // Preview builds: based on releases in "mihonapp/mihon-preview" repo + return if (isNightly) { + // Nightly builds: based on releases in "mihonapp/mihon-preview" repo // tagged as something like "r1234" newVersion.toInt() > commitCount } else { @@ -54,7 +54,7 @@ class GetApplicationRelease( data class Arguments( val isFoss: Boolean, - val isPreview: Boolean, + val isNightly: Boolean, val commitCount: Int, val versionName: String, val repository: String, 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 ac730b2e1..fcbb3ca0d 100644 --- a/domain/src/test/java/tachiyomi/domain/release/interactor/GetApplicationReleaseTest.kt +++ b/domain/src/test/java/tachiyomi/domain/release/interactor/GetApplicationReleaseTest.kt @@ -22,7 +22,7 @@ class GetApplicationReleaseTest { } @Test - fun `When has update but is preview expect new update`() = runTest { + fun `When has update but is nightly expect new update`() = runTest { val release = Release( "r2000", "info", @@ -35,7 +35,7 @@ class GetApplicationReleaseTest { val result = getApplicationRelease.await( GetApplicationRelease.Arguments( isFoss = false, - isPreview = true, + isNightly = true, commitCount = 1000, versionName = "", repository = "test", @@ -61,7 +61,7 @@ class GetApplicationReleaseTest { val result = getApplicationRelease.await( GetApplicationRelease.Arguments( isFoss = false, - isPreview = false, + isNightly = false, commitCount = 0, versionName = "v1.0.0", repository = "test", @@ -87,7 +87,7 @@ class GetApplicationReleaseTest { val result = getApplicationRelease.await( GetApplicationRelease.Arguments( isFoss = false, - isPreview = false, + isNightly = false, commitCount = 0, versionName = "v2.0.0", repository = "test",