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.White
import ru.tech.imageresizershrinker.core.ui.theme.outlineVariant 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.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.ImageToolboxCompositionLocals
import ru.tech.imageresizershrinker.core.ui.utils.provider.LocalScreenSize import ru.tech.imageresizershrinker.core.ui.utils.provider.LocalScreenSize
import ru.tech.imageresizershrinker.core.ui.utils.provider.rememberLocalEssentials import ru.tech.imageresizershrinker.core.ui.utils.provider.rememberLocalEssentials
@ -104,7 +105,7 @@ class CrashActivity : CrashHandler() {
val title = "[Bug] App Crash: $exName" val title = "[Bug] App Crash: $exName"
val deviceInfo = 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" val body = "$deviceInfo$ex"
setContentWithWindowSizeClass { setContentWithWindowSizeClass {

View File

@ -37,10 +37,21 @@ val AppVersionPreRelease: String by lazy {
.split("-") .split("-")
.takeIf { it.size > 1 } .takeIf { it.size > 1 }
?.drop(1)?.first() ?.drop(1)?.first()
?.takeWhile { it.isLetter() } ?.takeWhile { it.isLetter() } ?: ""
?.uppercase()?.takeIf { it.isNotEmpty() }?.let { }
" $it"
} ?: "" @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" 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.resources.emoji.Emoji
import ru.tech.imageresizershrinker.core.ui.shapes.MaterialStarShape import ru.tech.imageresizershrinker.core.ui.shapes.MaterialStarShape
import ru.tech.imageresizershrinker.core.ui.utils.confetti.LocalConfettiHostState 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.utils.navigation.Screen
import ru.tech.imageresizershrinker.core.ui.widget.enhanced.EnhancedIconButton import ru.tech.imageresizershrinker.core.ui.widget.enhanced.EnhancedIconButton
import ru.tech.imageresizershrinker.core.ui.widget.enhanced.EnhancedTopAppBar import ru.tech.imageresizershrinker.core.ui.widget.enhanced.EnhancedTopAppBar
@ -264,7 +265,7 @@ fun EasterEggContent(
maxLines = 1 maxLines = 1
) )
AutoSizeText( 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( style = LocalTextStyle.current.copy(
fontSize = 12.sp, fontSize = 12.sp,
fontWeight = FontWeight.Normal, 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.Spacer
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width 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.Icons
import androidx.compose.material.icons.rounded.PushPin import androidx.compose.material.icons.rounded.PushPin
import androidx.compose.material.icons.rounded.Settings import androidx.compose.material.icons.rounded.Settings
import androidx.compose.material.icons.twotone.BugReport
import androidx.compose.material3.Badge import androidx.compose.material3.Badge
import androidx.compose.material3.DrawerState import androidx.compose.material3.DrawerState
import androidx.compose.material3.Icon import androidx.compose.material3.Icon
import androidx.compose.material3.LocalTextStyle
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBarScrollBehavior 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.Color
import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.LayoutDirection 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.model.isFirstLaunch
import ru.tech.imageresizershrinker.core.settings.presentation.provider.LocalSettingsState import ru.tech.imageresizershrinker.core.settings.presentation.provider.LocalSettingsState
import ru.tech.imageresizershrinker.core.ui.theme.toColor 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.ContextUtils.canPinShortcuts
import ru.tech.imageresizershrinker.core.ui.utils.helper.ProvidesValue import ru.tech.imageresizershrinker.core.ui.utils.helper.ProvidesValue
import ru.tech.imageresizershrinker.core.ui.utils.navigation.Screen import ru.tech.imageresizershrinker.core.ui.utils.navigation.Screen
@ -112,13 +116,7 @@ internal fun MainTopAppBar(
title = { title = {
LocalLayoutDirection.ProvidesValue(LayoutDirection.Ltr) { LocalLayoutDirection.ProvidesValue(LayoutDirection.Ltr) {
val badgeText = remember { val badgeText = remember {
"${Screen.FEATURES_COUNT}".plus( "${Screen.FEATURES_COUNT} $AppVersionPreReleaseFlavored"
if (BuildConfig.FLAVOR == "market") {
AppVersionPreRelease
} else {
" ${BuildConfig.FLAVOR.uppercase()} $AppVersionPreRelease"
}
)
} }
Row( Row(
@ -128,6 +126,19 @@ internal fun MainTopAppBar(
AnimatedContent(settingsState.mainScreenTitle) { title -> AnimatedContent(settingsState.mainScreenTitle) { title ->
Text(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( Badge(
content = { content = {
Text(badgeText) 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.Github
import ru.tech.imageresizershrinker.core.resources.icons.GooglePlay import ru.tech.imageresizershrinker.core.resources.icons.GooglePlay
import ru.tech.imageresizershrinker.core.ui.theme.outlineVariant 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.utils.helper.ContextUtils.isInstalledFromPlayStore
import ru.tech.imageresizershrinker.core.ui.widget.enhanced.EnhancedButton import ru.tech.imageresizershrinker.core.ui.widget.enhanced.EnhancedButton
import ru.tech.imageresizershrinker.core.ui.widget.enhanced.EnhancedFloatingActionButton import ru.tech.imageresizershrinker.core.ui.widget.enhanced.EnhancedFloatingActionButton
@ -89,7 +90,7 @@ internal fun SearchableBottomBar(
onClick = onTryGetUpdate onClick = onTryGetUpdate
) { ) {
Text( Text(
stringResource(R.string.version) + " ${BuildConfig.VERSION_NAME} (${BuildConfig.VERSION_CODE})" stringResource(R.string.version) + " $AppVersion (${BuildConfig.VERSION_CODE})"
) )
} }
} else { } 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.shapes.MaterialStarShape
import ru.tech.imageresizershrinker.core.ui.theme.blend import ru.tech.imageresizershrinker.core.ui.theme.blend
import ru.tech.imageresizershrinker.core.ui.theme.outlineVariant 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.ContainerShapeDefaults
import ru.tech.imageresizershrinker.core.ui.widget.modifier.container import ru.tech.imageresizershrinker.core.ui.widget.modifier.container
import ru.tech.imageresizershrinker.core.ui.widget.modifier.pulsate import ru.tech.imageresizershrinker.core.ui.widget.modifier.pulsate
@ -64,7 +65,7 @@ fun CurrentVersionCodeSettingItem(
.then(modifier), .then(modifier),
title = stringResource(R.string.version), title = stringResource(R.string.version),
subtitle = remember { subtitle = remember {
"${BuildConfig.VERSION_NAME}${if (BuildConfig.FLAVOR == "foss") "-foss" else ""} (${BuildConfig.VERSION_CODE})" "$AppVersion (${BuildConfig.VERSION_CODE})"
}, },
startIcon = Icons.Outlined.Verified, startIcon = Icons.Outlined.Verified,
endContent = { endContent = {