Only enable ACRA crash logging in preview and stable release builds

(cherry picked from commit 6e04822f5e2f0985a98a86c814099b0cf85cb7f8)

# Conflicts:
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsAdvancedScreen.kt
#	app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsReaderScreen.kt
#	app/src/main/java/eu/kanade/tachiyomi/App.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/setting/ReaderPreferences.kt
#	app/src/main/java/eu/kanade/tachiyomi/util/system/BuildConfig.kt
This commit is contained in:
arkon 2022-10-22 15:47:09 -04:00 committed by Jobobby04
parent d853aa0c1b
commit 3314b46630
9 changed files with 23 additions and 14 deletions

View File

@ -5,6 +5,8 @@ import eu.kanade.tachiyomi.core.preference.PreferenceStore
import eu.kanade.tachiyomi.core.preference.getEnum
import eu.kanade.tachiyomi.data.preference.PreferenceValues
import eu.kanade.tachiyomi.util.system.DeviceUtil
import eu.kanade.tachiyomi.util.system.isPreviewBuildType
import eu.kanade.tachiyomi.util.system.isReleaseBuildType
class BasePreferences(
val context: Context,
@ -24,5 +26,5 @@ class BasePreferences(
if (DeviceUtil.isMiui) PreferenceValues.ExtensionInstaller.LEGACY else PreferenceValues.ExtensionInstaller.PACKAGEINSTALLER,
)
fun acraEnabled() = preferenceStore.getBoolean("acra.enable", true)
fun acraEnabled() = preferenceStore.getBoolean("acra.enable", isPreviewBuildType || isReleaseBuildType)
}

View File

