Prevent UI scopes from canceling transactions (EXPOSUREAPP-2312) (#1093)
* Don't execute the transactions as part of any view scopes. We don't want to cancel them if the viewscope is cleared. This commit introduces distinct scopes for each transaction. * Mock injection helper behavior on existing tests. * Simplify to one CoroutineScope for all Transaction. Switch context when awaiting the transaction codeblock to end, otherwise a cancellation still affects us. * Add test for timeout * Remove unused code. * Expand comment on unexpected test behavior * Even without actual timeout, runBlockingTest causes flaky test behavior. Co-authored-by:Matthias Urhahn <matthias.urhahn@sap.com> Co-authored-by:
Jakob Möller <jakob.moeller@sap.com>
Showing
- Corona-Warn-App/build.gradle 1 addition, 0 deletionsCorona-Warn-App/build.gradle
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RetrieveDiagnosisInjectionHelper.kt 10 additions, 0 deletions...nawarnapp/transaction/RetrieveDiagnosisInjectionHelper.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RetrieveDiagnosisKeysTransaction.kt 7 additions, 2 deletions...nawarnapp/transaction/RetrieveDiagnosisKeysTransaction.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelInjectionHelper.kt 10 additions, 0 deletions...rki/coronawarnapp/transaction/RiskLevelInjectionHelper.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt 6 additions, 1 deletion.../de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/SubmitDiagnosisInjectionHelper.kt 10 additions, 0 deletions...ronawarnapp/transaction/SubmitDiagnosisInjectionHelper.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/SubmitDiagnosisKeysTransaction.kt 7 additions, 2 deletions...ronawarnapp/transaction/SubmitDiagnosisKeysTransaction.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/Transaction.kt 45 additions, 43 deletions...main/java/de/rki/coronawarnapp/transaction/Transaction.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/TransactionCoroutineScope.kt 13 additions, 0 deletions...ki/coronawarnapp/transaction/TransactionCoroutineScope.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/di/AppInjector.kt 4 additions, 3 deletions...src/main/java/de/rki/coronawarnapp/util/di/AppInjector.kt
- Corona-Warn-App/src/main/java/de/rki/coronawarnapp/util/di/ApplicationComponent.kt 12 additions, 1 deletion...java/de/rki/coronawarnapp/util/di/ApplicationComponent.kt
- Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RetrieveDiagnosisKeysTransactionTest.kt 10 additions, 0 deletions...rnapp/transaction/RetrieveDiagnosisKeysTransactionTest.kt
- Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt 11 additions, 0 deletions...rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt
- Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/SubmitDiagnosisKeysTransactionTest.kt 11 additions, 0 deletions...warnapp/transaction/SubmitDiagnosisKeysTransactionTest.kt
- Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/TransactionTest.kt 113 additions, 0 deletions.../java/de/rki/coronawarnapp/transaction/TransactionTest.kt
Loading
Please register or sign in to comment