Updated on 2026-08-14
This commit is contained in:
parent
8d16f06c08
commit
7d9f1f0cf4
10 changed files with 105 additions and 20 deletions
|
|
@ -44,22 +44,21 @@ internal class DefaultSettingsRepository(
|
|||
}
|
||||
}
|
||||
|
||||
override suspend fun deleteDeprecatedLogs() {
|
||||
val threeDaysAgo = getThreeDaysAgoTimestamp()
|
||||
|
||||
override suspend fun deleteDeprecatedLogs(maxSize: Int) {
|
||||
appPreferencesStore.editData { preferences ->
|
||||
val savedLogs = preferences.getObjectMap<String>(PreferencesKeys.APP_LOGS_KEY)
|
||||
|
||||
var sum = 0
|
||||
preferences.setObjectMap(
|
||||
key = PreferencesKeys.APP_LOGS_KEY,
|
||||
value = savedLogs.filterKeys { it.toLong() > threeDaysAgo },
|
||||
value = savedLogs.entries
|
||||
.sortedBy(Map.Entry<String, String>::key)
|
||||
.takeLastWhile {
|
||||
sum += it.value.length
|
||||
sum < maxSize
|
||||
}
|
||||
.associate { it.key to it.value },
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun getThreeDaysAgoTimestamp(): Long = DateTime.now().minusDays(THREE_DAYS).millis
|
||||
|
||||
private companion object {
|
||||
const val THREE_DAYS = 3
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue