Giter Club home page Giter Club logo

covidwatch-android-en's People

Contributors

akhilveeraghanta avatar apisov avatar burningaxe avatar crayne avatar haydenridd avatar ianbrown avatar jamesjmtaylor avatar jamespetrie avatar madhavajay avatar madim avatar nkumarcc avatar prabhuinbarajan avatar rasprague avatar redbassett avatar rhysfenwick avatar whaber avatar zssz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

covidwatch-android-en's Issues

Keep list of countries visited last n days

Issue

In order to fetch data from EN server we need a list of the regions visited by the user.

TODO

  • Add the ACTION_NETWORK_COUNTRY_CHANGED broadcast to detect when users change country
  • Save list of countries visited in the last n days
  • Delete the countries that were visit more than n days before
  • Update the list every n days

Resources

n should be equal to the number that PHAs require for relevant exposure period. By default it's 14 following EN requirements for exposure keys.

Show notifications about errors while uploading\downloading keys to\from the server

Issue

If the app fails to download or upload the keys it won't work properly leading to a wrong impression of not having exposures for users.

TODO

First, the app should has internal retry policy and if it fails then we display a notification to users so they are aware of the problems.

  • Display a problem notification when the retry policy fails
  • Retry operations if users click on the notification

Cannot enable exposure notifications on Google Pixel 1

Info from ZD ticket:

I cannot enable exposure notifications on my phone (Google Pixel 1), however, in settings it shows that it is showing notifications. When I click on enable exposure notifications, it shows a "something went wrong" prompt.

This issue arose after I installed the app. At the end of the setup process, I was unable to tap on the enable exposure notifications button. When I did tap on the button, a "something went wrong prompt" appears.

Note: I have asked the user which version of Android OS they are using and will add that info here when I have it.

3c884950-ef72-4132-96aa-5ce17cb501d2-hs_file_upload-Screenshot_20200626-150213

Add debug logging

Add log messages to most of the use case classes and other important business logic classes and methods.

Use Timber

Timber.d("message")
Timber.d("message: $variable")

ProvideDiagnosisKeysFromFileUseCase is a simple example of logging in a UseCase class.

Calibration features

TODO

  • Add the same ZIP file with [[30,33],[33,36],[36,39],[39,42],[42,45],[45,48],[48,51],[51,54],[54,57],[57,60],[60,63],[63,66],[66,69],[69,72],[72,75],[75,78],[78,81],[81,84],[84,87],[87,90],[90,93],[93,96],[96,99]] attenuation thresholds programmatically. This means there will be multiple exposure infos for the same exposure(Notice that the exposure info in the video contains the Attenuation Threshold row for each detected exposure).
  • Arizona branding design
  • Export exposures with the configuration used to detect them.
struct ExposureConfigurationWithExposures: Encodable {
  let exposureConfiguration: String
  let possibleExposures: [Exposure]
}
  • Exported exposures json name format DeviceName_Date_TestCase.json. TestCase is an input by a tester

  • Export ZIP file using a specific name: "\(UIDevice.current.name)_\(ISO8601DateFormatter.string(from: Date(), timeZone: TimeZone.current, formatOptions: [.withInternetDateTime, .withFractionalSeconds]))"

Use SafetyNet Attestation API

SafetyNet provides a set of services and APIs that help protect your app against security threats, including device tampering, bad URLs, potentially harmful apps, and fake users.

In the reference app they have an example implementation. Taking into account that SafetyNet and Exposure Notification are both included in Play Services, they probably want to add a few extra security steps by using SafetyNet before uploading users' data.

For now, the example is just one class that is not actually used and complete. The official guide comprise of many steps including a verification with our own server.

Update README

  • Remove irrelevant instructions about submodules
  • Use proper links

"Time Since Last Contact"

post v3
Requested by Bermuda Dept of Public Health
As an end user, I can see how recently I was in contact with another user (i.e., when I last logged an RPI) so that I can see that my app is working correctly.
This will also build excitement and engagement with technical users.
We'd want to bucket the times and not provide an exact time, but something like "In the last 10 minutes", "last Hour", "in the last 24 hours", "in the last 3 days", "In the last 7 days", "Greater than 7 days".

Can't get past the permission screen

I build from develop. When I get to the permission screen I see this:
image
When I click on "Location Access On" it takes me to the settings for the app, where it says that no permissions are needed. Since I can't set the location permission, I cannot proceed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.