Remove usages of dimensionResource

This commit is contained in:
Ensar Sarajčić
2023-10-03 13:06:50 +02:00
parent 3f901ff290
commit 3323b2fb70
6 changed files with 43 additions and 57 deletions

View File

@ -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
}

View File

@ -11,12 +11,9 @@ import androidx.compose.runtime.*
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight 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.AdjustNavigationBarColors
import com.simplemobiletools.commons.compose.extensions.MyDevices import com.simplemobiletools.commons.compose.extensions.MyDevices
import com.simplemobiletools.commons.compose.extensions.rememberMutableInteractionSource 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.topAppBarInsets
import com.simplemobiletools.commons.compose.settings.scaffold.topAppBarPaddings import com.simplemobiletools.commons.compose.settings.scaffold.topAppBarPaddings
import com.simplemobiletools.commons.compose.theme.AppThemeSurface import com.simplemobiletools.commons.compose.theme.AppThemeSurface
import com.simplemobiletools.commons.compose.theme.Dimens
import com.simplemobiletools.flashlight.R import com.simplemobiletools.flashlight.R
import com.simplemobiletools.flashlight.helpers.AppDimensions
import com.simplemobiletools.flashlight.views.AnimatedSleepTimer import com.simplemobiletools.flashlight.views.AnimatedSleepTimer
import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
@ -96,8 +95,8 @@ internal fun FlashlightButton(
) { ) {
Icon( Icon(
modifier = Modifier modifier = Modifier
.size(dimensionResource(id = R.dimen.main_button_size)) .size(AppDimensions.mainButtonSize)
.padding(vertical = dimensionResource(id = R.dimen.normal_margin)) .padding(vertical = Dimens.margin.normal)
.clickable( .clickable(
indication = null, indication = null,
interactionSource = rememberMutableInteractionSource(), interactionSource = rememberMutableInteractionSource(),
@ -115,8 +114,8 @@ internal fun BrightDisplayButton(
) { ) {
Icon( Icon(
modifier = Modifier modifier = Modifier
.size(dimensionResource(id = R.dimen.smaller_button_size)) .size(AppDimensions.smallerButtonSize)
.padding(vertical = dimensionResource(id = R.dimen.normal_margin)) .padding(vertical = Dimens.margin.normal)
.clickable( .clickable(
indication = null, indication = null,
interactionSource = rememberMutableInteractionSource(), interactionSource = rememberMutableInteractionSource(),
@ -135,14 +134,14 @@ internal fun SosButton(
) { ) {
Text( Text(
modifier = Modifier modifier = Modifier
.padding(vertical = dimensionResource(id = R.dimen.normal_margin)) .padding(vertical = Dimens.margin.normal)
.clickable( .clickable(
indication = null, indication = null,
interactionSource = rememberMutableInteractionSource(), interactionSource = rememberMutableInteractionSource(),
onClick = onSosButtonPress onClick = onSosButtonPress
), ),
text = stringResource(id = R.string.sos), text = stringResource(id = R.string.sos),
fontSize = TextUnit(dimensionResource(id = R.dimen.sos_text_size).value, TextUnitType.Sp), fontSize = AppDimensions.sosTextSize,
fontWeight = FontWeight.Bold, fontWeight = FontWeight.Bold,
color = if (sosActive) MaterialTheme.colorScheme.primary else MaterialTheme.colorScheme.onSurface color = if (sosActive) MaterialTheme.colorScheme.primary else MaterialTheme.colorScheme.onSurface
) )
@ -155,8 +154,8 @@ internal fun StroboscopeButton(
) { ) {
Icon( Icon(
modifier = Modifier modifier = Modifier
.size(dimensionResource(id = R.dimen.smaller_button_size)) .size(AppDimensions.smallerButtonSize)
.padding(vertical = dimensionResource(id = R.dimen.normal_margin)) .padding(vertical = Dimens.margin.normal)
.clickable( .clickable(
indication = null, indication = null,
interactionSource = rememberMutableInteractionSource(), interactionSource = rememberMutableInteractionSource(),
@ -177,11 +176,14 @@ internal fun MainScreenSlidersSection(
stroboscopeBarValue: Float, stroboscopeBarValue: Float,
onStroboscopeBarValueChange: (Float) -> Unit, onStroboscopeBarValueChange: (Float) -> Unit,
) { ) {
val sliderModifier = Modifier val dimens = Dimens
.padding(dimensionResource(id = R.dimen.activity_margin)) val sliderModifier = remember {
.padding(vertical = dimensionResource(R.dimen.medium_margin)) Modifier
.padding(bottom = dimensionResource(id = R.dimen.activity_margin)) .padding(dimens.margin.activity)
.size(width = dimensionResource(id = R.dimen.seekbar_width), height = dimensionResource(id = R.dimen.seekbar_height)) .padding(vertical = dimens.margin.medium)
.padding(bottom = dimens.margin.activity)
.size(width = AppDimensions.seekbarWidth, height = AppDimensions.seekbarHeight)
}
if (showBrightnessBar) { if (showBrightnessBar) {
Slider( Slider(

View File

@ -14,13 +14,14 @@ import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.graphics.painter.BrushPainter import androidx.compose.ui.graphics.painter.BrushPainter
import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import com.simplemobiletools.commons.compose.extensions.MyDevices import com.simplemobiletools.commons.compose.extensions.MyDevices
import com.simplemobiletools.commons.compose.theme.AppThemeSurface import com.simplemobiletools.commons.compose.theme.AppThemeSurface
import com.simplemobiletools.commons.compose.theme.Dimens
import com.simplemobiletools.commons.extensions.adjustAlpha import com.simplemobiletools.commons.extensions.adjustAlpha
import com.simplemobiletools.flashlight.R import com.simplemobiletools.flashlight.R
import com.simplemobiletools.flashlight.helpers.AppDimensions
@Composable @Composable
internal fun WidgetConfigureScreen( internal fun WidgetConfigureScreen(
@ -37,15 +38,15 @@ internal fun WidgetConfigureScreen(
) { ) {
Box( Box(
modifier = Modifier modifier = Modifier
.padding(dimensionResource(id = R.dimen.activity_margin)) .padding(Dimens.margin.activity)
.padding(bottom = dimensionResource(id = R.dimen.activity_margin)) .padding(bottom = Dimens.margin.activity)
.fillMaxWidth() .fillMaxWidth()
.weight(1f) .weight(1f)
) { ) {
Icon( Icon(
modifier = Modifier modifier = Modifier
.align(Alignment.Center) .align(Alignment.Center)
.size(dimensionResource(id = R.dimen.main_button_size)), .size(AppDimensions.mainButtonSize),
painter = painterResource(id = widgetDrawable), painter = painterResource(id = widgetDrawable),
contentDescription = stringResource(id = R.string.bright_display), contentDescription = stringResource(id = R.string.bright_display),
tint = Color(widgetColor.adjustAlpha(widgetAlpha)) tint = Color(widgetColor.adjustAlpha(widgetAlpha))
@ -55,8 +56,8 @@ internal fun WidgetConfigureScreen(
Row { Row {
Icon( Icon(
modifier = Modifier modifier = Modifier
.size(dimensionResource(id = R.dimen.widget_colorpicker_size)) .size(AppDimensions.widgetColorPickerSize)
.padding(dimensionResource(id = R.dimen.tiny_margin)) .padding(Dimens.margin.tiny)
.clip(CircleShape) .clip(CircleShape)
.clickable { onColorPressed() }, .clickable { onColorPressed() },
painter = BrushPainter(SolidColor(Color(widgetColor))), painter = BrushPainter(SolidColor(Color(widgetColor))),
@ -68,12 +69,12 @@ internal fun WidgetConfigureScreen(
value = widgetAlpha, value = widgetAlpha,
onValueChange = onSliderChanged, onValueChange = onSliderChanged,
modifier = Modifier modifier = Modifier
.padding(start = dimensionResource(id = R.dimen.medium_margin)) .padding(start = Dimens.margin.medium)
.background( .background(
color = colorResource(id = R.color.md_grey_white), color = colorResource(id = R.color.md_grey_white),
shape = MaterialTheme.shapes.extraLarge shape = MaterialTheme.shapes.extraLarge
) )
.padding(horizontal = dimensionResource(id = R.dimen.activity_margin)) .padding(horizontal = Dimens.margin.activity)
) )
} }

View File

@ -15,12 +15,12 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.RectangleShape import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.simplemobiletools.commons.compose.extensions.MyDevices import com.simplemobiletools.commons.compose.extensions.MyDevices
import com.simplemobiletools.commons.compose.theme.AppThemeSurface import com.simplemobiletools.commons.compose.theme.AppThemeSurface
import com.simplemobiletools.commons.compose.theme.Dimens
import com.simplemobiletools.flashlight.R import com.simplemobiletools.flashlight.R
@Composable @Composable
@ -40,7 +40,7 @@ internal fun SleepTimer(
Text( Text(
modifier = Modifier modifier = Modifier
.align(Alignment.CenterVertically) .align(Alignment.CenterVertically)
.padding(horizontal = dimensionResource(id = R.dimen.normal_margin)), .padding(horizontal = Dimens.margin.normal),
text = stringResource(id = R.string.sleep_timer), text = stringResource(id = R.string.sleep_timer),
color = MaterialTheme.colorScheme.onSurface color = MaterialTheme.colorScheme.onSurface
) )
@ -52,7 +52,7 @@ internal fun SleepTimer(
IconButton( IconButton(
modifier = Modifier modifier = Modifier
.align(Alignment.CenterVertically) .align(Alignment.CenterVertically)
.padding(dimensionResource(id = R.dimen.medium_margin)), .padding(Dimens.margin.medium),
onClick = onCloseClick onClick = onCloseClick
) { ) {
Icon( Icon(

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="AlwaysShowAction">
<item
android:id="@+id/settings"
android:icon="@drawable/ic_settings_cog_vector"
android:title="@string/settings"
app:showAsAction="always" />
<item
android:id="@+id/about"
android:icon="@drawable/ic_info_vector"
android:title="@string/about"
app:showAsAction="always" />
<item
android:id="@+id/sleep_timer"
android:title="@string/sleep_timer"
app:showAsAction="never" />
<item
android:id="@+id/more_apps_from_us"
android:title="@string/more_apps_from_us"
app:showAsAction="never" />
</menu>

View File

@ -1,9 +1,3 @@
<resources> <resources>
<dimen name="seekbar_width">250dp</dimen>
<dimen name="seekbar_height">20dp</dimen>
<dimen name="main_button_size">180dp</dimen>
<dimen name="smaller_button_size">60dp</dimen>
<dimen name="shortcut_padding">60dp</dimen> <dimen name="shortcut_padding">60dp</dimen>
<dimen name="sos_text_size">26sp</dimen>
</resources> </resources>