Skip to content
Snippets Groups Projects
user avatar
harambasicluka authored
* [INTERNAL] Translation delivery: commit by LX Lab

Change-Id: Ic0905f66e03544c549ee6bf0edde3707c528215c

* Translation branch update (#127)

* Implement submission done fragment (#20)

* Added submission done fragment (currently dangling in nav graph)

* fixed leftover javadoc

* Moved QR code scan and registration fragment to submission package (#21)

* Dependency Updates and Gradle Fixes (#34)

* Bump up Gradle to 4.0.0 / 6.1.1

* Bump up NDK

* Bump Up SQLite

* adapt circle config

* Fix #23: Typo in onboarding screen (#31)

Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>

* Submission UI Additions (#25)

* Moved camera permission check to dispatcher fragment

* Added illustrations for test result screen

* Updated result fragment to match new design

* Added constraints to status card

* Integrated submission result positive other warning fragment in ui flow

* Added submission done fragment to nav graph

Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>

* Added ability to dialog helper to create dialog without negative button

* Switched from AlertDialog.Builder to DIalogHelper

* Enable diagnosis key upload to backend (#35)

* Moved camera permission check to dispatcher fragment

* Added illustrations for test result screen

* Updated result fragment to match new design

* Added constraints to status card

* Integrated submission result positive other warning fragment in ui flow

* add TAN fetching to the key submission transaction

* remove unneeded function

* Fix log message for fetching TAN

* Added submission done fragment to nav graph

Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>

* Added ability to dialog helper to create dialog without negative button

* Switched from AlertDialog.Builder to DIalogHelper

* use actual TAN (authCode) for key submission

set the TAN in the corresponding header field
fixes #8

* request permission to retrieve diagnosis keys

* permission needs to be requested again after dialog has been presented to the users
* trigger transaction to retrieve TAN and upload keys

Co-authored-by: default avatarKolya Opahle <k.opahle@sap.com>

* Removed ExposureNotificationIntentService, the functionality is handled by NotificationHelper (#40)

* Fixing tele tan registration (#45)

* Fixed teleTAN based device registration

Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>

* allowed excluded tan chars for testing

Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>

* Revert "allowed excluded tan chars for testing"

This reverts commit 253ede4ea9c8ba2b5e6dd324680eed0f8f7e74c1.

* Release/0.5.5 (#48)

* Release/0.5.5

* Hotfix for resetting Gradle Version (internal pipeline confirmation) (#52)

* Gradle Reset to 0.5.4 (#53)

* Release/0.5.5 (#48)

* Hotfix for resetting Gradle Version (internal pipeline confirmation) (#52)

* Minify and Shrink Disabled (#56)

* Release/0.5.5

* Gradle Reset to 0.5.4 (#53)

* Release/0.5.5 (#48)

* Hotfix for resetting Gradle Version (internal pipeline confirmation) (#52)

* Disable minify / shrink

* Dont obfuscate

* 0.5.6

* Update known issues and fixing typo in readme (#44)

* added strings wip to known issues

* updated readme

Co-authored-by: default avatarMuschko <marc.muschko@sap.com>

* Updated strings, introduced more details on app-information screens (#88)

* updated strings for risk card and risk card details; plural strings are todo when finalized

* updated more strings on main / details

* added comments

* added strings for information about, information technical hotline; changed technical hotline layout

* removed hotline test icon

* fixed build issues

* Cleanup pull_request_template.md (#54)

* Update pull_request_template.md

* Removed Link to Contribution Guidelines (added by Github on the right hand side, anyhow)
* Removed Link to issue #41 from title example (this has been linked quite a lot...)

* 0.5.6

* Fix typo

Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>
Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>
Co-authored-by: default avatarmarcmuschko <marc.muschko@sap.com>

* Add Support for lower case characters in the teleTAN screen (#66)

* added support for lower case input in teleTan fragment

Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>

* Removed notice of case insensitivity from temporary strings.xml

Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>

Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>

* Correct typos in architecture overview (#67)

Co-authored-by: default avatarmarcmuschko <marc.muschko@sap.com>

* Bluetooth & connection card (#97)

* introduced settings navigation helper

* added connection and bluetooth stati to main and tracing settings

* moved strings

* removed unnecessary backgroundTint

Co-authored-by: default avatarmarcmuschko <marc.muschko@sap.com>

* Fix typo in class documentation (#71)

* 0.5.6

* fix typo

Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>
Co-authored-by: default avatarmarcmuschko <marc.muschko@sap.com>

* spelling fixes (#87)

* 0.5.6

* spelling fixes

Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>
Co-authored-by: default avatarklemens <ka7@github.com>
Co-authored-by: default avatarmarcmuschko <marc.muschko@sap.com>

* Moves creation of notification channel to app startup (#32)

Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>

* Tracing start/stop fix due to missing handling inside tracing (#99)

Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>

* Switch the DB Password to use the KeyStore MasterKey (#98)

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* Shared prefs ktx shorthand (#38)

* closes #33

* Add Commit Flag to ensure synchronous consistent Updates to Disk

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* Add persistance of timestamp and whether user is allowed to submit keys (#74)

* Store timestamp of receiving registration token

* also reset this timestamp when deleting the registration token

* use correct timestamp for display of test time

* replace tracing activation time by test result reception time

* rename TAN request to match context

* set isAllowedToSubmitDiagnosisKeys properly

Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>

* set "enabled" for include_settings_switch_row in notifications settings, fixes wrong binding and removed clickable rows (#101)

Co-authored-by: default avatarmarcmuschko <marc.muschko@sap.com>

* fix #82 (#94)

* fix #82

Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>

* Add ShareHelper (#85)

* Add ShareHelper

* Use ShareHelper in MainShareFragment

* Replace the current exposure status with a positive result card when test result is positive (#79)

* Made submission status card style more cross device friendly

Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>

* Added the positive result submission status card

Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>

* lint fix

* Updated main fragment documentation

* Added icon for sharing risk status

Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>

* Updated positive result home screen card text and icons

Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>

* Added loading indicator to test result fragment (#100)

Co-authored-by: default avatarmarcmuschko <marc.muschko@sap.com>
Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>

* Adjusted onboarding flow, adjusted contribution file, small fixes in settings (#106)

* changed permission dialog logic for onboarding tracing fragment and onboarding notification fragment

* adjusted contributing file

* added settings notification handling to display value in settings overview

* fixed app crash during bluetooth settings navigation

* corrected wrong value from view model in tracing settings text

* Submission Contact Fragment & StepView Custom View (#102)

* - submission-contact fragment added
- StepEntry custom view added to unify various step entry views
- SimpleStepEntry as a simple implementation of a StepEntry with title and text added

* - apply naming conventions for ids
- use CallHelper to trigger a call
- access views using kotlinx.android.synthetic

Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>

* Notifications when risk value has changed between low and high. (#76)

* Notifications when risk value has changed between low and high.

* Notifications when risk value has changed between low and high.
Fixed wildcard imports.

* Fixed formatting, ktlint issue.

* app foreground/background checking. Notifications are not sent when app is in background

* update comments

* initialize foreground flag as false(valid for background threads before ui starts)

* comments

* included UNDERTERMINED as a low, for initialisation

* fixed icon

* fixed tests

Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>

* added onboarding strings (#109)

* disable colored output for ktlint (#105)

Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>
Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>

* Limit number of keys to be uploaded to server (#107)

* limit the number of keys to be uploaded to 14

* fix spaces

Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>

* Fix white space, informal language and spelling of Docker in Readme (#78)

* 0.5.6

* Fix spelling gonna and docker

* Add missing "to"

Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>
Co-authored-by: default avatarmarcmuschko <marc.muschko@sap.com>

* Update build.gradle (#111)

* Build.Gradle Conflict Resolving (0.8.0) (#112)

* Minify and proguard fix (#113)

Commented out -dontobfuscate

* Circle progress bar (#96)

* circle progress bar impl

* ktlint format

* added new ui

* added circle to contact tracing without binding

* added binding and final icon

* added circle progress to risk card

* added comments

* changed default value for disableText

* adapted views order to designs

* removed testing value

Co-authored-by: default avatarKirill <kirill.sergeev@sap.com>

* TracingStatusHelper unit test (#114)

* TracingStatusHelper unit test

* removed duplicate

* Prevent screenshot of the app for all activities (#108)

* Prevent screenshot of the app for all activities

* fix ktlint

* code smell fix

Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>

* Feature: Bluetooth callback (#115)

* bluetooth callback added

* bound bluetooth callback to the ui

Co-authored-by: default avatarKirill <kirill.sergeev@sap.com>

* Added main overview page to main menu (#120)

* added overview fragment baseline

* main overview draft version completed with build fixes

* checked some final strings again

* Fixed screen orientation to portrait (#121)

* added restriction to portrait and reversed portrait orientation only

* suppress SourceLockedOrientationActivity lint error

* changed local config that a high match can be generated via QR code, integrated it with the UI (#125)

* Feature: Translation preparation (#126)

* renamed old strings and reordered

* app information strings translation tags

* updated translation tags for long texts

* added translation comments to strings

* fixed naming error

* removed empty comment

Co-authored-by: default avatarMuschko <marc.muschko@sap.com>

Co-authored-by: default avatarKolya Opahle <k.opahle@sap.com>
Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>
Co-authored-by: default avatarMichael Keppler <bananeweizen@gmx.de>
Co-authored-by: default avatarThomas Klingbeil <64434904+tklingbeil@users.noreply.github.com>
Co-authored-by: default avatarHee Tatt Ooi <64406309+HeeTattSap@users.noreply.github.com>
Co-authored-by: default avatarMuschko <marc.muschko@sap.com>
Co-authored-by: default avatarThomas Kowark <thomas.kowark@sap.com>
Co-authored-by: default avatarRobert Scheck <robert-scheck@users.noreply.github.com>
Co-authored-by: default avatarVolkmar Vogel <volkmar@vogel.app>
Co-authored-by: default avatarka7 <ka7@la-evento.com>
Co-authored-by: default avatarklemens <ka7@github.com>
Co-authored-by: default avatarTim Brüggenthies <tim.brueggenthies@outlook.de>
Co-authored-by: default avatarmseele <mseele@gmail.com>
Co-authored-by: default avatarJanik Steegmüller <janik.steegmueller@gmail.com>
Co-authored-by: default avatarFabian-K <fabian.kajzar@sap.com>
Co-authored-by: default avatarHee Tatt Ooi <hee.tatt.ooi@sap.com>
Co-authored-by: default avatarMatthias Küch <mail@matthias-kuech.de>
Co-authored-by: default avataroemerb <66002424+oemerb@users.noreply.github.com>
Co-authored-by: default avatarAlexanderAlferov <64849422+AlexanderAlferov@users.noreply.github.com>
Co-authored-by: default avatarKirill <kirill.sergeev@sap.com>
Co-authored-by: default avatarPhilipp Woessner <64482866+pwoessner@users.noreply.github.com>

* [INTERNAL] Translation delivery: commit by LX Lab

Change-Id: Ic0905f66e03544c549ee6bf0edde3707c528215c

* Remove values-2Q

Signed-off-by: default avatard067928 <jakob.moeller@sap.com>

* [INTERNAL] Translation delivery: commit by LX Lab

Change-Id: Idf52dece137fdc6e314ed752a8ef6b79b08683b0

* deleted 2Q

* [INTERNAL] Translation delivery: commit by LX Lab

Change-Id: I63afce1d7307c912b034728d8b78d437974f818d

* excluded translation from lint for dev

* fixed quickBuild errors

* [INTERNAL] Translation delivery: commit by LX Lab

Change-Id: I0b2e12f977b0a4bf37716d85e527d8d05168120f

* fixed local issues

* [INTERNAL] Translation delivery: commit by LX Lab

Change-Id: Ied4c086215e1392cb4ac061c9e82760f4757d5b2

* fixes

Co-authored-by: default avatarservice-tip-git <tmsatsls@gmail.com>
Co-authored-by: default avatarKolya Opahle <k.opahle@sap.com>
Co-authored-by: default avatarJakob Möller <jakob.moeller@sap.com>
Co-authored-by: default avatarMichael Keppler <bananeweizen@gmx.de>
Co-authored-by: default avatarThomas Klingbeil <64434904+tklingbeil@users.noreply.github.com>
Co-authored-by: default avatarHee Tatt Ooi <64406309+HeeTattSap@users.noreply.github.com>
Co-authored-by: default avatarMuschko <marc.muschko@sap.com>
Co-authored-by: default avatarThomas Kowark <thomas.kowark@sap.com>
Co-authored-by: default avatarRobert Scheck <robert-scheck@users.noreply.github.com>
Co-authored-by: default avatarVolkmar Vogel <volkmar@vogel.app>
Co-authored-by: default avatarka7 <ka7@la-evento.com>
Co-authored-by: default avatarklemens <ka7@github.com>
Co-authored-by: default avatarTim Brüggenthies <tim.brueggenthies@outlook.de>
Co-authored-by: default avatarmseele <mseele@gmail.com>
Co-authored-by: default avatarJanik Steegmüller <janik.steegmueller@gmail.com>
Co-authored-by: default avatarFabian-K <fabian.kajzar@sap.com>
Co-authored-by: default avatarHee Tatt Ooi <hee.tatt.ooi@sap.com>
Co-authored-by: default avatarMatthias Küch <mail@matthias-kuech.de>
Co-authored-by: default avataroemerb <66002424+oemerb@users.noreply.github.com>
Co-authored-by: default avatarAlexanderAlferov <64849422+AlexanderAlferov@users.noreply.github.com>
Co-authored-by: default avatarKirill <kirill.sergeev@sap.com>
Co-authored-by: default avatarPhilipp Woessner <64482866+pwoessner@users.noreply.github.com>
9b260517
History

Corona Warn App - Android

DevelopmentDocumentationContributeSupportChangelogLicensing

The goal of this project is 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. This implementation is still a work in progress, and the code it contains is currently alpha-quality code.

Development

Known Issues

  • The Exposure Notification API is going to block you from successfully testing the Application unless you are whitelisted inside GMS.
  • The Submission Flow is currently not working inside the Test Fragment and is heavily WIP.
  • The Exception Handler is heavily WIP and may not include every exception and thus some Toasts (temporary) might not show the error or cause crashes, this also applies to error handling in general.
  • The Storage is currently based on Encrypted Shared Preferences and SQL Cipher (SQLite) - this could change in the future
  • The App could crash, it is generally heavily WIP. We do not guarantee stability right now.
  • Test Coverage is generally low and needs to be improved. We appreciate your help here!
  • In General every TODO can be regarded as an issue. You are free to tackle the TODO's anytime!
  • We are aware of the Play Store Limitations of GMS.
  • Without your own server instance (e.g. a local Docker setup), you will not be able to test the Application. For help, please refer to the server implementation.
  • Strings in general are WIP, the base language is German, the English translation will be provided by SAP.
  • Application design is WIP (e.g. colors, fonts, screen layout) and will be provided once it is final.

Architecture & Documentation

The full documentation for the Corona-Warn-App is in the cwa-documentation repository. The documentation repository contains technical documents, architecture information, UI/UX specifications, and whitepapers related to this implementation.

Support & Feedback

The following channels are available for discussions, feedback, and support requests:

Type Channel
General Discussion
Concept Feedback
Android App Issue
Backend Issue
Other Requests

How to Contribute

Contribution and feedback are encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines. By participating in this project, you agree to abide by its Code of Conduct at all times.

Contributors

The German government has asked SAP and Deutsche Telekom to develop the Corona-Warn-App for Germany as open source software. Deutsche Telekom is providing the network and mobile technology and will operate and run the backend for the app in a safe, scalable and stable manner. SAP is responsible for the app development, its framework and the underlying platform. Therefore, development teams of SAP and Deutsche Telekom are contributing to this project. At the same time our commitment to open source means that we are enabling -in fact encouraging- all interested parties to contribute and become part of its developer community.

Repositories

Repository Description
cwa-documentation Project overview, general documentation, and white papers.
cwa-app-ios Native iOS app using the Apple/Google exposure notification API.
cwa-app-android Native Android app using the Apple/Google exposure notification API.
cwa-server Backend implementation for the Apple/Google exposure notification API.
cwa-verification-server Backend implementation of the verification process.

Licensing

Copyright (c) 2020 SAP SE or an SAP affiliate company.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.