From 2936e58ff83bb172c15cba6c330fd4830dcb9b0b Mon Sep 17 00:00:00 2001 From: Johnny Date: Fri, 3 Jul 2026 08:25:25 +0200 Subject: [PATCH] update + Fix --- .../com/jttools/datacontrol/data/SettingsRepository.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/jttools/datacontrol/data/SettingsRepository.kt b/app/src/main/java/com/jttools/datacontrol/data/SettingsRepository.kt index 0bd5ffe..2e5ea2c 100644 --- a/app/src/main/java/com/jttools/datacontrol/data/SettingsRepository.kt +++ b/app/src/main/java/com/jttools/datacontrol/data/SettingsRepository.kt @@ -124,9 +124,14 @@ class SettingsRepository @Inject constructor( * Force la consommation affichée à [consumedMo] sans changer la date de début du cycle, en * recalculant la base de référence à partir du compteur système actuel ([currentTotalBytes]). * Utile pour recaler l'app sur le décompte opérateur réel. + * + * La base peut devenir négative (ex: valeur saisie supérieure au compteur TrafficStats depuis + * le dernier redémarrage de l'appareil) : c'est volontaire, ne pas la borner à 0 sous peine + * d'écraser silencieusement la valeur saisie par l'utilisateur. [UsageRepository.consumedBytesSince] + * et [UsageRepository.hasCounterReset] gèrent correctement une base négative. */ suspend fun setConsumedMo(consumedMo: Long, currentTotalBytes: Long) { - val baseline = (currentTotalBytes - UsageRepository.moToBytes(consumedMo)).coerceAtLeast(0L) + val baseline = currentTotalBytes - UsageRepository.moToBytes(consumedMo) context.dataStore.edit { it[Keys.BASELINE_MOBILE_BYTES] = baseline } }