diff --git a/Corona-Warn-App/build.gradle b/Corona-Warn-App/build.gradle index 1fb62d84fd0f4a3db61d212a57f07acca1e72665..83f49f75d73e527a3c7e21e3fb8fa5694c66c4da 100644 --- a/Corona-Warn-App/build.gradle +++ b/Corona-Warn-App/build.gradle @@ -91,7 +91,7 @@ android { signingProps.load(new FileInputStream(signingPropFile)) signingConfigs { deviceRelease { - if(signingProps['deviceRelease.storePath'] != null) { + if (signingProps['deviceRelease.storePath'] != null) { storeFile file(signingProps['deviceRelease.storePath']) keyAlias signingProps['deviceRelease.keyAlias'] storePassword signingProps['deviceRelease.storePassword'] @@ -99,7 +99,7 @@ android { } } deviceForTestersRelease { - if(signingProps['deviceForTestersRelease.storePath'] != null) { + if (signingProps['deviceForTestersRelease.storePath'] != null) { storeFile file(signingProps['deviceForTestersRelease.storePath']) keyAlias signingProps['deviceForTestersRelease.keyAlias'] storePassword signingProps['deviceForTestersRelease.storePassword'] @@ -163,6 +163,12 @@ android { } println("deviceForTesters adjusted versionName: $adjustedVersionName") } + + variant.outputs.each { output -> + def apkName = "Corona-Warn-App-${output.versionNameOverride}-${flavor.name}-${variant.buildType.name}.apk" + println("APK Name: $apkName") + output.outputFileName = apkName + } } buildFeatures { diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ErrorReportReceiver.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ErrorReportReceiver.kt index ac820f405175ffe5ab05f0edd103926d2fa8f434..2a3db46981b4bde9072fd312ff7ca5bb46298df4 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ErrorReportReceiver.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ErrorReportReceiver.kt @@ -47,7 +47,7 @@ class ErrorReportReceiver(private val activity: Activity) : BroadcastReceiver() message += "#$apiStatusCode" } - val dialogTitle = if (intent.hasExtra(ReportingConstants.ERROR_REPORT_TITLE_EXTRA)) { + val dialogTitle = if (intent.getStringExtra(ReportingConstants.ERROR_REPORT_TITLE_EXTRA) != null) { intent.getStringExtra(ReportingConstants.ERROR_REPORT_TITLE_EXTRA) } else { val errorTitle = context.resources.getString(R.string.errors_generic_details_headline) diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ExceptionReporter.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ExceptionReporter.kt index e8b2ec5daa6317fe2db5d430567d63d143a0b6e5..bdaf800b81943a52a073d86be4c6f94551347c1c 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ExceptionReporter.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/exception/reporting/ExceptionReporter.kt @@ -10,8 +10,9 @@ import de.rki.coronawarnapp.exception.ExceptionCategory import de.rki.coronawarnapp.exception.reporting.ReportingConstants.STATUS_CODE_GOOGLE_API_FAIL import de.rki.coronawarnapp.exception.reporting.ReportingConstants.STATUS_CODE_GOOGLE_UPDATE_NEEDED import de.rki.coronawarnapp.exception.reporting.ReportingConstants.STATUS_CODE_REACHED_REQUEST_LIMIT -import de.rki.coronawarnapp.util.tryHumanReadableError import de.rki.coronawarnapp.util.CWADebug +import de.rki.coronawarnapp.util.HasHumanReadableError +import de.rki.coronawarnapp.util.tryHumanReadableError import java.io.PrintWriter import java.io.StringWriter @@ -28,14 +29,20 @@ fun Throwable.report( reportProblem(tag = prefix, info = suffix) val context = CoronaWarnApplication.getAppContext() - val formattedError = this.tryHumanReadableError(context) - val intent = Intent(ReportingConstants.ERROR_REPORT_LOCAL_BROADCAST_CHANNEL) intent.putExtra(ReportingConstants.ERROR_REPORT_CATEGORY_EXTRA, exceptionCategory.name) intent.putExtra(ReportingConstants.ERROR_REPORT_PREFIX_EXTRA, prefix) intent.putExtra(ReportingConstants.ERROR_REPORT_SUFFIX_EXTRA, suffix) - intent.putExtra(ReportingConstants.ERROR_REPORT_TITLE_EXTRA, formattedError.title) - intent.putExtra(ReportingConstants.ERROR_REPORT_MESSAGE_EXTRA, formattedError.description) + + if (this is HasHumanReadableError) { + val humanReadable = this.tryHumanReadableError(context) + humanReadable.title?.let { + intent.putExtra(ReportingConstants.ERROR_REPORT_TITLE_EXTRA, it) + } + intent.putExtra(ReportingConstants.ERROR_REPORT_MESSAGE_EXTRA, humanReadable.description) + } else { + intent.putExtra(ReportingConstants.ERROR_REPORT_MESSAGE_EXTRA, this.message) + } if (this is ReportedExceptionInterface) { intent.putExtra(ReportingConstants.ERROR_REPORT_CODE_EXTRA, this.code) diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/BaseKeyPackageSyncToolTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/BaseKeyPackageSyncToolTest.kt index 0e8a55046adcd4317ced155237004c7f03b1c64c..1113f850fdbccf9aa39ddf50cdb728decc09e76c 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/BaseKeyPackageSyncToolTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/diagnosiskeys/download/BaseKeyPackageSyncToolTest.kt @@ -71,7 +71,7 @@ class BaseKeyPackageSyncToolTest : BaseIOTest() { ) @Test - fun `key invalidation based on ETags`() = runBlockingTest { + fun `revoke keys based on ETags and return true if something happened`() = runBlockingTest { val invalidatedDay = mockk<KeyDownloadConfig.RevokedKeyPackage>().apply { every { etag } returns "etag-badday" } @@ -106,7 +106,12 @@ class BaseKeyPackageSyncToolTest : BaseIOTest() { coEvery { keyCache.getAllCachedKeys() } returns listOf(badDay, goodDay, badHour, goodHour) val instance = createInstance() - instance.revokeCachedKeys(listOf(invalidatedDay, invalidatedHour)) + instance.revokeCachedKeys(listOf(invalidatedDay, invalidatedHour)) shouldBe true + + coEvery { keyCache.getAllCachedKeys() } returns emptyList() + instance.revokeCachedKeys(listOf(invalidatedDay, invalidatedHour)) shouldBe false + + instance.revokeCachedKeys(emptyList()) shouldBe false coVerify { keyCache.delete(listOf(badDayInfo, badHourInfo)) } } diff --git a/gradle.properties b/gradle.properties index 2974345801f04919bc39c70e43305c810b323c9e..43acf78b7a8e600fcb0cc59815e1edecd3ed6cd4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,4 +20,4 @@ org.gradle.dependency.verification.console=verbose VERSION_MAJOR=1 VERSION_MINOR=8 VERSION_PATCH=0 -VERSION_BUILD=1 +VERSION_BUILD=2