mirror of
https://github.com/T8RIN/ImageToolbox.git
synced 2025-08-06 15:49:35 +08:00
Improve debug version
This commit is contained in:
@ -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 {
|
||||||
|
@ -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"
|
@ -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,
|
||||||
|
@ -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)
|
||||||
|
@ -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 {
|
||||||
|
@ -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 = {
|
||||||
|
Reference in New Issue
Block a user