From 255418b7fbe631c41ea9f0e4bb6a679c253045cf Mon Sep 17 00:00:00 2001 From: T8RIN Date: Tue, 28 Nov 2023 22:37:45 +0300 Subject: [PATCH] icons improved and 2.5.0-rc1 --- app/build.gradle.kts | 2 +- .../settings/AppBarShadowsSettingItem.kt | 4 +- .../settings/ButtonShadowsSettingItem.kt | 4 +- .../settings/ContainerShadowsSettingItem.kt | 4 +- .../components/settings/SettingItem.kt | 8 +-- .../settings/SliderShadowsSettingItem.kt | 4 +- .../settings/SwitchShadowsSettingItem.kt | 4 +- .../main_screen/viewModel/MainViewModel.kt | 14 +++-- .../icons/material/FloatingActionButton.kt | 60 ++++++++++--------- .../root/icons/material/Slider.kt | 48 +++++++++++++++ .../root/icons/material/TopAppBar.kt | 58 ------------------ 11 files changed, 106 insertions(+), 104 deletions(-) create mode 100644 app/src/main/java/ru/tech/imageresizershrinker/presentation/root/icons/material/Slider.kt delete mode 100644 app/src/main/java/ru/tech/imageresizershrinker/presentation/root/icons/material/TopAppBar.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 861d5bd548..8818474f20 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -25,7 +25,7 @@ android { minSdk = 21 targetSdk = 34 versionCode = 101 - versionName = "2.4.3-beta01" + versionName = "2.5.0-rc1" resourceConfigurations += setOf( "en", "ar", diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/AppBarShadowsSettingItem.kt b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/AppBarShadowsSettingItem.kt index 9618d71c4f..2c97bfcc2c 100644 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/AppBarShadowsSettingItem.kt +++ b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/AppBarShadowsSettingItem.kt @@ -2,13 +2,13 @@ package ru.tech.imageresizershrinker.presentation.main_screen.components.setting import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.HorizontalSplit import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Shape import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ru.tech.imageresizershrinker.R -import ru.tech.imageresizershrinker.presentation.root.icons.material.TopAppBar import ru.tech.imageresizershrinker.presentation.root.widget.modifier.ContainerShapeDefaults import ru.tech.imageresizershrinker.presentation.root.widget.preferences.PreferenceRowSwitch import ru.tech.imageresizershrinker.presentation.root.widget.utils.LocalSettingsState @@ -28,6 +28,6 @@ fun AppBarShadowsSettingItem( subtitle = stringResource(R.string.app_bar_shadow_sub), checked = settingsState.drawAppBarShadows, onClick = onClick, - startIcon = Icons.Rounded.TopAppBar + startIcon = Icons.Outlined.HorizontalSplit ) } \ No newline at end of file diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/ButtonShadowsSettingItem.kt b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/ButtonShadowsSettingItem.kt index 145988eb12..85f3017079 100644 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/ButtonShadowsSettingItem.kt +++ b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/ButtonShadowsSettingItem.kt @@ -2,7 +2,7 @@ package ru.tech.imageresizershrinker.presentation.main_screen.components.setting import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.SmartButton +import androidx.compose.material.icons.outlined.Gamepad import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Shape @@ -28,6 +28,6 @@ fun ButtonShadowsSettingItem( subtitle = stringResource(R.string.button_shadow_sub), checked = settingsState.drawButtonShadows, onClick = onClick, - startIcon = Icons.Filled.SmartButton + startIcon = Icons.Outlined.Gamepad ) } \ No newline at end of file diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/ContainerShadowsSettingItem.kt b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/ContainerShadowsSettingItem.kt index fc941037a0..8ac6a1ea9e 100644 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/ContainerShadowsSettingItem.kt +++ b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/ContainerShadowsSettingItem.kt @@ -2,7 +2,7 @@ package ru.tech.imageresizershrinker.presentation.main_screen.components.setting import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.ViewCompactAlt +import androidx.compose.material.icons.outlined.Dashboard import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Shape @@ -28,6 +28,6 @@ fun ContainerShadowsSettingItem( subtitle = stringResource(R.string.container_shadow_sub), checked = settingsState.drawContainerShadows, onClick = onClick, - startIcon = Icons.Filled.ViewCompactAlt + startIcon = Icons.Outlined.Dashboard ) } \ No newline at end of file diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/SettingItem.kt b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/SettingItem.kt index feb9836b03..34d68ab888 100644 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/SettingItem.kt +++ b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/SettingItem.kt @@ -202,10 +202,6 @@ fun SettingItem( EmojisCountSettingItem(updateEmojisCount = viewModel::updateEmojisCount) } - Setting.ContainerShadows -> { - ContainerShadowsSettingItem(onClick = { viewModel.toggleDrawContainerShadows() }) - } - Setting.FabAlignment -> { FabAlignmentSettingItem(updateAlignment = viewModel::setAlignment) } @@ -366,6 +362,10 @@ fun SettingItem( } } + Setting.ContainerShadows -> { + ContainerShadowsSettingItem(onClick = { viewModel.toggleDrawContainerShadows() }) + } + Setting.ButtonShadows -> { ButtonShadowsSettingItem(onClick = { viewModel.toggleDrawButtonShadows() }) } diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/SliderShadowsSettingItem.kt b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/SliderShadowsSettingItem.kt index eb4ebab243..aebf4b26c8 100644 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/SliderShadowsSettingItem.kt +++ b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/SliderShadowsSettingItem.kt @@ -2,13 +2,13 @@ package ru.tech.imageresizershrinker.presentation.main_screen.components.setting import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.rounded.Tune import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Shape import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import ru.tech.imageresizershrinker.R +import ru.tech.imageresizershrinker.presentation.root.icons.material.Slider import ru.tech.imageresizershrinker.presentation.root.widget.modifier.ContainerShapeDefaults import ru.tech.imageresizershrinker.presentation.root.widget.preferences.PreferenceRowSwitch import ru.tech.imageresizershrinker.presentation.root.widget.utils.LocalSettingsState @@ -28,6 +28,6 @@ fun SliderShadowsSettingItem( subtitle = stringResource(R.string.slider_shadow_sub), checked = settingsState.drawSliderShadows, onClick = onClick, - startIcon = Icons.Rounded.Tune + startIcon = Icons.Rounded.Slider ) } \ No newline at end of file diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/SwitchShadowsSettingItem.kt b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/SwitchShadowsSettingItem.kt index d4c05b8b22..f963365aaf 100644 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/SwitchShadowsSettingItem.kt +++ b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/components/settings/SwitchShadowsSettingItem.kt @@ -2,7 +2,7 @@ package ru.tech.imageresizershrinker.presentation.main_screen.components.setting import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.ToggleOn +import androidx.compose.material.icons.outlined.ToggleOff import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Shape @@ -28,6 +28,6 @@ fun SwitchShadowsSettingItem( subtitle = stringResource(R.string.switch_shadow_sub), checked = settingsState.drawSwitchShadows, onClick = onClick, - startIcon = Icons.Filled.ToggleOn + startIcon = Icons.Outlined.ToggleOff ) } \ No newline at end of file diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/viewModel/MainViewModel.kt b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/viewModel/MainViewModel.kt index c505d4c4d8..57f95cbc25 100644 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/viewModel/MainViewModel.kt +++ b/app/src/main/java/ru/tech/imageresizershrinker/presentation/main_screen/viewModel/MainViewModel.kt @@ -15,6 +15,7 @@ import androidx.lifecycle.viewModelScope import coil.ImageLoader import com.t8rin.dynamic.theme.ColorTuple import com.t8rin.dynamic.theme.extractPrimaryColor +import com.t8rin.logger.makeLog import dagger.hilt.android.lifecycle.HiltViewModel import dev.olshevski.navigation.reimagined.navController import kotlinx.coroutines.Dispatchers @@ -343,7 +344,12 @@ class MainViewModel @Inject constructor( private fun isNeedUpdate(nameFrom: String, nameTo: String): Boolean { fun String.toVersionCode(): Int { - return replace("-", "") + return replace( + regex = Regex("0\\d"), + transform = { + it.value.replace("0", "") + } + ).replace("-", "") .replace(".", "") .replace("_", "") .replace("alpha", "1") @@ -355,11 +361,11 @@ class MainViewModel @Inject constructor( } val betaList = listOf( - "beta", "alpha", "rc" + "alpha", "beta", "rc" ) - val tagVC = nameTo.toVersionCode() - val buildVC = nameFrom.toVersionCode() + val tagVC = nameTo.toVersionCode().makeLog() + val buildVC = nameFrom.toVersionCode().makeLog() return if (betaList.all { it !in nameTo }) { tagVC > buildVC } else { diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/root/icons/material/FloatingActionButton.kt b/app/src/main/java/ru/tech/imageresizershrinker/presentation/root/icons/material/FloatingActionButton.kt index 60283c650c..b6a9ae2fa4 100644 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/root/icons/material/FloatingActionButton.kt +++ b/app/src/main/java/ru/tech/imageresizershrinker/presentation/root/icons/material/FloatingActionButton.kt @@ -21,35 +21,41 @@ val Icons.Rounded.FloatingActionButton: ImageVector by lazy { strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, pathFillType = NonZero ) { - moveTo(16.3f, 3.0f) - horizontalLineTo(7.7f) - curveTo(5.1f, 3.0f, 3.0f, 5.1f, 3.0f, 7.7f) - verticalLineToRelative(8.7f) - curveTo(3.0f, 18.9f, 5.1f, 21.0f, 7.7f, 21.0f) - horizontalLineToRelative(8.7f) - curveToRelative(2.6f, 0.0f, 4.7f, -2.1f, 4.7f, -4.7f) - verticalLineTo(7.7f) - curveTo(21.0f, 5.1f, 18.9f, 3.0f, 16.3f, 3.0f) + moveTo(12.9692f, 10.67f) + lineToRelative(-3.0954f, 3.0955f) + lineToRelative(0.0f, 0.4512f) + lineToRelative(0.4512f, 0.0f) + lineToRelative(3.0954f, -3.0954f) + lineToRelative(-0.2296f, -0.2217f) close() - moveTo(11.6f, 14.1f) - lineTo(10.7f, 16.0f) - lineToRelative(-0.9f, -1.9f) - lineTo(8.0f, 13.3f) - lineToRelative(1.9f, -0.9f) - lineToRelative(0.9f, -1.9f) - lineToRelative(0.9f, 1.9f) - lineToRelative(1.9f, 0.9f) - lineTo(11.6f, 14.1f) + } + path( + fill = SolidColor(Color(0xFF000000)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(15.8593f, 3.1335f) + horizontalLineTo(8.1407f) + curveTo(5.3016f, 3.1335f, 3.0f, 5.4351f, 3.0f, 8.2742f) + verticalLineToRelative(7.7186f) + curveToRelative(0.0f, 2.8392f, 2.3016f, 5.1407f, 5.1407f, 5.1407f) + horizontalLineToRelative(7.7186f) + curveToRelative(2.8391f, 0.0f, 5.1407f, -2.3015f, 5.1407f, -5.1407f) + verticalLineTo(8.2742f) + curveTo(21.0f, 5.4351f, 18.6984f, 3.1335f, 15.8593f, 3.1335f) close() - moveTo(14.8f, 10.5f) - lineToRelative(-0.6f, 1.4f) - lineToRelative(-0.6f, -1.4f) - lineToRelative(-1.4f, -0.6f) - lineToRelative(1.4f, -0.6f) - lineToRelative(0.6f, -1.4f) - lineToRelative(0.6f, 1.4f) - lineToRelative(1.4f, 0.6f) - lineTo(14.8f, 10.5f) + moveTo(14.7643f, 10.672f) + curveToRelative(-0.001f, 0.001f, -0.0026f, 0.0013f, -0.0036f, 0.0024f) + curveToRelative(-0.001f, 0.0011f, -0.0012f, 0.0024f, -0.0023f, 0.0035f) + lineToRelative(-4.1721f, 4.1721f) + horizontalLineTo(9.2404f) + verticalLineToRelative(-1.3458f) + lineToRelative(4.18f, -4.1721f) + curveToRelative(4.0E-4f, -3.0E-4f, 8.0E-4f, -4.0E-4f, 0.0012f, -7.0E-4f) + curveToRelative(4.0E-4f, -4.0E-4f, 4.0E-4f, -9.0E-4f, 8.0E-4f, -0.0012f) + curveToRelative(0.2612f, -0.2612f, 0.6848f, -0.2612f, 0.946f, 0.0f) + lineToRelative(0.3959f, 0.3959f) + curveTo(15.0255f, 9.9872f, 15.0255f, 10.4108f, 14.7643f, 10.672f) close() } }.build() diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/root/icons/material/Slider.kt b/app/src/main/java/ru/tech/imageresizershrinker/presentation/root/icons/material/Slider.kt new file mode 100644 index 0000000000..4b1bfa33e3 --- /dev/null +++ b/app/src/main/java/ru/tech/imageresizershrinker/presentation/root/icons/material/Slider.kt @@ -0,0 +1,48 @@ +package ru.tech.imageresizershrinker.presentation.root.icons.material + +import androidx.compose.material.icons.Icons +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.PathFillType.Companion.NonZero +import androidx.compose.ui.graphics.SolidColor +import androidx.compose.ui.graphics.StrokeCap.Companion.Butt +import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.graphics.vector.ImageVector.Builder +import androidx.compose.ui.graphics.vector.path +import androidx.compose.ui.unit.dp + +val Icons.Rounded.Slider: ImageVector by lazy { + Builder( + name = "Slider", defaultWidth = 24.0.dp, defaultHeight = 24.0.dp, + viewportWidth = 960.0f, viewportHeight = 960.0f + ).apply { + path( + fill = SolidColor(Color(0xFF000000)), stroke = null, strokeLineWidth = 0.0f, + strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, + pathFillType = NonZero + ) { + moveTo(200.0f, 600.0f) + quadToRelative(-50.0f, 0.0f, -85.0f, -35.0f) + reflectiveQuadToRelative(-35.0f, -85.0f) + quadToRelative(0.0f, -50.0f, 35.0f, -85.0f) + reflectiveQuadToRelative(85.0f, -35.0f) + horizontalLineToRelative(560.0f) + quadToRelative(50.0f, 0.0f, 85.0f, 35.0f) + reflectiveQuadToRelative(35.0f, 85.0f) + quadToRelative(0.0f, 50.0f, -35.0f, 85.0f) + reflectiveQuadToRelative(-85.0f, 35.0f) + lineTo(200.0f, 600.0f) + close() + moveTo(560.0f, 520.0f) + horizontalLineToRelative(200.0f) + quadToRelative(17.0f, 0.0f, 28.5f, -11.5f) + reflectiveQuadTo(800.0f, 480.0f) + quadToRelative(0.0f, -17.0f, -11.5f, -28.5f) + reflectiveQuadTo(760.0f, 440.0f) + lineTo(560.0f, 440.0f) + verticalLineToRelative(80.0f) + close() + } + } + .build() +} \ No newline at end of file diff --git a/app/src/main/java/ru/tech/imageresizershrinker/presentation/root/icons/material/TopAppBar.kt b/app/src/main/java/ru/tech/imageresizershrinker/presentation/root/icons/material/TopAppBar.kt deleted file mode 100644 index d3d4f2321d..0000000000 --- a/app/src/main/java/ru/tech/imageresizershrinker/presentation/root/icons/material/TopAppBar.kt +++ /dev/null @@ -1,58 +0,0 @@ -package ru.tech.imageresizershrinker.presentation.root.icons.material - -import androidx.compose.material.icons.Icons -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.PathFillType.Companion.NonZero -import androidx.compose.ui.graphics.SolidColor -import androidx.compose.ui.graphics.StrokeCap.Companion.Butt -import androidx.compose.ui.graphics.StrokeJoin.Companion.Miter -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.ImageVector.Builder -import androidx.compose.ui.graphics.vector.path -import androidx.compose.ui.unit.dp - -val Icons.Rounded.TopAppBar: ImageVector by lazy { - Builder( - name = "Top App Bar", defaultWidth = 24.0.dp, defaultHeight = 24.0.dp, viewportWidth - = 24.0f, viewportHeight = 24.0f - ).apply { - path( - fill = SolidColor(Color(0xFF000000)), stroke = null, fillAlpha = 0.5f, strokeAlpha - = 0.5f, strokeLineWidth = 0.0f, strokeLineCap = Butt, strokeLineJoin = Miter, - strokeLineMiter = 4.0f, pathFillType = NonZero - ) { - moveTo(17.0f, 20.8f) - horizontalLineTo(7.0f) - curveToRelative(-0.6f, 0.0f, -1.0f, -0.5f, -1.0f, -1.0f) - verticalLineTo(7.7f) - curveToRelative(0.0f, -0.6f, 0.5f, -1.0f, 1.0f, -1.0f) - horizontalLineToRelative(10.0f) - curveToRelative(0.6f, 0.0f, 1.0f, 0.5f, 1.0f, 1.0f) - verticalLineToRelative(12.1f) - curveTo(18.0f, 20.4f, 17.5f, 20.8f, 17.0f, 20.8f) - close() - } - path( - fill = SolidColor(Color(0xFF000000)), stroke = null, strokeLineWidth = 0.0f, - strokeLineCap = Butt, strokeLineJoin = Miter, strokeLineMiter = 4.0f, - pathFillType = NonZero - ) { - moveTo(17.0f, 3.2f) - horizontalLineTo(7.0f) - curveToRelative(-0.5f, 0.0f, -1.0f, 0.4f, -1.0f, 1.0f) - verticalLineTo(8.0f) - curveToRelative(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f) - horizontalLineTo(18.0f) - curveToRelative(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f) - verticalLineTo(4.2f) - curveTo(18.0f, 3.6f, 17.6f, 3.2f, 17.0f, 3.2f) - close() - moveTo(16.2f, 5.7f) - curveToRelative(-0.4f, 0.0f, -0.8f, -0.3f, -0.8f, -0.8f) - curveToRelative(0.0f, -0.4f, 0.3f, -0.8f, 0.8f, -0.8f) - curveToRelative(0.4f, 0.0f, 0.8f, 0.3f, 0.8f, 0.8f) - curveTo(16.9f, 5.4f, 16.6f, 5.7f, 16.2f, 5.7f) - close() - } - }.build() -} \ No newline at end of file