diff --git a/app/src/main/java/foundation/e/parentalcontrol/ui/buttons/Slider.kt b/app/src/main/java/foundation/e/parentalcontrol/ui/buttons/Slider.kt
index 91aea16c328a0eeecef37def183484eab6f8beed..87185ca5ebca87e0506063aa75ee8e694380b7e0 100644
--- a/app/src/main/java/foundation/e/parentalcontrol/ui/buttons/Slider.kt
+++ b/app/src/main/java/foundation/e/parentalcontrol/ui/buttons/Slider.kt
@@ -59,7 +59,9 @@ import kotlin.math.roundToInt
private val HORIZONTAL_PADDING = 32.dp
private val THUMB_WIDTH = 4.dp
-private val THUMB_HEIGHT = 40.dp
+private val THUMB_HEIGHT = 44.dp
+
+private val SLIDER_HEIGHT = 12.dp
private val TEXT_PADDING = 10.dp
@OptIn(ExperimentalMaterial3Api::class)
@@ -70,6 +72,7 @@ fun SliderWithStep(steps: Int, value: Float, onValueChange: (Float) -> Unit) {
var textBubbleWidth by remember { mutableIntStateOf(0) }
val density = LocalDensity.current
val e_accent = colorResource(foundation.e.elib.R.color.e_accent)
+ val e_alpha_accent = colorResource(foundation.e.elib.R.color.e_alpha_accent)
val clearZoneColor = if (isSystemInDarkTheme()) Color.Black else Color.White
@@ -80,7 +83,7 @@ fun SliderWithStep(steps: Int, value: Float, onValueChange: (Float) -> Unit) {
val max = ScreenTimes.NINE_HOURS.value.toFloat()
val disable = ScreenTimes.DISABLE.value.toFloat()
val paddingPx = with(density) { HORIZONTAL_PADDING.toPx() }
- if (sliderPosition == disable) {
+ if (sliderPosition == min || sliderPosition == disable) {
-paddingPx
} else if (sliderPosition == max) {
(sliderWidth - textBubbleWidth + paddingPx).toFloat()
@@ -111,13 +114,15 @@ fun SliderWithStep(steps: Int, value: Float, onValueChange: (Float) -> Unit) {
}
Box(modifier = Modifier.fillMaxWidth().height(THUMB_HEIGHT)) {
- Canvas(modifier = Modifier.fillMaxWidth().height(10.dp).align(Alignment.Center)) {
+ Canvas(
+ modifier = Modifier.fillMaxWidth().height(SLIDER_HEIGHT).align(Alignment.Center)
+ ) {
// Draw a small element on the left
- val leftPart = 2 * THUMB_WIDTH.toPx()
+ val leftPart = SLIDER_HEIGHT.toPx()
// Full track
drawRoundRect(
- color = Color.LightGray,
+ color = e_alpha_accent,
topLeft = Offset(0f, 0f),
size = Size(size.width, size.height),
cornerRadius = CornerRadius(size.height / 2, size.height / 2)
@@ -157,7 +162,7 @@ fun SliderWithStep(steps: Int, value: Float, onValueChange: (Float) -> Unit) {
},
colors = sliderColor(),
thumb = {
- Canvas(modifier = Modifier.size(32.dp)) {
+ Canvas(modifier = Modifier.size(HORIZONTAL_PADDING)) {
val rectWidth = THUMB_WIDTH.toPx()
val rectHeight = THUMB_HEIGHT.toPx()
val left = (size.width - rectWidth) / 2
@@ -166,8 +171,8 @@ fun SliderWithStep(steps: Int, value: Float, onValueChange: (Float) -> Unit) {
// Clear around the thumb
drawRoundRect(
color = clearZoneColor,
- topLeft = Offset(left - rectWidth / 2, top),
- size = Size(rectWidth * 2, rectHeight),
+ topLeft = Offset(left - 1.5f * rectWidth, top),
+ size = Size(rectWidth * 4, rectHeight),
cornerRadius = CornerRadius(rectWidth, rectWidth)
)
// draw the thumb
@@ -207,7 +212,6 @@ fun sliderColor(): SliderColors {
@Composable
private fun displayText(sliderPosition: Int): String {
return when (sliderPosition) {
- ScreenTimes.DISABLE.value -> stringResource(R.string.allowed_screen_time_no)
ScreenTimes.ZERO_HOUR.value -> stringResource(R.string.slider_0)
ScreenTimes.ONE_HOUR.value -> stringResource(R.string.slider_1)
ScreenTimes.TWO_HOURS.value -> stringResource(R.string.slider_2)
@@ -218,6 +222,6 @@ private fun displayText(sliderPosition: Int): String {
ScreenTimes.SEVEN_HOURS.value -> stringResource(R.string.slider_7)
ScreenTimes.EIGHT_HOURS.value -> stringResource(R.string.slider_8)
ScreenTimes.NINE_HOURS.value -> stringResource(R.string.slider_9)
- else -> stringResource(R.string.allowed_screen_time_no)
+ else -> stringResource(R.string.slider_0)
}
}
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 99111a0bc63ec724baf84f72e0068a49e37fa6f9..c467f6b0b26e2b4312fbeb96cb83cbe873109ccc 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -90,7 +90,7 @@
Keine Anwendung gefunden
Deaktivieren
deaktiviert
- 0 Stunde
+ Keine Bildschirmzeit
1 Stunde
2 Stunden
3 Stunden
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index 70a0f779e685cc8e9b40a0da48ab2e9e487ca66e..e1a9d1123c1c827ab407cfb1da33c864a1a9b3cf 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -93,7 +93,7 @@
No se encontró ninguna aplicación
Desactivar
desactivado
- 0 hora
+ Sin tiempo de pantalla
1 hora
2 horas
3 horas
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index ecabe6b1f14b354318463a2cec4e759caf245035..b2a0a1b28dd73d1e1e71ff9c689ee5a86ec895d6 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -94,7 +94,7 @@
Aucune application trouvée
Désactiver
Désactivé
- 0 heure
+ Pas de temps d\'écran
1 heure
2 heures
3 heures
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 247dca8337d22e8cae53a4a5b969e8ef49bffd4d..6b980129c49c4d4977b83eb3760a02d764557cd9 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -91,7 +91,7 @@
Nessuna applicazione trovata
Disabilita
disattivato
- 0 ora
+ Nessun tempo sullo schermo
1 ora
2 ore
3 ore
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 19afb075cd4e0087a1281c298e4fe30dedab78df..502aac16507024bd481f951d4bb575150cefd471 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -83,7 +83,7 @@
Skip
Disable
Disabled
- 0 hour
+ No screen time
1 hour
2 hours
3 hours