@ -41,6 +41,7 @@ import eu.kanade.tachiyomi.util.lang.toDateTimestampString
import eu.kanade.tachiyomi.util.lang.withIOContext
import eu.kanade.tachiyomi.util.lang.withUIContext
import eu.kanade.tachiyomi.util.system.copyToClipboard
import eu.kanade.tachiyomi.util.system.isPreviewBuildType
import eu.kanade.tachiyomi.util.system.logcat
import eu.kanade.tachiyomi.util.system.toast
import exh.syDebugVersion
@ -217,7 +218,7 @@ class AboutScreen : Screen {
}
}
// SY -->
syDebugVersion != "0" -> {
isPreviewBuildType -> {
"Preview r$syDebugVersion".let {
if (withBuildDate) {
"$it (${BuildConfig.COMMIT_SHA}, ${getFormattedBuildTime()})"

View File

@ -115,7 +115,7 @@ class SettingsAdvancedScreen : SearchableSettings {
pref = basePreferences.acraEnabled(),
title = stringResource(R.string.pref_enable_acra),
subtitle = stringResource(R.string.pref_acra_summary),
enabled = !isDevFlavor,
enabled = isPreviewBuildType || isReleaseBuildType,
), SY <-- */
Preference.PreferenceItem.TextPreference(
title = stringResource(R.string.pref_dump_crash_logs),

View File

@ -19,7 +19,7 @@ import eu.kanade.tachiyomi.ui.reader.setting.ReaderBottomButton
import eu.kanade.tachiyomi.ui.reader.setting.ReaderPreferences
import eu.kanade.tachiyomi.ui.reader.setting.ReadingModeType
import eu.kanade.tachiyomi.ui.reader.viewer.pager.PagerConfig
import eu.kanade.tachiyomi.util.system.isReleaseFlavor
import eu.kanade.tachiyomi.util.system.isReleaseBuildType
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
@ -333,7 +333,7 @@ class SettingsReaderScreen : SearchableSettings {
pref = readerPreferences.longStripSplitWebtoon(),
title = stringResource(R.string.pref_long_strip_split),
subtitle = stringResource(R.string.split_tall_images_summary),
enabled = !isReleaseFlavor, // TODO: Show in release build when the feature is stable
enabled = !isReleaseBuildType, // TODO: Show in release build when the feature is stable
),
// SY -->
Preference.PreferenceItem.SwitchPreference(

View File

@ -60,6 +60,7 @@ import eu.kanade.tachiyomi.network.NetworkPreferences
import eu.kanade.tachiyomi.ui.base.delegate.SecureActivityDelegate
import eu.kanade.tachiyomi.util.system.WebViewUtil
import eu.kanade.tachiyomi.util.system.animatorDurationScale
import eu.kanade.tachiyomi.util.system.isPreviewBuildType
import eu.kanade.tachiyomi.util.system.logcat
import eu.kanade.tachiyomi.util.system.notification
import exh.debug.DebugToggles
@ -213,7 +214,7 @@ class App : Application(), DefaultLifecycleObserver, ImageLoaderFactory {
}
private fun addAnalytics() {
if (syDebugVersion != "0") {
if (isPreviewBuildType) {
Firebase.analytics.setUserProperty("preview_version", syDebugVersion)
}
}

View File

@ -10,6 +10,8 @@ import eu.kanade.tachiyomi.network.await
import eu.kanade.tachiyomi.network.parseAs
import eu.kanade.tachiyomi.util.lang.withIOContext
import eu.kanade.tachiyomi.util.system.getInstallerPackageName
import eu.kanade.tachiyomi.util.system.isPreviewBuildType
import eu.kanade.tachiyomi.util.system.isReleaseBuildType
import exh.syDebugVersion
import uy.kohesive.injekt.injectLazy
import java.util.Date
@ -60,7 +62,7 @@ class AppUpdateChecker {
}
// SY -->
private fun isNewVersionSY(versionTag: String) = (versionTag != BuildConfig.VERSION_NAME && syDebugVersion == "0") || (syDebugVersion != "0" && versionTag != syDebugVersion)
private fun isNewVersionSY(versionTag: String) = (versionTag != BuildConfig.VERSION_NAME && isReleaseBuildType) || (isPreviewBuildType && versionTag != syDebugVersion)
// SY <--
private fun isNewVersion(versionTag: String): Boolean {
@ -91,8 +93,8 @@ class AppUpdateChecker {
}
val GITHUB_REPO: String by lazy {
// Sy -->
if (syDebugVersion != "0") {
// SY -->
if (isPreviewBuildType) {
"jobobby04/TachiyomiSYPreview"
} else {
"jobobby04/tachiyomiSY"

View File

@ -8,7 +8,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
import eu.kanade.tachiyomi.BuildConfig
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.base.controller.DialogController
import exh.syDebugVersion
import eu.kanade.tachiyomi.util.system.isPreviewBuildType
import it.gmariotti.changelibs.library.view.ChangeLogRecyclerView
class WhatsNewDialogController : DialogController() {
@ -28,7 +28,7 @@ class WhatsNewDialogController : DialogController() {
override fun initAttrs(attrs: AttributeSet?, defStyle: Int) {
mRowLayoutId = R.layout.changelog_row_layout
mRowHeaderLayoutId = R.layout.changelog_header_layout
mChangeLogFileResourceId = if (BuildConfig.DEBUG /* SY --> */ || syDebugVersion != "0"/* SY <-- */) R.raw.changelog_debug else R.raw.changelog_release
mChangeLogFileResourceId = if (BuildConfig.DEBUG /* SY --> */ || isPreviewBuildType/* SY <-- */) R.raw.changelog_debug else R.raw.changelog_release
}
}
}

View File

@ -4,7 +4,7 @@ import eu.kanade.tachiyomi.core.preference.PreferenceStore
import eu.kanade.tachiyomi.core.preference.getEnum
import eu.kanade.tachiyomi.data.preference.PreferenceValues
import eu.kanade.tachiyomi.ui.reader.viewer.pager.PagerConfig
import eu.kanade.tachiyomi.util.system.isReleaseFlavor
import eu.kanade.tachiyomi.util.system.isReleaseBuildType
class ReaderPreferences(
private val preferenceStore: PreferenceStore,
@ -37,7 +37,7 @@ class ReaderPreferences(
fun defaultOrientationType() = preferenceStore.getInt("pref_default_orientation_type_key", OrientationType.FREE.flagValue)
// TODO: Enable in release build when the feature is stable
fun longStripSplitWebtoon() = preferenceStore.getBoolean("pref_long_strip_split_webtoon", !isReleaseFlavor)
fun longStripSplitWebtoon() = preferenceStore.getBoolean("pref_long_strip_split_webtoon", !isReleaseBuildType)
fun imageScaleType() = preferenceStore.getInt("pref_image_scale_type_key", 1)

View File

@ -6,5 +6,8 @@ import exh.syDebugVersion
val isDevFlavor: Boolean
get() = BuildConfig.FLAVOR == "dev"
val isReleaseFlavor: Boolean
val isPreviewBuildType: Boolean
get() = BuildConfig.BUILD_TYPE == "release" /* SY --> */ && syDebugVersion != "0" /* SY <-- */
val isReleaseBuildType: Boolean
get() = BuildConfig.BUILD_TYPE == "release" /* SY --> */ && syDebugVersion == "0" /* SY <-- */