diff --git a/DataControl-0.1.0.apk b/DataControl-0.1.0.apk index 583c0ca..cd11443 100644 Binary files a/DataControl-0.1.0.apk and b/DataControl-0.1.0.apk differ diff --git a/app/src/main/java/com/jttools/datacontrol/ui/dashboard/DashboardScreen.kt b/app/src/main/java/com/jttools/datacontrol/ui/dashboard/DashboardScreen.kt index c88c9fd..d3f97ab 100644 --- a/app/src/main/java/com/jttools/datacontrol/ui/dashboard/DashboardScreen.kt +++ b/app/src/main/java/com/jttools/datacontrol/ui/dashboard/DashboardScreen.kt @@ -190,6 +190,25 @@ fun DashboardScreen(systemActions: SystemActions) { style = MaterialTheme.typography.bodyMedium ) + val nextCutoffText = when { + !settings.controlEnabled -> stringResource(R.string.dashboard_control_disabled) + snapshot.dataState == DataState.WIFI -> stringResource(R.string.dashboard_cutoff_wifi) + snapshot.dataState == DataState.CUT -> stringResource(R.string.dashboard_cutoff_in_progress) + snapshot.nextCutoffAtMillis != null -> { + val remainingMs = (snapshot.nextCutoffAtMillis!! - System.currentTimeMillis()).coerceAtLeast(0L) + stringResource( + R.string.dashboard_cutoff_countdown, + remainingMs / 60_000, + (remainingMs / 1000) % 60 + ) + } + else -> stringResource(R.string.dashboard_cutoff_unavailable) + } + Text( + "${stringResource(R.string.dashboard_next_cutoff)}: $nextCutoffText", + style = MaterialTheme.typography.bodyMedium + ) + OutlinedButton(onClick = { showResetDialog = true }, modifier = Modifier.fillMaxWidth()) { Text(stringResource(R.string.dashboard_reset_now)) } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6843126..a307d92 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -31,6 +31,11 @@ Le compteur de données consommées sera remis à zéro immédiatement. Autorisations requises pour fonctionner correctement Contrôle désactivé + Prochaine coupure + Wi-Fi actif (pas de coupure) + En cours… + dans %1$d min %2$d s + indisponible (pare-feu inactif) Réglages