diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/AppDimensions.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/AppDimensions.kt new file mode 100644 index 0000000..c0c1751 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/helpers/AppDimensions.kt @@ -0,0 +1,13 @@ +package com.simplemobiletools.flashlight.helpers + +import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp + +object AppDimensions { + val seekbarWidth = 250.dp + val seekbarHeight = 20.dp + val mainButtonSize = 180.dp + val smallerButtonSize = 60.dp + val sosTextSize = 26.sp + val widgetColorPickerSize = 50.dp +} diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/screens/MainScreen.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/screens/MainScreen.kt index 5541bca..b558579 100644 --- a/app/src/main/kotlin/com/simplemobiletools/flashlight/screens/MainScreen.kt +++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/screens/MainScreen.kt @@ -11,12 +11,9 @@ import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight -import androidx.compose.ui.unit.TextUnit -import androidx.compose.ui.unit.TextUnitType import com.simplemobiletools.commons.compose.extensions.AdjustNavigationBarColors import com.simplemobiletools.commons.compose.extensions.MyDevices import com.simplemobiletools.commons.compose.extensions.rememberMutableInteractionSource @@ -28,7 +25,9 @@ import com.simplemobiletools.commons.compose.settings.scaffold.topAppBarColors import com.simplemobiletools.commons.compose.settings.scaffold.topAppBarInsets import com.simplemobiletools.commons.compose.settings.scaffold.topAppBarPaddings import com.simplemobiletools.commons.compose.theme.AppThemeSurface +import com.simplemobiletools.commons.compose.theme.Dimens import com.simplemobiletools.flashlight.R +import com.simplemobiletools.flashlight.helpers.AppDimensions import com.simplemobiletools.flashlight.views.AnimatedSleepTimer import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.toImmutableList @@ -96,8 +95,8 @@ internal fun FlashlightButton( ) { Icon( modifier = Modifier - .size(dimensionResource(id = R.dimen.main_button_size)) - .padding(vertical = dimensionResource(id = R.dimen.normal_margin)) + .size(AppDimensions.mainButtonSize) + .padding(vertical = Dimens.margin.normal) .clickable( indication = null, interactionSource = rememberMutableInteractionSource(), @@ -115,8 +114,8 @@ internal fun BrightDisplayButton( ) { Icon( modifier = Modifier - .size(dimensionResource(id = R.dimen.smaller_button_size)) - .padding(vertical = dimensionResource(id = R.dimen.normal_margin)) + .size(AppDimensions.smallerButtonSize) + .padding(vertical = Dimens.margin.normal) .clickable( indication = null, interactionSource = rememberMutableInteractionSource(), @@ -135,14 +134,14 @@ internal fun SosButton( ) { Text( modifier = Modifier - .padding(vertical = dimensionResource(id = R.dimen.normal_margin)) + .padding(vertical = Dimens.margin.normal) .clickable( indication = null, interactionSource = rememberMutableInteractionSource(), onClick = onSosButtonPress ), text = stringResource(id = R.string.sos), - fontSize = TextUnit(dimensionResource(id = R.dimen.sos_text_size).value, TextUnitType.Sp), + fontSize = AppDimensions.sosTextSize, fontWeight = FontWeight.Bold, color = if (sosActive) MaterialTheme.colorScheme.primary else MaterialTheme.colorScheme.onSurface ) @@ -155,8 +154,8 @@ internal fun StroboscopeButton( ) { Icon( modifier = Modifier - .size(dimensionResource(id = R.dimen.smaller_button_size)) - .padding(vertical = dimensionResource(id = R.dimen.normal_margin)) + .size(AppDimensions.smallerButtonSize) + .padding(vertical = Dimens.margin.normal) .clickable( indication = null, interactionSource = rememberMutableInteractionSource(), @@ -177,11 +176,14 @@ internal fun MainScreenSlidersSection( stroboscopeBarValue: Float, onStroboscopeBarValueChange: (Float) -> Unit, ) { - val sliderModifier = Modifier - .padding(dimensionResource(id = R.dimen.activity_margin)) - .padding(vertical = dimensionResource(R.dimen.medium_margin)) - .padding(bottom = dimensionResource(id = R.dimen.activity_margin)) - .size(width = dimensionResource(id = R.dimen.seekbar_width), height = dimensionResource(id = R.dimen.seekbar_height)) + val dimens = Dimens + val sliderModifier = remember { + Modifier + .padding(dimens.margin.activity) + .padding(vertical = dimens.margin.medium) + .padding(bottom = dimens.margin.activity) + .size(width = AppDimensions.seekbarWidth, height = AppDimensions.seekbarHeight) + } if (showBrightnessBar) { Slider( diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/screens/WidgetConfigureScreen.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/screens/WidgetConfigureScreen.kt index c5a4f44..1f23611 100644 --- a/app/src/main/kotlin/com/simplemobiletools/flashlight/screens/WidgetConfigureScreen.kt +++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/screens/WidgetConfigureScreen.kt @@ -14,13 +14,14 @@ import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.graphics.painter.BrushPainter import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.res.colorResource -import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import com.simplemobiletools.commons.compose.extensions.MyDevices import com.simplemobiletools.commons.compose.theme.AppThemeSurface +import com.simplemobiletools.commons.compose.theme.Dimens import com.simplemobiletools.commons.extensions.adjustAlpha import com.simplemobiletools.flashlight.R +import com.simplemobiletools.flashlight.helpers.AppDimensions @Composable internal fun WidgetConfigureScreen( @@ -37,15 +38,15 @@ internal fun WidgetConfigureScreen( ) { Box( modifier = Modifier - .padding(dimensionResource(id = R.dimen.activity_margin)) - .padding(bottom = dimensionResource(id = R.dimen.activity_margin)) + .padding(Dimens.margin.activity) + .padding(bottom = Dimens.margin.activity) .fillMaxWidth() .weight(1f) ) { Icon( modifier = Modifier .align(Alignment.Center) - .size(dimensionResource(id = R.dimen.main_button_size)), + .size(AppDimensions.mainButtonSize), painter = painterResource(id = widgetDrawable), contentDescription = stringResource(id = R.string.bright_display), tint = Color(widgetColor.adjustAlpha(widgetAlpha)) @@ -55,8 +56,8 @@ internal fun WidgetConfigureScreen( Row { Icon( modifier = Modifier - .size(dimensionResource(id = R.dimen.widget_colorpicker_size)) - .padding(dimensionResource(id = R.dimen.tiny_margin)) + .size(AppDimensions.widgetColorPickerSize) + .padding(Dimens.margin.tiny) .clip(CircleShape) .clickable { onColorPressed() }, painter = BrushPainter(SolidColor(Color(widgetColor))), @@ -68,12 +69,12 @@ internal fun WidgetConfigureScreen( value = widgetAlpha, onValueChange = onSliderChanged, modifier = Modifier - .padding(start = dimensionResource(id = R.dimen.medium_margin)) + .padding(start = Dimens.margin.medium) .background( color = colorResource(id = R.color.md_grey_white), shape = MaterialTheme.shapes.extraLarge ) - .padding(horizontal = dimensionResource(id = R.dimen.activity_margin)) + .padding(horizontal = Dimens.margin.activity) ) } diff --git a/app/src/main/kotlin/com/simplemobiletools/flashlight/views/SleepTimer.kt b/app/src/main/kotlin/com/simplemobiletools/flashlight/views/SleepTimer.kt index 9e29138..7cc5f9b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/flashlight/views/SleepTimer.kt +++ b/app/src/main/kotlin/com/simplemobiletools/flashlight/views/SleepTimer.kt @@ -15,12 +15,12 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.RectangleShape -import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import com.simplemobiletools.commons.compose.extensions.MyDevices import com.simplemobiletools.commons.compose.theme.AppThemeSurface +import com.simplemobiletools.commons.compose.theme.Dimens import com.simplemobiletools.flashlight.R @Composable @@ -40,7 +40,7 @@ internal fun SleepTimer( Text( modifier = Modifier .align(Alignment.CenterVertically) - .padding(horizontal = dimensionResource(id = R.dimen.normal_margin)), + .padding(horizontal = Dimens.margin.normal), text = stringResource(id = R.string.sleep_timer), color = MaterialTheme.colorScheme.onSurface ) @@ -52,7 +52,7 @@ internal fun SleepTimer( IconButton( modifier = Modifier .align(Alignment.CenterVertically) - .padding(dimensionResource(id = R.dimen.medium_margin)), + .padding(Dimens.margin.medium), onClick = onCloseClick ) { Icon( diff --git a/app/src/main/res/menu/menu.xml b/app/src/main/res/menu/menu.xml deleted file mode 100644 index 40efc45..0000000 --- a/app/src/main/res/menu/menu.xml +++ /dev/null @@ -1,24 +0,0 @@ - -
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index cc368b4..82c53b4 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -1,9 +1,3 @@