bugfix: do not remove logs after sending them

This commit is contained in:
ganfra 2024-10-31 11:42:14 +01:00
parent 014b82c681
commit 0ffffc8d83
2 changed files with 0 additions and 11 deletions

View file

@ -17,7 +17,6 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.saveable.rememberSaveable
import io.element.android.features.rageshake.api.crash.CrashDataStore import io.element.android.features.rageshake.api.crash.CrashDataStore
import io.element.android.features.rageshake.api.logs.LogFilesRemover
import io.element.android.features.rageshake.api.reporter.BugReporter import io.element.android.features.rageshake.api.reporter.BugReporter
import io.element.android.features.rageshake.api.reporter.BugReporterListener import io.element.android.features.rageshake.api.reporter.BugReporterListener
import io.element.android.features.rageshake.api.screenshot.ScreenshotHolder import io.element.android.features.rageshake.api.screenshot.ScreenshotHolder
@ -31,7 +30,6 @@ class BugReportPresenter @Inject constructor(
private val bugReporter: BugReporter, private val bugReporter: BugReporter,
private val crashDataStore: CrashDataStore, private val crashDataStore: CrashDataStore,
private val screenshotHolder: ScreenshotHolder, private val screenshotHolder: ScreenshotHolder,
private val logFilesRemover: LogFilesRemover,
private val appCoroutineScope: CoroutineScope, private val appCoroutineScope: CoroutineScope,
) : Presenter<BugReportState> { ) : Presenter<BugReportState> {
private class BugReporterUploadListener( private class BugReporterUploadListener(
@ -143,6 +141,5 @@ class BugReportPresenter @Inject constructor(
private fun CoroutineScope.resetAll() = launch { private fun CoroutineScope.resetAll() = launch {
screenshotHolder.reset() screenshotHolder.reset()
crashDataStore.reset() crashDataStore.reset()
logFilesRemover.perform()
} }
} }

View file

@ -12,18 +12,15 @@ import app.cash.molecule.moleculeFlow
import app.cash.turbine.test import app.cash.turbine.test
import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertThat
import io.element.android.features.rageshake.api.crash.CrashDataStore import io.element.android.features.rageshake.api.crash.CrashDataStore
import io.element.android.features.rageshake.api.logs.LogFilesRemover
import io.element.android.features.rageshake.api.reporter.BugReporter import io.element.android.features.rageshake.api.reporter.BugReporter
import io.element.android.features.rageshake.api.screenshot.ScreenshotHolder import io.element.android.features.rageshake.api.screenshot.ScreenshotHolder
import io.element.android.features.rageshake.test.crash.A_CRASH_DATA import io.element.android.features.rageshake.test.crash.A_CRASH_DATA
import io.element.android.features.rageshake.test.crash.FakeCrashDataStore import io.element.android.features.rageshake.test.crash.FakeCrashDataStore
import io.element.android.features.rageshake.test.logs.FakeLogFilesRemover
import io.element.android.features.rageshake.test.screenshot.A_SCREENSHOT_URI import io.element.android.features.rageshake.test.screenshot.A_SCREENSHOT_URI
import io.element.android.features.rageshake.test.screenshot.FakeScreenshotHolder import io.element.android.features.rageshake.test.screenshot.FakeScreenshotHolder
import io.element.android.libraries.architecture.AsyncAction import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.matrix.test.A_FAILURE_REASON import io.element.android.libraries.matrix.test.A_FAILURE_REASON
import io.element.android.tests.testutils.WarmUpRule import io.element.android.tests.testutils.WarmUpRule
import io.element.android.tests.testutils.lambda.LambdaOneParamRecorder
import kotlinx.coroutines.test.TestScope import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest import kotlinx.coroutines.test.runTest
import org.junit.Rule import org.junit.Rule
@ -111,11 +108,9 @@ class BugReportPresenterTest {
@Test @Test
fun `present - reset all`() = runTest { fun `present - reset all`() = runTest {
val logFilesRemover = FakeLogFilesRemover()
val presenter = createPresenter( val presenter = createPresenter(
crashDataStore = FakeCrashDataStore(crashData = A_CRASH_DATA, appHasCrashed = true), crashDataStore = FakeCrashDataStore(crashData = A_CRASH_DATA, appHasCrashed = true),
screenshotHolder = FakeScreenshotHolder(screenshotUri = A_SCREENSHOT_URI), screenshotHolder = FakeScreenshotHolder(screenshotUri = A_SCREENSHOT_URI),
logFilesRemover = logFilesRemover,
) )
moleculeFlow(RecompositionMode.Immediate) { moleculeFlow(RecompositionMode.Immediate) {
presenter.present() presenter.present()
@ -127,7 +122,6 @@ class BugReportPresenterTest {
initialState.eventSink.invoke(BugReportEvents.ResetAll) initialState.eventSink.invoke(BugReportEvents.ResetAll)
val resetState = awaitItem() val resetState = awaitItem()
assertThat(resetState.hasCrashLogs).isFalse() assertThat(resetState.hasCrashLogs).isFalse()
logFilesRemover.performLambda.assertions().isCalledOnce()
// TODO Make it live assertThat(resetState.screenshotUri).isNull() // TODO Make it live assertThat(resetState.screenshotUri).isNull()
} }
} }
@ -236,12 +230,10 @@ class BugReportPresenterTest {
bugReporter: BugReporter = FakeBugReporter(), bugReporter: BugReporter = FakeBugReporter(),
crashDataStore: CrashDataStore = FakeCrashDataStore(), crashDataStore: CrashDataStore = FakeCrashDataStore(),
screenshotHolder: ScreenshotHolder = FakeScreenshotHolder(), screenshotHolder: ScreenshotHolder = FakeScreenshotHolder(),
logFilesRemover: LogFilesRemover = FakeLogFilesRemover(LambdaOneParamRecorder(ensureNeverCalled = true) { }),
) = BugReportPresenter( ) = BugReportPresenter(
bugReporter = bugReporter, bugReporter = bugReporter,
crashDataStore = crashDataStore, crashDataStore = crashDataStore,
screenshotHolder = screenshotHolder, screenshotHolder = screenshotHolder,
logFilesRemover = logFilesRemover,
appCoroutineScope = this, appCoroutineScope = this,
) )
} }