Let the SDK manage the file log cleanup, and keep one week of log.
This commit is contained in:
parent
76cedafeb7
commit
9f2e8d44ce
7 changed files with 23 additions and 47 deletions
|
|
@ -38,11 +38,6 @@ interface BugReporter {
|
|||
listener: BugReporterListener?
|
||||
)
|
||||
|
||||
/**
|
||||
* Clean the log files if needed to avoid wasting disk space.
|
||||
*/
|
||||
fun cleanLogDirectoryIfNeeded()
|
||||
|
||||
/**
|
||||
* Provide the log directory.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ package io.element.android.features.rageshake.impl.reporter
|
|||
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import android.text.format.DateUtils.DAY_IN_MILLIS
|
||||
import androidx.core.net.toFile
|
||||
import androidx.core.net.toUri
|
||||
import com.squareup.anvil.annotations.ContributesBinding
|
||||
|
|
@ -39,11 +38,8 @@ import io.element.android.libraries.di.SingleIn
|
|||
import io.element.android.libraries.matrix.api.SdkMetadata
|
||||
import io.element.android.libraries.network.useragent.UserAgentProvider
|
||||
import io.element.android.libraries.sessionstorage.api.SessionStore
|
||||
import io.element.android.services.toolbox.api.systemclock.SystemClock
|
||||
import kotlinx.coroutines.CancellationException
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.flow.first
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import okhttp3.Call
|
||||
import okhttp3.MediaType.Companion.toMediaTypeOrNull
|
||||
|
|
@ -75,8 +71,6 @@ class DefaultBugReporter @Inject constructor(
|
|||
@ApplicationContext private val context: Context,
|
||||
private val screenshotHolder: ScreenshotHolder,
|
||||
private val crashDataStore: CrashDataStore,
|
||||
private val coroutineScope: CoroutineScope,
|
||||
private val systemClock: SystemClock,
|
||||
private val coroutineDispatchers: CoroutineDispatchers,
|
||||
private val okHttpClient: Provider<OkHttpClient>,
|
||||
private val userAgentProvider: UserAgentProvider,
|
||||
|
|
@ -339,13 +333,6 @@ class DefaultBugReporter @Inject constructor(
|
|||
}
|
||||
}
|
||||
|
||||
override fun cleanLogDirectoryIfNeeded() {
|
||||
coroutineScope.launch(coroutineDispatchers.io) {
|
||||
// delete the log files older than 1 day, except the most recent one
|
||||
deleteOldLogFiles(systemClock.epochMillis() - DAY_IN_MILLIS)
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun deleteAllFiles() {
|
||||
withContext(coroutineDispatchers.io) {
|
||||
getLogFiles().forEach { it.safeDelete() }
|
||||
|
|
@ -368,16 +355,6 @@ class DefaultBugReporter @Inject constructor(
|
|||
}.orEmpty()
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete the log files older than the given time except the most recent one.
|
||||
* @param time the time in ms
|
||||
*/
|
||||
private fun deleteOldLogFiles(time: Long) {
|
||||
val logFiles = getLogFiles()
|
||||
val oldLogFiles = logFiles.filter { it.lastModified() < time }
|
||||
oldLogFiles.deleteAllExceptMostRecent()
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete all the log files except the most recent one.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -52,10 +52,6 @@ class FakeBugReporter(val mode: FakeBugReporterMode = FakeBugReporterMode.Succes
|
|||
listener?.onUploadSucceed()
|
||||
}
|
||||
|
||||
override fun cleanLogDirectoryIfNeeded() {
|
||||
// No op
|
||||
}
|
||||
|
||||
override fun logDirectory(): File {
|
||||
return File("fake")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@ import io.element.android.libraries.matrix.test.FakeSdkMetadata
|
|||
import io.element.android.libraries.matrix.test.core.aBuildMeta
|
||||
import io.element.android.libraries.network.useragent.DefaultUserAgentProvider
|
||||
import io.element.android.libraries.sessionstorage.impl.memory.InMemorySessionStore
|
||||
import io.element.android.services.toolbox.test.systemclock.FakeSystemClock
|
||||
import io.element.android.tests.testutils.testCoroutineDispatchers
|
||||
import kotlinx.coroutines.test.TestScope
|
||||
import kotlinx.coroutines.test.runTest
|
||||
|
|
@ -144,8 +143,6 @@ class DefaultBugReporterTest {
|
|||
context = RuntimeEnvironment.getApplication(),
|
||||
screenshotHolder = FakeScreenshotHolder(),
|
||||
crashDataStore = FakeCrashDataStore(),
|
||||
coroutineScope = this,
|
||||
systemClock = FakeSystemClock(),
|
||||
coroutineDispatchers = testCoroutineDispatchers(),
|
||||
okHttpClient = { OkHttpClient.Builder().build() },
|
||||
userAgentProvider = DefaultUserAgentProvider(buildMeta, FakeSdkMetadata("123456789")),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue