Corona Warn App

The goal of this project was to develop the official Corona-Warn-App for Germany based on the exposure notification API from Apple and Google. The apps (for both iOS and Android) use Bluetooth technology to exchange anonymous encrypted data with other mobile phones (on which the app is also installed) in the vicinity of an app user’s phone. The data is stored locally on each user’s device, preventing authorities or other parties from accessing or controlling the data. This repository contains the native Android implementation of the Corona-Warn-App.

Impact

  • Release and Branch Management

    • Coordinated merges across multiple release cycles (1.2.x → 1.3.x → 1.4.x → 1.5.x).
    • Maintained development, staging, release candidate, and hotfix branches to ensure smooth delivery.
    • Handled conflict resolution and interoperability alignment between versions.
  • Reliability and Networking Improvements

    • Increased HTTP and transaction timeouts for resilience on poor networks.
    • Removed unnecessary cache clearing to reduce CDN load on failing devices.
    • Improved error handling by aborting transactions on failed entries.
  • Exposure Notification Framework (ENF) Compatibility

    • Implemented version checking logic for ENF < v16.
    • Reverted and adjusted diagnosis key retrieval mechanisms to ensure backward compatibility.
    • Overhauled diagnosis key download and caching mechanisms.
  • Hotfixes and Issue Mitigation

    • Delivered hotfixes for background update failures and API exceptions.
    • Addressed translation and string errors across multiple languages.
    • Ensured fixes were properly integrated into release and development branches.
  • Governance and Stewardship

    • Active maintainer role in release reviews and approvals.
    • Managed cross-team integration tasks during major app iterations.

Contributions

