Improve debug version

This commit is contained in:
T8RIN
2025-02-19 19:42:51 +03:00
parent d24a79bfed
commit 6979ff52c2
6 changed files with 42 additions and 16 deletions

View File

@ -81,6 +81,7 @@ import ru.tech.imageresizershrinker.core.ui.theme.ImageToolboxThemeSurface
import ru.tech.imageresizershrinker.core.ui.theme.White
import ru.tech.imageresizershrinker.core.ui.theme.outlineVariant
import ru.tech.imageresizershrinker.core.ui.utils.helper.AppActivityClass
import ru.tech.imageresizershrinker.core.ui.utils.helper.AppVersion
import ru.tech.imageresizershrinker.core.ui.utils.provider.ImageToolboxCompositionLocals
import ru.tech.imageresizershrinker.core.ui.utils.provider.LocalScreenSize
import ru.tech.imageresizershrinker.core.ui.utils.provider.rememberLocalEssentials
@ -104,7 +105,7 @@ class CrashActivity : CrashHandler() {
val title = "[Bug] App Crash: $exName"
val deviceInfo =
"Device: ${Build.MODEL} (${Build.BRAND} - ${Build.DEVICE}), SDK: ${Build.VERSION.SDK_INT} (${Build.VERSION.RELEASE}), App: ${BuildConfig.VERSION_NAME} (${BuildConfig.VERSION_CODE})\n\n"
"Device: ${Build.MODEL} (${Build.BRAND} - ${Build.DEVICE}), SDK: ${Build.VERSION.SDK_INT} (${Build.VERSION.RELEASE}), App: $AppVersion (${BuildConfig.VERSION_CODE})\n\n"
val body = "$deviceInfo$ex"
setContentWithWindowSizeClass {

View File

@ -37,10 +37,21 @@ val AppVersionPreRelease: String by lazy {
.split("-")
.takeIf { it.size > 1 }
?.drop(1)?.first()
?.takeWhile { it.isLetter() }
?.uppercase()?.takeIf { it.isNotEmpty() }?.let {
" $it"
} ?: ""
?.takeWhile { it.isLetter() } ?: ""
}
@Suppress("KotlinConstantConditions")
val AppVersionPreReleaseFlavored: String by lazy {
if (BuildConfig.FLAVOR == "market") {
AppVersionPreRelease
} else {
"${BuildConfig.FLAVOR} $AppVersionPreRelease"
}.uppercase()
}
@Suppress("KotlinConstantConditions")
val AppVersion: String by lazy {
BuildConfig.VERSION_NAME + if (BuildConfig.FLAVOR == "foss") "-foss" else ""
}
const val ColorSchemeName = "scheme"

View File

@ -72,6 +72,7 @@ import ru.tech.imageresizershrinker.core.resources.R
import ru.tech.imageresizershrinker.core.resources.emoji.Emoji
import ru.tech.imageresizershrinker.core.ui.shapes.MaterialStarShape
import ru.tech.imageresizershrinker.core.ui.utils.confetti.LocalConfettiHostState
import ru.tech.imageresizershrinker.core.ui.utils.helper.AppVersion
import ru.tech.imageresizershrinker.core.ui.utils.navigation.Screen
import ru.tech.imageresizershrinker.core.ui.widget.enhanced.EnhancedIconButton
import ru.tech.imageresizershrinker.core.ui.widget.enhanced.EnhancedTopAppBar
@ -264,7 +265,7 @@ fun EasterEggContent(
maxLines = 1
)
AutoSizeText(
text = "${BuildConfig.VERSION_NAME}${if (BuildConfig.FLAVOR == "foss") "-foss" else ""}\n(${BuildConfig.VERSION_CODE})",
text = "$AppVersion\n(${BuildConfig.VERSION_CODE})",
style = LocalTextStyle.current.copy(
fontSize = 12.sp,
fontWeight = FontWeight.Normal,

View File

@ -29,6 +29,7 @@ import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
@ -43,9 +44,11 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.rounded.PushPin
import androidx.compose.material.icons.rounded.Settings
import androidx.compose.material.icons.twotone.BugReport
import androidx.compose.material3.Badge
import androidx.compose.material3.DrawerState
import androidx.compose.material3.Icon
import androidx.compose.material3.LocalTextStyle
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBarScrollBehavior
@ -63,6 +66,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.LayoutDirection
@ -74,7 +78,7 @@ import ru.tech.imageresizershrinker.core.resources.icons.AppShortcut
import ru.tech.imageresizershrinker.core.settings.presentation.model.isFirstLaunch
import ru.tech.imageresizershrinker.core.settings.presentation.provider.LocalSettingsState
import ru.tech.imageresizershrinker.core.ui.theme.toColor
import ru.tech.imageresizershrinker.core.ui.utils.helper.AppVersionPreRelease
import ru.tech.imageresizershrinker.core.ui.utils.helper.AppVersionPreReleaseFlavored
import ru.tech.imageresizershrinker.core.ui.utils.helper.ContextUtils.canPinShortcuts
import ru.tech.imageresizershrinker.core.ui.utils.helper.ProvidesValue
import ru.tech.imageresizershrinker.core.ui.utils.navigation.Screen
@ -112,13 +116,7 @@ internal fun MainTopAppBar(
title = {
LocalLayoutDirection.ProvidesValue(LayoutDirection.Ltr) {
val badgeText = remember {
"${Screen.FEATURES_COUNT}".plus(
if (BuildConfig.FLAVOR == "market") {
AppVersionPreRelease
} else {
" ${BuildConfig.FLAVOR.uppercase()} $AppVersionPreRelease"
}
)
"${Screen.FEATURES_COUNT} $AppVersionPreReleaseFlavored"
}
Row(
@ -128,6 +126,19 @@ internal fun MainTopAppBar(
AnimatedContent(settingsState.mainScreenTitle) { title ->
Text(title)
}
if (BuildConfig.DEBUG) {
Icon(
imageVector = Icons.TwoTone.BugReport,
contentDescription = null,
modifier = Modifier
.offset(x = 2.dp)
.size(
with(LocalDensity.current) {
LocalTextStyle.current.fontSize.toDp() * 1.05f
}
)
)
}
Badge(
content = {
Text(badgeText)

View File

@ -54,6 +54,7 @@ import ru.tech.imageresizershrinker.core.resources.R
import ru.tech.imageresizershrinker.core.resources.icons.Github
import ru.tech.imageresizershrinker.core.resources.icons.GooglePlay
import ru.tech.imageresizershrinker.core.ui.theme.outlineVariant
import ru.tech.imageresizershrinker.core.ui.utils.helper.AppVersion
import ru.tech.imageresizershrinker.core.ui.utils.helper.ContextUtils.isInstalledFromPlayStore
import ru.tech.imageresizershrinker.core.ui.widget.enhanced.EnhancedButton
import ru.tech.imageresizershrinker.core.ui.widget.enhanced.EnhancedFloatingActionButton
@ -89,7 +90,7 @@ internal fun SearchableBottomBar(
onClick = onTryGetUpdate
) {
Text(
stringResource(R.string.version) + " ${BuildConfig.VERSION_NAME} (${BuildConfig.VERSION_CODE})"
stringResource(R.string.version) + " $AppVersion (${BuildConfig.VERSION_CODE})"
)
}
} else {

View File

@ -41,6 +41,7 @@ import ru.tech.imageresizershrinker.core.settings.presentation.provider.LocalSet
import ru.tech.imageresizershrinker.core.ui.shapes.MaterialStarShape
import ru.tech.imageresizershrinker.core.ui.theme.blend
import ru.tech.imageresizershrinker.core.ui.theme.outlineVariant
import ru.tech.imageresizershrinker.core.ui.utils.helper.AppVersion
import ru.tech.imageresizershrinker.core.ui.widget.modifier.ContainerShapeDefaults
import ru.tech.imageresizershrinker.core.ui.widget.modifier.container
import ru.tech.imageresizershrinker.core.ui.widget.modifier.pulsate
@ -64,7 +65,7 @@ fun CurrentVersionCodeSettingItem(
.then(modifier),
title = stringResource(R.string.version),
subtitle = remember {
"${BuildConfig.VERSION_NAME}${if (BuildConfig.FLAVOR == "foss") "-foss" else ""} (${BuildConfig.VERSION_CODE})"
"$AppVersion (${BuildConfig.VERSION_CODE})"
},
startIcon = Icons.Outlined.Verified,
endContent = {