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