Contributed to: 425 PRs: 328 Issues: 97
#TitleAuthor
1226Wrap EncryptedSharedPreferences initialization in a retry mechanism (EXPOSUREAPP-1851)
PR Updated 2023-06-01 bug maintainers do not merge
d4rkend4rken
1225Merge hotfix 1.3.1 to master
PR Updated 2023-06-01 maintainers
AlexanderAlferovAlexanderAlferov
1224Interoperability: New Note on Data Processing (EXPOSUREAPP-2742)
PR Updated 2023-06-01 enhancement maintainers
AlexanderAlferovAlexanderAlferov
1223Interoperability: Submit days since onset of symptoms, Add 15th key to transmission risk vector (EXPOSUREAPP-2748, EXPOSUREAPP-2686)
PR Updated 2023-06-01 maintainers
chris-cwachris-cwa
1221Fix various code smells and refactor our Application class
PR Updated 2023-06-01 maintainers
d4rkend4rken
1215Release/1.4.X To Release/1.5.X
PR Updated 2023-06-01 maintainers
jakobmoellerdevjakobmoellerdev
1213Handle App Config uniformly with caching (EXPOSUREAPP-2747)
PR Updated 2023-06-01 enhancement maintainers
d4rkend4rken
1201QuotaCalculator v2
PR Updated 2023-06-01 enhancement maintainers
d4rkend4rken
1200QuotaCalculator V2
PR Updated 2020-10-07 enhancement maintainers
d4rkend4rken
1196Remove QuotaCalculator from hotfix 1.3.1
PR Updated 2023-06-01 bug maintainers
d4rkend4rken
1195Improve transaction and workmanager related
PR Updated 2023-06-01 enhancement maintainers
d4rkend4rken
1179Remover ar & ru and update default strings
PR Updated 2023-06-01 maintainers
harambasiclukaharambasicluka
1178Translation Delivery
PR Updated 2023-06-01 maintainers
service-tip-gitservice-tip-git
11771.3.1 into 1.4.0
PR Updated 2023-06-01 maintainers
d4rkend4rken
1176File Logger Introduction for Test Builds (EXPOSUREAPP-2640)
PR Updated 2023-06-01 maintainers
d4rkend4rken
1173Interoperability to 1.5.X
PR Updated 2023-06-01 maintainers
jakobmoellerdevjakobmoellerdev
1170Provide onset of symptoms before upload (EXPOSUREAPP-1605)
PR Updated 2023-06-01 maintainers
Oliver-ZimmermanOliver-Zimmerman
1166Dev to RC/1.4.0
PR Updated 2020-10-07 maintainers
jakobmoellerdevjakobmoellerdev
1165Reverted replaced wording (EXPOSUREAPP-2638) (#1153)
PR Updated 2023-06-01 maintainers
d4rkend4rken
1162Merge hotfixes into dev
PR Updated 2023-06-01 maintainers
d4rkend4rken
1151Introduce ViewModel Injection
PR Updated 2023-06-01 enhancement maintainers
d4rkend4rken
1150Version Checker with Branching for Checks on provideDiagnosisKeys below v16 of ENF (EXPOSUREAPP-2213)
PR Updated 2023-06-01 maintainers
jakobmoellerdevjakobmoellerdev
1139Revert "Consolidate all number of retrieve diagnosis keys into one (#1088) (EXPOSUREAPP-2405, EXPOSUREAPP-2470) in DEV for 1.4 RCs
PR Updated 2023-06-01 maintainers
jakobmoellerdevjakobmoellerdev
1138Double Timeout Variables for HTTP Requests and Triple the Timeout for the Transaction to ensure less timeouts are received with bad networking (EXPOSUREAPP-2190)
PR Updated 2023-06-01 maintainers
jakobmoellerdevjakobmoellerdev
1136Overhaul of DiagnosisKey related Download and Caching Mechanisms (EXPOSUREAPP-2469)
PR Updated 2023-06-01 enhancement maintainers sprint5
d4rkend4rken
1134Throw Exception in case we have a failed entry to ensure Abortion of the Transaction (EXPOSUREAPP-2405)
PR Updated 2023-06-01
jakobmoellerdevjakobmoellerdev
1133Hotfix: Removed ar & ru and updated defaults
PR Updated 2023-06-01 maintainers
harambasiclukaharambasicluka
1128Fix: Strings - removed ar & ru and updated default strings
PR Updated 2023-06-01 maintainers
harambasiclukaharambasicluka
1110RC/1.3.0 to Master
PR Updated 2023-06-01
jakobmoellerdevjakobmoellerdev
1109Version bump to 1.4.0
PR Updated 2023-06-01
jakobmoellerdevjakobmoellerdev
1108Remove Cache Clearing to reduce CDN load on failing devices (EXPOSUREAPP-2405)
PR Updated 2023-06-01 maintainers
jakobmoellerdevjakobmoellerdev
1107Revert "Update UTC time to LocalTime (#1041) (EXPOSUREAPP-1863)"
PR Updated 2023-06-01 maintainers
jakobmoellerdevjakobmoellerdev
1098Single point of resposibility for background activity prioritization (EXPOSUREAPP-2271)
PR Updated 2023-06-01 maintainers sprint5
chris-cwachris-cwa
1096Remove blanket internet connection status (EXPOSUREAPP-1572)
PR Updated 2023-06-01 maintainers sprint5
Oliver-ZimmermanOliver-Zimmerman
1094Voice assist double tap on link fix (EXPOSUREAPP-2288)
PR Updated 2023-06-01 maintainers sprint5
AndroidMedaGalaxyAndroidMedaGalaxy
1093Prevent UI scopes from canceling transactions (EXPOSUREAPP-2312)
PR Updated 2023-06-01 bug enhancement maintainers sprint5
d4rkend4rken
1088Fix: Consolidate all number of retrieve diagnosis keys into one (EXPOSUREAPP-2405)
PR Updated 2023-06-01 maintainers
harambasiclukaharambasicluka
1083Feature: Update german & english eula (EXPOSUREAPP-1781)
PR Updated 2023-06-01 maintainers sprint5
harambasiclukaharambasicluka
1082Active tracing days no longer negative (EXPOSUREAPP-2366)
PR Updated 2023-06-01 maintainers
SamuraiKekSamuraiKek
1080Let tests be run for all flavors
PR Updated 2023-06-01 maintainers sprint5
chris-cwachris-cwa
1079Admin: Update notice file
PR Updated 2023-06-01 maintainers sprint5
harambasiclukaharambasicluka
1078Dev 1.3.0 to RC/1.3.0
PR Updated 2023-06-01 maintainers
jakobmoellerdevjakobmoellerdev
1076Storage check with optional allocation (EXPOSUREAPP-2259)
PR Updated 2023-06-01 enhancement maintainers sprint5
d4rkend4rken
1075Fix: Grammar error in data privacy (EXPOSUREAPP-2251)
PR Updated 2023-06-01 maintainers fix sprint4
harambasiclukaharambasicluka
1074Fix: Replaced brackets with leading # to match website faq structure (EXPOSUREAPP-2261)
PR Updated 2023-06-01 maintainers sprint5
harambasiclukaharambasicluka
1072Initial backend implementation for submission interoperability (EXPOSUREAPP-2266)
PR Updated 2023-06-01 backend maintainers on hold sprint5 interoperability-ui
kolyaopahlekolyaopahle
1070Ship a common codeStyle that matches KLint.
PR Updated 2023-06-01 enhancement maintainers
d4rkend4rken
1069Introduce dagger 2, first risk level unit tests (EXPOSUREAPP-2207)
PR Updated 2023-06-01 maintainers sprint5
chris-cwachris-cwa
1061Improve transaction logging
PR Updated 2023-06-01 enhancement maintainers
d4rkend4rken
1060Automatically enable coroutine debugging in DEBUG and test builds.
PR Updated 2023-06-01 enhancement maintainers
d4rkend4rken
1059Text: Fix string for qr code error message (EXPOSUREAPP-2287)
PR Updated 2023-06-01 maintainers
harambasiclukaharambasicluka
1058Text: Fix string Datenverarbeitung (EXPOSUREAPP-2272)
PR Updated 2023-06-01 maintainers
harambasiclukaharambasicluka
1057No Location Services needed for Android 11 (EXPOSUREAPP-2025)
PR Updated 2023-06-01 maintainers sprint5
BMItrBMItr
1048App usages over 16 years (EXPOSUREAPP-1781)
PR Updated 2023-06-01 ui maintainers sprint5
apopovsapapopovsap
1042Use File extension functions to make code more concise.
PR Updated 2023-06-01
johnjohndoejohnjohndoe
1041Update UTC time to LocalTime (EXPOSUREAPP-1863)
PR Updated 2023-06-01 maintainers sprint4
SamuraiKekSamuraiKek
1040Fix: Removed ar & ru, update default strings and some auto formatting
PR Updated 2023-06-01 maintainers
harambasiclukaharambasicluka
1037Fixes 9002 error caused by test fragment risk reset (related to EXPOSUREAPP-1851)
PR Updated 2023-06-01 maintainers
d4rkend4rken
1035Feature: Added string to open app daily (EXPOSUREAPP-2005)
PR Updated 2023-06-01 maintainers
harambasiclukaharambasicluka
1031Dev 1.3.0 to RC/1.3.0
PR Updated 2023-06-01 maintainers
jakobmoellerdevjakobmoellerdev
1029Active tracing days count can be negative (EXPOSUREAPP-1844) #828
PR Updated 2023-06-01 maintainers
SamuraiKekSamuraiKek
1025Dev 1.3.0 to RC/1.3.0
PR Updated 2023-06-01 maintainers
jakobmoellerdevjakobmoellerdev
1021CAUSE: 3 Something went wrong. ApiException: 39508
Issue Updated 2020-10-26 bug mirrored-to-jira
kbobrowskikbobrowski
1017Hotfix 1.2.1
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
1016Dev 1.3.0 to RC/1.3.0
PR Updated 2023-06-01
jakobmoellerdevjakobmoellerdev
1015Hotfixes to DEV
PR Updated 2020-08-12
jakobmoellerdevjakobmoellerdev
1014Updated DEV from hotfix 1.2.1
PR Updated 2023-06-01
jakobmoellerdevjakobmoellerdev
1011Hotfix version bump to 1.2.1
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
1010Version code bump for RC3 1.3.0
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
1009Hotfixes translation updates
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
1008Change wording for 'Mundschutz' (EXPOSUREAPP-2197)
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
1007Moved status code to initial error message dialog (EXPOSUREAPP-2081)
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
999Dev 1.3.0 to RC/1.3.0
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
998[INFO] URSACHE: 9002, Etwas ist schiefgelaufen. Timeout
Issue Updated 2021-05-09 bug mirrored-to-jira
Jo-AchimJo-Achim
996Append google apiexception statuscode to detailsTitle (EXPOSUREAPP-2081)
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
995Dev 1.3.0 to RC/1.3.0
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
992Check if ENF is enabled before getting the exposure summary (EXPOSUREAPP-2080)
PR Updated 2023-06-01 maintainers on hold
pwoessnerpwoessner
989Added support for new TestResult and DeviceUIState based on EXPOSUREAPP-1743
PR Updated 2023-06-01 backend ui maintainers
kolyaopahlekolyaopahle
979Dev to Staging 1.2.0
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
978deleted ru file and updated base string file
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
975Dev 1.2.0 to Staging
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
972Re-schedule jobs if they were killed and the app was woken up by the WakeUpService
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
965Dev 1.2.0 to Staging
PR Updated 2023-06-01
jakobmoellerdevjakobmoellerdev
963Changed background prio dialogs and texts (EXPOSUREAPP-1853)
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
961Text changes for the high risk description (EXPOSUREAPP-1994, EXPOSUREAPP-1999)
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
957Dev 1.2.0 to Staging
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
956Updated base file with en update, deleted ru and ar for this release
PR Updated 2023-06-01 maintainers
pwoessnerpwoessner
954Added wifi lock and resilience
PR Updated 2023-06-01
pwoessnerpwoessner
952Dev staging conflict resolvement
PR Updated 2020-07-30
jakobmoellerdevjakobmoellerdev
951Fix - Adjusted isBackgroundJobEnabled to consider battery optimization
PR Updated 2023-06-01 maintainers
Oliver-ZimmermanOliver-Zimmerman
949Dev 1.2.0 to Staging
PR Updated 2023-06-01
jakobmoellerdevjakobmoellerdev
947Added key retrieval logic in app's onCreate to include Googles WakeUpService
PR Updated 2023-06-01 maintainers fix-sprint2
pwoessnerpwoessner
946WIP: plausible deniability
PR Updated 2023-06-01 maintainers
Fabian-KFabian-K
943Fix status priorities when bluetooth, location services or more are disabled at the same time (EXPOSUREAPP-1908)
PR Updated 2023-06-01 maintainers fix-sprint2
AlexanderAlferovAlexanderAlferov
939Translation update
PR Updated 2023-06-01
harambasiclukaharambasicluka
937Text updates for risk-exposures on low-risk level card (EXPOSUREAPP-1737)
PR Updated 2023-06-01 maintainers fix-sprint2
Oliver-ZimmermanOliver-Zimmerman
933Background update does not work, CWA 1.9.1 and “prioritized background activity”
Issue Updated 2020-12-28 bug mirrored-to-jira
speedy-1702speedy-1702
924Error code 8: attempt to write a readonly database
Issue Updated 2020-11-22 bug further input needed mirrored-to-jira
pathmapperpathmapper
916Release 1.2.0
PR Updated 2023-06-01 maintainers on hold
pwoessnerpwoessner
871Translate "face mask" as Mund-Nasen-Schutz.
PR Updated 2023-06-01 UX
yathyath