Updated on 2026-08-14
This commit is contained in:
parent
8d16f06c08
commit
7d9f1f0cf4
10 changed files with 105 additions and 20 deletions
|
|
@ -59,9 +59,10 @@ internal class DefaultFeedbackRepository(
|
|||
override suspend fun getAppLogs(): List<AppLogModel> {
|
||||
return appPreferencesStore.getObjectMap<String>(key = PreferencesKeys.APP_LOGS_KEY)
|
||||
.map { AppLogModel(timestamp = it.key.toLong(), message = it.value) }
|
||||
.sortedBy(AppLogModel::timestamp)
|
||||
}
|
||||
|
||||
override suspend fun createLogFile(logs: List<String>): File? {
|
||||
override suspend fun createLogFile(logs: String): File? {
|
||||
return try {
|
||||
val file = File(context.filesDir, LOGS_FILE)
|
||||
file.delete()
|
||||
|
|
@ -69,7 +70,7 @@ internal class DefaultFeedbackRepository(
|
|||
|
||||
val stringWriter = StringWriter()
|
||||
|
||||
logs.forEach(stringWriter::append)
|
||||
stringWriter.append(logs)
|
||||
|
||||
val fileWriter = FileWriter(file)
|
||||
fileWriter.write(stringWriter.toString())
|
||||
|
|
|
|||
|
|
@ -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