-
Notifications
You must be signed in to change notification settings - Fork 42
Receiving exposures documentation
Artur Słomowski edited this page Jun 2, 2020
·
1 revision
When Exposure Notification Framework finishes comparing diagnosis keys with keys stored on the device and it detects some exposures it informs about the end of analysis by broadcasting ACTION_EXPOSURE_STATE_UPDATED intent. In order to provide user a correct risk level that is shown in the PWA module application has to get detailed information about detected exposures and save them to the local, encrypted database.
Steps:
- Register a receiver to receive broadcasts of the ACTION_EXPOSURE_STATE_UPDATED intent - this action is called only when there is at least one exposure detected
- Receiver: ExposureNotificationBroadcastReceiver
- Get exposure information from Exposure Notification Framework in a one time Worker (BroadcastReceiver is short-time living so it's not a good idea to call long-running operations there) by passing a token from a received intent. Exposure Notification Framework displays a notification to the user each time this method is invoked (so user is informed that there were some exposures and application fetched details of them)
- Worker: ExposureStateUpdateWorker
- UseCase: GetExposureInformationUseCase
- Repository function: ExposureNotificationRepository.getExposureInformation(token: String)
- Repository implementation: ExposureNotificationRepositoryImpl.getExposureInformation(token: String)
- The list of ExposureInformation objects is provided from Exposure Notification Framework
- The app saves every exposure information to encrypted database with only the following data:
- Day level resolution that the exposure occurred
- Length of exposure (in 5 minutes intervals, with a 30 minute maximum)
- The total risk score calculated for the exposure
- UseCase: SaveMatchedTokenUseCase
- Repository function: ExposureRepository.upsert(exposure: ExposureItem)
- Repository implementation: ExposureRepositoryImpl.upsert(exposure: ExposureItem)

Android Documentation
- README
- Controlling exposure notification
- Receiving exposures documentation
- JavaScript bridge documentation
- Providing diagnosis keys
- Downloading diagnosis keys
- Removing historical data
- Reporting risk level
- Temporary exposure keys upload
About ProteGo
- Introduction
- SARS-CoV-2 infection risk groups
- Anonymity and security
- Further principles
- Version 2.0 functionalities scope
- Version 3.0 functionalities scope
- Version 4.0 functionalities scope
- ProteGO Safe and it’s documentation is licensed under
- Dictionary
Contributing
- How to contribute
- Code of conduct
- Feature request template
- Pull request template
- Issue template
- Security
- Support
- Contributors
- License
ProteGo Repositories