Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable share button on Export screen if no log data #275

Merged
merged 2 commits into from
Mar 29, 2020

Conversation

thetimbanks
Copy link
Contributor

The Share button on the Export screen should not be enabled if
there is no data in the log. This will disable the button by
default and then enable it once the data is retrieved and determined
that there is at least 1 data point in the log.

Screenshots

Android (disabled)

image

iOS (enabled)

image

The Share button on the Export screen should not be enabled if
there is no data in the log. This will disable the button by
default and then enable it once the data is retrieved and determined
that there is at least 1 data point in the log.
@rparet
Copy link
Contributor

rparet commented Mar 29, 2020

Great enhancement! Thanks!

@rparet rparet merged commit e6bd624 into Path-Check:develop Mar 29, 2020
@vitorpamplona vitorpamplona mentioned this pull request Apr 1, 2020
jgrainger-745 pushed a commit to jgrainger-745/private-kit that referenced this pull request Apr 1, 2020
* Disable share button on Export screen if no log data

The Share button on the Export screen should not be enabled if
there is no data in the log. This will disable the button by
default and then enable it once the data is retrieved and determined
that there is at least 1 data point in the log.

* Update snapshots
p0x6 added a commit to p0x6/spaced that referenced this pull request Apr 7, 2020
* Update README (#27)

* Share action (#28)

* Refactoring the copy-pasted buttons styles. (#26)

* Refactoring the copy-pasted buttons styles.

* Remove dead NegButton references

This also includes some code reformatting from VS Code, but mainly it
removes dangling references to the NegViews.

Co-authored-by: Steve Penrod <github@gpll.org>
Co-authored-by: Steve Penrod <steve@tripleblind.market>

* Fix botched merge (missing comma) (#30)

* New Icon pack. (#32)

Using Adaptive Icons Android and preparing the app for release on the Apple Store.

* UI Tweaking and changed News URL (#33)

* Massaged the look of the UI on the sub-pages and the main page
* Added description text to the Export page
* Changed the URL of the webview to:  https://privatekit.mit.edu/views

* Curate and collapse GPS location data (#35)

This changes several things about the data being stored:
* The time being stored in the structure is now UTC.  It was previous local
  time
* The data being stored is now simplified to:
   [ (utc_unix_time, GPS lat, GPS lon) ... ]
* The stored data is now limited to 28 days

* Version 0.4 (#36)

* LocationServices Refactor (#37)

Creates Statically Typed LocationServices class to handle all background instantiation once.

BackgroundGeolocation is smart in itself and will handle any form of termination events.  In addition, the onListen event `stop` was added where future release can include a local push notification to tell the user that location services were terminated.

* Version0.4 for Apple Store. (#39)

* Add file based sharing (#38)

 - Allows the file to be shared instead of raw string

NOTES: This requires accessing the filesystem when you do an Export. Potentially we'll need to warn people this is going to cause a popup.

* Google Auto Import (Prototype) (#34)

Screen requests users to download the Google Takeout file for the Location History. 
After the download, users have to go back and come back to import. 

Watch the logs to see what the app is doing. We don't have the UI to let the user know the current progress yet.

* Adding initial license file (MIT) (#41)

lgtm

* Add helper scripts and update help messages (#29)

Adds two scripts to make it easy to start the react system and (re)run
the application within the emulator.  Simply run:
  1_start_react.sh
To install packages and start the react ecosystem, then run
  2_start_android_app.sh
To launch the application within the Android emulator (launching the
emulator automatically if necessary).

* Fix merge error (missing comma)

Merge ended up with a missing comma in the package.json

* Fix multi-log bug (#42)

When the application is already running, clicking on the icon (at
least under Android) would start another object for the logger.  This
does a quick instance count check to prevent multiple loggers.

* Fix several crashes due to renamed variable (#43)

It looks like the code got refactored and not all variables were renamed
during that, leading to some exceptions during import.  Just renamed vars
as appropriate.

* Version 0.5 (#44)

Importing Google Location History
Exporting functions

* add whatsapp group for tech people (#46)

* Updating README

* Initialize .github files (#48)

* Add contribution guide
* Initialize .github files
Helping others get started

* Bugfix for v0.5 (#52)

1. Package.json format must follow 0.0.0 version names. 
2. Version ID for the AppleStore and Android Stores are now the same.

* Fix to replace code lost during merge #37 (#55)

The LocationServices refactor merge lost the changes that happened to
adding "curation" to the point data (PR #35).  This restores it.

* Add point count info, assists in debugging (#56)

Now the Export screen shows a count of points to be exported.  This is
provides minimal information for debugging and to let the user understand
that something is happening in the background.

Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>

* GPS tracking wasn't running in many cases (#58)

The HeadlessTask part of the BackgroundLocationTracker component wasn't
being used.  On Android, it spins up a special background task when the
main application has been shutdown to continue grabbing points.

* Add 'yarn' support when found (#59)

Several people have said that 'yarn' works much better than 'npm', so I'm
making it the default if found.  If not, the script will still attempt to
run 'npm.

* add stationary location logging and savelocation in backgroundtask (#61)

* Add missing notifications for Location Services (#64)

* Add missing notifications for Location Services

Several conditions cause Private Kit to stop failing when it cannot access
GPS info.  We should notify the user when this has happened.  That includes:
* The app doesn't have proper permissions
* The permissions have been revoked
* The location service has been shut down

Still to do is a notification to show the user that the background service
is not doing anything when the user turns off location services.

* Fix auto-format errors

The automatic formatting done in "Javascript" style instead of
"React Native"

* use 5 minute time interval

Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>

* Andynuzzo/fix require cycles + Clearing all Warnings and Bug Fixes for iOS (#67)

* updated README.md

Made changes for developers on macOS with Xcode 10+

* Fixed Async storage, request cycles warnings

* using patch-package to work around RNFetchBlob recursive importing

* saving patch for RNFetchBlob recursive importing

* Putting native background geo back.

* re-fix AsyncStorage

* Fixing Background services not existing on iOS

* Fixing Internationalization on Xcode

* Import Alert and add stationarylocation logging

* capitalize L

Co-authored-by: Andy Nuzzo <36167533+andreanuzzo@users.noreply.github.com>
Co-authored-by: philrouge <andrea.nuzzo@me.com>
Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>

* Downloading a PR and Reviewing it. (#82)

Added info on how to download a PR from a Forked Repo in order to review it.

* RNFS.DownloadDirectoryPath is not defined on iOS.  (#76)

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Feature/new ui (#81)

* UI changed, added Welcome Screens, changed location tracking screen

* Moved Styles

* Slider for welcome screens

* Navigate through pagination

* Set initial route

* SafeAreaView for ios

* Added image

* Set state to true

* Dot navigation fixed

* Android backhandler

* UI Designed for Export and Import Pages

* Latest news page UI

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Adding a MacOS GitHub Action to build both apps (#90)

* Update README

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Testing iOS Action

* adding homebrew

* Adding node and java

* Installing Android Studio, SDK and Accepting licenses

* Fixing java

* Using cast for Android SDK

* Proper way to accept licenses

* Correct Android path

* Build tools 28.0.3

* New Buildtools command

* Fixing Parallelism and License Accept.

* Fixing YAML indentation

* Trying to see what the error code when accepting the license

* Trying to get this licenses signed.

* Removing license acceptance.

* Fixing Node JS bug

* Yet another tentative to get Android Tools signed.

* Don't need to install NodeJS

* Making sure we don't change this line.

* Adding build step.

* Moving from cocoa pods action to our own install.

* Adding Android's assembleRelease step

* Separating update pods.

* Bundle is the right option

* Changing bundleRelease (needs signature) to build.

* Testing to see if react bundle is necessary

* Adding react native bundle

* Installing Android Support Library, google services and other images

* Moving SDK update up top

* New Android dependencies.

* Fixing Command Line tools

* Adding updates and platform tools

* Fixing installation by accepting licenses at the moment of the download

* Testing the need for Support libraries via cradle.

* Reverting Library support

* Adding MIT team for the release

* Removing SDK Manager update

* Adding a gradlew check before build.

* Solving merge conflict.

* Changing the name of the builder action

* Adding working dir.

* Keeping things that are working.

* Only creates the directory if the directory does not exist.

* Setting up Android's back button to go back to the main screen instead of leaving the app.

Co-authored-by: David Biga <biga.david@gmail.com>

* Made Android Studio steps optional, remove dev_setup2.sh (#98)

I previous PR added a second version of dev_setup.sh that was identical
except the Android Studio setup was commented out.  This indicates a need,
so now the main dev_setup.sh allows you to skip that step.

The dev_setup2.sh has been removed.

* Version 0.5.2 (#95)

* Update README

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Testing iOS Action

* adding homebrew

* Adding node and java

* Installing Android Studio, SDK and Accepting licenses

* Fixing java

* Using cast for Android SDK

* Proper way to accept licenses

* Correct Android path

* Build tools 28.0.3

* New Buildtools command

* Fixing Parallelism and License Accept.

* Fixing YAML indentation

* Trying to see what the error code when accepting the license

* Trying to get this licenses signed.

* Removing license acceptance.

* Fixing Node JS bug

* Yet another tentative to get Android Tools signed.

* Don't need to install NodeJS

* Making sure we don't change this line.

* Adding build step.

* Moving from cocoa pods action to our own install.

* Adding Android's assembleRelease step

* Separating update pods.

* Bundle is the right option

* Changing bundleRelease (needs signature) to build.

* Testing to see if react bundle is necessary

* Adding react native bundle

* Installing Android Support Library, google services and other images

* Moving SDK update up top

* New Android dependencies.

* Fixing Command Line tools

* Adding updates and platform tools

* Fixing installation by accepting licenses at the moment of the download

* Testing the need for Support libraries via cradle.

* Reverting Library support

* Adding MIT team for the release

* Removing SDK Manager update

* Adding a gradlew check before build.

* Solving merge conflict.

* Changing the name of the builder action

* Adding working dir.

* Keeping things that are working.

* Only creates the directory if the directory does not exist.

* Setting up Android's back button to go back to the main screen instead of leaving the app.

* Version 0.5.2

New UI (#81, #90)

Co-authored-by: David Biga <biga.david@gmail.com>

* Fix Notification Issue (#115)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Cleanup onboarding (#100)

* Made Android Studio steps optional, remove dev_setup2.sh

I previous PR added a second version of dev_setup.sh that was identical
except the Android Studio setup was commented out.  This indicates a need,
so now the main dev_setup.sh allows you to skip that step.

The dev_setup2.sh has been removed.

* Updated the CONTRIBUTING guide with better instructions

The guide was originally written from the perspective of "internal" people
with write access.  Changed instruction to the perspective of an outside
contributor.

* Improving Readme.me (#103)

* Update README

* Local push notifications (#99)

* Update LocationService + Add Local Push Noticications

* Remove key

* Update binaries

* Add Button resource from react-native

* Change optOut

* Remove Additional Stop Location Recording (#117)

* Multilingual support (#119)

* Installation & Structure ready

* Added readme in languages file and created first label

* Added labels for intro1

* Hindi support added

* Intro 2 content added

* Intro 3 content added

* Location tracking content added

* hindi content for Location tracking page

* Import added in Hindi directory

* Import screen content added

* Export and News screen added

* French, Italian, German, and Portuguese support added

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Location Issues fix FROM #109 (#127)

* remove motiontracker requirement; adjust location params; backfill stationary points

* Remove Additional Stop Location Recording

Co-authored-by: Safe Path <safepath@dhcp-18-20-198-64.dyn.mit.edu>

* Updated iOS location permission description text (#128)

* Refine message in README (#126)

Add more detail about the effort to apply Private Kit to COVID

* Version 0.5.3 (#130)

* Update README

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Testing iOS Action

* adding homebrew

* Adding node and java

* Installing Android Studio, SDK and Accepting licenses

* Fixing java

* Using cast for Android SDK

* Proper way to accept licenses

* Correct Android path

* Build tools 28.0.3

* New Buildtools command

* Fixing Parallelism and License Accept.

* Fixing YAML indentation

* Trying to see what the error code when accepting the license

* Trying to get this licenses signed.

* Removing license acceptance.

* Fixing Node JS bug

* Yet another tentative to get Android Tools signed.

* Don't need to install NodeJS

* Making sure we don't change this line.

* Adding build step.

* Moving from cocoa pods action to our own install.

* Adding Android's assembleRelease step

* Separating update pods.

* Bundle is the right option

* Changing bundleRelease (needs signature) to build.

* Testing to see if react bundle is necessary

* Adding react native bundle

* Installing Android Support Library, google services and other images

* Moving SDK update up top

* New Android dependencies.

* Fixing Command Line tools

* Adding updates and platform tools

* Fixing installation by accepting licenses at the moment of the download

* Testing the need for Support libraries via cradle.

* Reverting Library support

* Adding MIT team for the release

* Removing SDK Manager update

* Adding a gradlew check before build.

* Solving merge conflict.

* Changing the name of the builder action

* Adding working dir.

* Keeping things that are working.

* Only creates the directory if the directory does not exist.

* Setting up Android's back button to go back to the main screen instead of leaving the app.

* Version 0.5.2

New UI (#81, #90)

* Adding preview UI

* Adding logo, Apple Store URL and badge to GitHub Actions

* Adding Preview UI

* Removing old descriptions

* Version 0.5.3:
- Multilingual Support
- Local Push Notifications
- Improved Requests for App Permissions

Co-authored-by: David Biga <biga.david@gmail.com>

* Added Linking in imports (#116)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Minor Typo Fix (#132)


* fixed typo

Co-authored-by: Bikram Khastgir <bikram.khastgir@accenture.com>

* Update README.md (#138)

Adding a note for developers - not sure if it is meaningful but I hit my head for hours on this!

* Create dev Code of Conduct (#139)

This is from the default community code of conduct template on Github.

* Checks for background geo authorization before updating state (#141)

Per #129 if you denied permission in the system dialog, we'd still update the button as if you had started logging. This fix creates the desired behavior, setting the state back to the way it was before you requested permission.

* Update exportscreen.json (#121)

Translating in Italian

* Update import.json (#122)

Translating to Italian

* Update intro.json (#123)

Translating to Italian

* Update locationTracking.json (#124)

Translating to Italian

* Readme updates (#143)

* Added Slack channel
* Cleared up the bold on the build note
* Moved CONTRIBUTING.md to the top level
* Removed Android testing versions (not accurate at the moment)

* Added a three-dot menu button and licenses page to the main screen (LocationTracking.js) (#142)

* Update README

* Add modal menu for licenses to main screen

* Share action (#28)

* Refactoring the copy-pasted buttons styles. (#26)

* Refactoring the copy-pasted buttons styles.

* Remove dead NegButton references

This also includes some code reformatting from VS Code, but mainly it
removes dangling references to the NegViews.

Co-authored-by: Steve Penrod <github@gpll.org>
Co-authored-by: Steve Penrod <steve@tripleblind.market>

* Fix botched merge (missing comma) (#30)

* New Icon pack. (#32)

Using Adaptive Icons Android and preparing the app for release on the Apple Store.

* UI Tweaking and changed News URL (#33)

* Massaged the look of the UI on the sub-pages and the main page
* Added description text to the Export page
* Changed the URL of the webview to:  https://privatekit.mit.edu/views

* Curate and collapse GPS location data (#35)

This changes several things about the data being stored:
* The time being stored in the structure is now UTC.  It was previous local
  time
* The data being stored is now simplified to:
   [ (utc_unix_time, GPS lat, GPS lon) ... ]
* The stored data is now limited to 28 days

* Version 0.4 (#36)

* LocationServices Refactor (#37)

Creates Statically Typed LocationServices class to handle all background instantiation once.

BackgroundGeolocation is smart in itself and will handle any form of termination events.  In addition, the onListen event `stop` was added where future release can include a local push notification to tell the user that location services were terminated.

* Version0.4 for Apple Store. (#39)

* Add file based sharing (#38)

 - Allows the file to be shared instead of raw string

NOTES: This requires accessing the filesystem when you do an Export. Potentially we'll need to warn people this is going to cause a popup.

* Google Auto Import (Prototype) (#34)

Screen requests users to download the Google Takeout file for the Location History. 
After the download, users have to go back and come back to import. 

Watch the logs to see what the app is doing. We don't have the UI to let the user know the current progress yet.

* Adding initial license file (MIT) (#41)

lgtm

* Add helper scripts and update help messages (#29)

Adds two scripts to make it easy to start the react system and (re)run
the application within the emulator.  Simply run:
  1_start_react.sh
To install packages and start the react ecosystem, then run
  2_start_android_app.sh
To launch the application within the Android emulator (launching the
emulator automatically if necessary).

* Fix merge error (missing comma)

Merge ended up with a missing comma in the package.json

* Fix multi-log bug (#42)

When the application is already running, clicking on the icon (at
least under Android) would start another object for the logger.  This
does a quick instance count check to prevent multiple loggers.

* Fix several crashes due to renamed variable (#43)

It looks like the code got refactored and not all variables were renamed
during that, leading to some exceptions during import.  Just renamed vars
as appropriate.

* Version 0.5 (#44)

Importing Google Location History
Exporting functions

* add whatsapp group for tech people (#46)

* Updating README

* Initialize .github files (#48)

* Add contribution guide
* Initialize .github files
Helping others get started

* Bugfix for v0.5 (#52)

1. Package.json format must follow 0.0.0 version names. 
2. Version ID for the AppleStore and Android Stores are now the same.

* Fix to replace code lost during merge #37 (#55)

The LocationServices refactor merge lost the changes that happened to
adding "curation" to the point data (PR #35).  This restores it.

* Add point count info, assists in debugging (#56)

Now the Export screen shows a count of points to be exported.  This is
provides minimal information for debugging and to let the user understand
that something is happening in the background.

Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>

* GPS tracking wasn't running in many cases (#58)

The HeadlessTask part of the BackgroundLocationTracker component wasn't
being used.  On Android, it spins up a special background task when the
main application has been shutdown to continue grabbing points.

* Add 'yarn' support when found (#59)

Several people have said that 'yarn' works much better than 'npm', so I'm
making it the default if found.  If not, the script will still attempt to
run 'npm.

* add stationary location logging and savelocation in backgroundtask (#61)

* Add missing notifications for Location Services (#64)

* Add missing notifications for Location Services

Several conditions cause Private Kit to stop failing when it cannot access
GPS info.  We should notify the user when this has happened.  That includes:
* The app doesn't have proper permissions
* The permissions have been revoked
* The location service has been shut down

Still to do is a notification to show the user that the background service
is not doing anything when the user turns off location services.

* Fix auto-format errors

The automatic formatting done in "Javascript" style instead of
"React Native"

* use 5 minute time interval

Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>

* Andynuzzo/fix require cycles + Clearing all Warnings and Bug Fixes for iOS (#67)

* updated README.md

Made changes for developers on macOS with Xcode 10+

* Fixed Async storage, request cycles warnings

* using patch-package to work around RNFetchBlob recursive importing

* saving patch for RNFetchBlob recursive importing

* Putting native background geo back.

* re-fix AsyncStorage

* Fixing Background services not existing on iOS

* Fixing Internationalization on Xcode

* Import Alert and add stationarylocation logging

* capitalize L

Co-authored-by: Andy Nuzzo <36167533+andreanuzzo@users.noreply.github.com>
Co-authored-by: philrouge <andrea.nuzzo@me.com>
Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>

* Downloading a PR and Reviewing it. (#82)

Added info on how to download a PR from a Forked Repo in order to review it.

* RNFS.DownloadDirectoryPath is not defined on iOS.  (#76)

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Feature/new ui (#81)

* UI changed, added Welcome Screens, changed location tracking screen

* Moved Styles

* Slider for welcome screens

* Navigate through pagination

* Set initial route

* SafeAreaView for ios

* Added image

* Set state to true

* Dot navigation fixed

* Android backhandler

* UI Designed for Export and Import Pages

* Latest news page UI

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Adding a MacOS GitHub Action to build both apps (#90)

* Update README

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Testing iOS Action

* adding homebrew

* Adding node and java

* Installing Android Studio, SDK and Accepting licenses

* Fixing java

* Using cast for Android SDK

* Proper way to accept licenses

* Correct Android path

* Build tools 28.0.3

* New Buildtools command

* Fixing Parallelism and License Accept.

* Fixing YAML indentation

* Trying to see what the error code when accepting the license

* Trying to get this licenses signed.

* Removing license acceptance.

* Fixing Node JS bug

* Yet another tentative to get Android Tools signed.

* Don't need to install NodeJS

* Making sure we don't change this line.

* Adding build step.

* Moving from cocoa pods action to our own install.

* Adding Android's assembleRelease step

* Separating update pods.

* Bundle is the right option

* Changing bundleRelease (needs signature) to build.

* Testing to see if react bundle is necessary

* Adding react native bundle

* Installing Android Support Library, google services and other images

* Moving SDK update up top

* New Android dependencies.

* Fixing Command Line tools

* Adding updates and platform tools

* Fixing installation by accepting licenses at the moment of the download

* Testing the need for Support libraries via cradle.

* Reverting Library support

* Adding MIT team for the release

* Removing SDK Manager update

* Adding a gradlew check before build.

* Solving merge conflict.

* Changing the name of the builder action

* Adding working dir.

* Keeping things that are working.

* Only creates the directory if the directory does not exist.

* Setting up Android's back button to go back to the main screen instead of leaving the app.

Co-authored-by: David Biga <biga.david@gmail.com>

* Made Android Studio steps optional, remove dev_setup2.sh (#98)

I previous PR added a second version of dev_setup.sh that was identical
except the Android Studio setup was commented out.  This indicates a need,
so now the main dev_setup.sh allows you to skip that step.

The dev_setup2.sh has been removed.

* Version 0.5.2 (#95)

* Update README

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Testing iOS Action

* adding homebrew

* Adding node and java

* Installing Android Studio, SDK and Accepting licenses

* Fixing java

* Using cast for Android SDK

* Proper way to accept licenses

* Correct Android path

* Build tools 28.0.3

* New Buildtools command

* Fixing Parallelism and License Accept.

* Fixing YAML indentation

* Trying to see what the error code when accepting the license

* Trying to get this licenses signed.

* Removing license acceptance.

* Fixing Node JS bug

* Yet another tentative to get Android Tools signed.

* Don't need to install NodeJS

* Making sure we don't change this line.

* Adding build step.

* Moving from cocoa pods action to our own install.

* Adding Android's assembleRelease step

* Separating update pods.

* Bundle is the right option

* Changing bundleRelease (needs signature) to build.

* Testing to see if react bundle is necessary

* Adding react native bundle

* Installing Android Support Library, google services and other images

* Moving SDK update up top

* New Android dependencies.

* Fixing Command Line tools

* Adding updates and platform tools

* Fixing installation by accepting licenses at the moment of the download

* Testing the need for Support libraries via cradle.

* Reverting Library support

* Adding MIT team for the release

* Removing SDK Manager update

* Adding a gradlew check before build.

* Solving merge conflict.

* Changing the name of the builder action

* Adding working dir.

* Keeping things that are working.

* Only creates the directory if the directory does not exist.

* Setting up Android's back button to go back to the main screen instead of leaving the app.

* Version 0.5.2

New UI (#81, #90)

Co-authored-by: David Biga <biga.david@gmail.com>

* Fix Notification Issue (#115)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Cleanup onboarding (#100)

* Made Android Studio steps optional, remove dev_setup2.sh

I previous PR added a second version of dev_setup.sh that was identical
except the Android Studio setup was commented out.  This indicates a need,
so now the main dev_setup.sh allows you to skip that step.

The dev_setup2.sh has been removed.

* Updated the CONTRIBUTING guide with better instructions

The guide was originally written from the perspective of "internal" people
with write access.  Changed instruction to the perspective of an outside
contributor.

* Improving Readme.me (#103)

* Update README

* Local push notifications (#99)

* Update LocationService + Add Local Push Noticications

* Remove key

* Update binaries

* Add Button resource from react-native

* Change optOut

* Remove Additional Stop Location Recording (#117)

* Multilingual support (#119)

* Installation & Structure ready

* Added readme in languages file and created first label

* Added labels for intro1

* Hindi support added

* Intro 2 content added

* Intro 3 content added

* Location tracking content added

* hindi content for Location tracking page

* Import added in Hindi directory

* Import screen content added

* Export and News screen added

* French, Italian, German, and Portuguese support added

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Location Issues fix FROM #109 (#127)

* remove motiontracker requirement; adjust location params; backfill stationary points

* Remove Additional Stop Location Recording

Co-authored-by: Safe Path <safepath@dhcp-18-20-198-64.dyn.mit.edu>

* Updated iOS location permission description text (#128)

* Refine message in README (#126)

Add more detail about the effort to apply Private Kit to COVID

* Version 0.5.3 (#130)

* Update README

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Testing iOS Action

* adding homebrew

* Adding node and java

* Installing Android Studio, SDK and Accepting licenses

* Fixing java

* Using cast for Android SDK

* Proper way to accept licenses

* Correct Android path

* Build tools 28.0.3

* New Buildtools command

* Fixing Parallelism and License Accept.

* Fixing YAML indentation

* Trying to see what the error code when accepting the license

* Trying to get this licenses signed.

* Removing license acceptance.

* Fixing Node JS bug

* Yet another tentative to get Android Tools signed.

* Don't need to install NodeJS

* Making sure we don't change this line.

* Adding build step.

* Moving from cocoa pods action to our own install.

* Adding Android's assembleRelease step

* Separating update pods.

* Bundle is the right option

* Changing bundleRelease (needs signature) to build.

* Testing to see if react bundle is necessary

* Adding react native bundle

* Installing Android Support Library, google services and other images

* Moving SDK update up top

* New Android dependencies.

* Fixing Command Line tools

* Adding updates and platform tools

* Fixing installation by accepting licenses at the moment of the download

* Testing the need for Support libraries via cradle.

* Reverting Library support

* Adding MIT team for the release

* Removing SDK Manager update

* Adding a gradlew check before build.

* Solving merge conflict.

* Changing the name of the builder action

* Adding working dir.

* Keeping things that are working.

* Only creates the directory if the directory does not exist.

* Setting up Android's back button to go back to the main screen instead of leaving the app.

* Version 0.5.2

New UI (#81, #90)

* Adding preview UI

* Adding logo, Apple Store URL and badge to GitHub Actions

* Adding Preview UI

* Removing old descriptions

* Version 0.5.3:
- Multilingual Support
- Local Push Notifications
- Improved Requests for App Permissions

Co-authored-by: David Biga <biga.david@gmail.com>

* Added Linking in imports (#116)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Minor Typo Fix (#132)


* fixed typo

Co-authored-by: Bikram Khastgir <bikram.khastgir@accenture.com>

* Update README.md (#138)

Adding a note for developers - not sure if it is meaningful but I hit my head for hours on this!

* Create dev Code of Conduct (#139)

This is from the default community code of conduct template on Github.

* Add modal menu for licenses to main screen

Co-authored-by: David Biga <biga.david@gmail.com>
Co-authored-by: David Biga <davidbiga@users.noreply.github.com>
Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>
Co-authored-by: Steve Penrod <github@gpll.org>
Co-authored-by: Steve Penrod <steve@tripleblind.market>
Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>
Co-authored-by: Andy Nuzzo <36167533+andreanuzzo@users.noreply.github.com>
Co-authored-by: philrouge <andrea.nuzzo@me.com>
Co-authored-by: Harsh Vitra <jainharsh44@gmail.com>
Co-authored-by: Harsh Vitra <harshvitra@gmail.com>
Co-authored-by: Safe Path <safepath@dhcp-18-20-198-64.dyn.mit.edu>
Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: bikramkhastgir <7278304+bikramkhastgir@users.noreply.github.com>
Co-authored-by: Bikram Khastgir <bikram.khastgir@accenture.com>
Co-authored-by: Enrico Santus <esantus@gmail.com>

* Formatted all JS files with Prettier (#147)

* fix a dupe screen - preventing app from starting (#151)

* Updated permission descriptions (#152)

* Updated permission descriptions

* typo

* new language

* new language

* Add sequence diagram (#158)

* Remove Additional Stop Location Recording

* Add Sequence + README updates

* Move to docs resource folder

* Update reference on diagram.

* Version 0.5.4 (Build 9) (#161)

* Simple Script to reset react native

* Version 0.5.4 (Build 9)

* Example code for private-set point intersection (#163)

Add a complete Pytyon example of performing private set intersection.
This solution give pretty good privacy, estimated at approximately
10 days to crack a single published lat/lon/time point.

This is donated to the Private Kit project by Triple Blind, and
may be freely used within the project.

* V2overlap (#166)

* display map

* working v2; only android

* improve and optimize map support;android only

* add heatmap code

* Automating Version & Build Numbers (#169)

* Adding version and build number automator (Changes ReactNative, iOS and Android upon npm version).

* Removing Build Number from Targets on Xcode so that npm version with react-native-version can update the number automatically.

* Test Bundle version and Main Bundle version should be the same.

* 0.5.5

* Add NL (Dutch) locale (#172)

* Changetext (#175)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change text for overlap screen

* Version 0.5.6 (#177)

* Adding version and build number automator (Changes ReactNative, iOS and Android upon npm version).

* Removing Build Number from Targets on Xcode so that npm version with react-native-version can update the number automatically.

* Test Bundle version and Main Bundle version should be the same.

* 0.5.5

* Production API keys.

* 0.5.6

* moving pod install command to npm run install:pod (#173)

* Improve data exporter to share data with better names (#174)

* Write file to filesystem before sharing

* Enhance sharing data output

- Updated react-native-share to 3.1.0 because of [issue](https://github.com/react-native-community/react-native-share/issues/702)
- Separated out iOS specific and android share logic as the behaviors for sharing are significanlty different even for a simple case like filename

* Add support for 'Marathi' locale (#154)

* Add support for 'Marathi' locale

* Incorporate review suggestions

Co-authored-by: Sagar Manohar <sagar.mohan.manohar@ibm.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Translated pt locations files (#125)

* Translated locations files from ingles to pt-br

* Updated sentence for better semantics, remintz suggestion

* Fix typo

* fixing broken link to issue list (#186)

* Fix formatting in languages json due to merge (#183)

This fixes a formatting issue due to a merge. Languages were added in multiple PRs and they didn't get merged together correctly.

* Added feedback for trace overlap if it comes back with no results (#190)

See issue #188 - I'd advise this is merged ASAP since the current build feels broken from a user perspective.

* minor version bump to clear Xcode warnings (#168)

Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>

* Bluetooth Broadcasting on Android.  (#193)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* Fix broken layout on low-res devices using flex layout on LocationTracking.js and Overlap.js (#196)

* quality of life improvements

* Add dynamic button text for trace overlap results

* Reenabled Prettier in Overlap.js but didn't format

* Add translation for overlap button text and title

* Move website link footer inside scrollview

* Use flex layout to fix display on low-res devices

* Update CSV data source, refine text (#197)

* Update CSV data source, refine text

The source of the public data moved, breaking this feature.  Also
refined the text show and added a link to the public dataset.

* Change terminology for now

* Version: 0.5.8 (#198)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Fix typo in location tracking url_info text (#200)

* Enhancing the License screen (#202)

* Enhancing the License screen

The kebab > License screen now is a combination of an About screen
and a license.  The top of the screen shows information about the current
app version, OS version on which it is running and screen resolution info.

Below that is license test.  It pulls from the new LICENSE.json in the
assets directory.  It will render an array of licenses, so later we can
add the licenses of components we use in addition to the main Private
Kit MIT license.

* Remove debugging console.log() message

* Fix circles crash by only showing nearby circles (#212)

* ESlint added and removed few errors (#201)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Added Loader for Webviews (#206)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Change color of three dot menu button to match the color of other button elements - #178 (#208)

* Migrating Bluetooth library to 0.0.5 (#214)

* Add code formatting rules with git-hooks #189 (#210)

* initial commit of new welcome screen

* Brazilian Portuguese language support (#229)

* Dutch translation (#225)

* Update index.js

* Update locationTracking.json

* Create overlap.json

* Andynuzzo/it (#223)

* Update macos_build.yml (#236)

Fix breaking gradle error

* Typo fix from Enrico Santus on latest (#239)

* Add jest snapshot testing to the main views (#187)

* Add jest snapshot testing to the main views

    This adds jest snapshot testing the main views for the application. The
    main views it covers are:

    * Export
    * Import
    * Licenses
    * LocationTracking
    * News
    * Overlap
    * Welcome

    The tests are run using `yarn test`.

    Mock setup has been added for some of the react native packages so the testing
    doesn't have to rely on the packages.

    Cleaned up some of the formatting in the language files to not include the trailing
    comma on the last property. This was throwing errors for some of the jest tests.

    Add jestSetupFile to setup some of the mocks for the tests

* Update tests after rebasing the develop branch

* Fix LICENSES json due to failing test

* Add mock for react-native-zip-archive

* Italian missing licenses file- Andy's translation added (#241)

* Andy's translation for the missing licenses file

* Update index.js

* Update intro screen with real contents

* Add custom map styles to the Overlap map (#246)

The custom styles were taken from https://snazzymaps.com/style/127403/no-label-bright-colors
which was linked to in the issue #243

Closes #243

* Haitian Creole with Translation Inputs from Gerald McElroy (#238)

* Spanish language support based on Miquel Vila Porté's translation (#245)

* gradient button. minor content update for intro screen

* add svg for icon

* minor update to button in intro page. added font weights so we can use system font

* Notification UI to show histogram and day wise list of intersections (#237)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* notification UI

* remove callback for button

* Fixed 'Always Allow' for iOS (#97)

* 1. Added RN permissions to dependencies.
2. Added location permissions in AndroidManifest.xml

* 1. Permissions now handled by react-native-permissions
2. If platform is iOS 12.x.x or earlier. Directly acquire 'Always Allow' permission
3. If platform is iOS 13.0 or later, redirect to app settings.
Apps cannot directly ask for 'Always Allow' post iOS 13.

* Added comments

* Added yarn.lock and Podfile.lock to gitignore

* No changes

* Added lock files

* Removed Podfile.lock

Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Change the ui of Notifications (#254)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Fix design and remove url (#255)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Cleanup react warning on the Overlap screen (#249)

There were some react warnings being thrown due to the key
prop not being set on some components. This sets the key prop
on the components that are added in a loop

* Fixed text in the Notifications page (#256)

* Fixed Text on Notifications page

* Fixed Font size of Export

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* adding generic ButtonWrapper component. updated UI for locationTracking page 🎨

* updated launch screen for iOS

* formatting code using prettier-vscode

* using props type for buttons

* update lock file

* resolve autolinking for react native

* minor fixes

* Update Export screen to show more accurate log data (#244)

* Update Export screen to show more accurate log data

This is a pretty update to how the Export screen works and how the
log data is modified.

The Export screen component was rewritten as a functional component
in order to take advantage of hooks. The use for the hooks is to
update the log data details when the Export component comes in to
focus. The old version would only update the data once since the
component would mount and never unmount leading to stale data. The
new Export component will update the log details each time the view
comes in to focus. The log details have now been broken up in to
3 sections: Total time the log covers, Number of points logged, and
Time since last updated.

The LocationService has been updated with a new class called
LocationData. This take the old saveLocation method and makes it
an instance method on the LocationData class. This also allows
access to the location data that is in memory in order for the
Export screen to show more accurate details. The LocationService
has been updated to use this new class when saving the location
data.

* Revert change to the location time interval

* Remove old references to some variable names

* Fix export tests due to changes

* Add LocationData tests

* Remove old test file

* Change location marker and description, get rid of redundant markers as well (#250)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change marker icon and description

* remove maps-clustering package

* Minor bug fixes in Share and Overlap features (#265)

* Fixed snapshot test failure

* initial commit with changes + package name change

* .env vs using hard coded api for places search

* change copy for intro

* revert flag for showing intro

* fix isSearching bug

* Spanish translation update_Miquel (#272)

* Update index.js

* Create notification.json

* Update overlap.json

* Version 0.5.10 (#251)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Migrating Bluetooth to 0.0.5

* Removing the tag for just build number increments on new versions.

* 0.5.9

* 0.5.10

* Saving contacts and Requesting permissions to turn bluetooth on

* Remove duplicate function willParticipate (#271)

* Automatic snapshot tests with Jest (#242)

* Automatic snapshot tests with Jest

* Updated tests and mocks

* snapshot updates and mocks

* Add testing details to CONTRIBUTING and add Google API setup to README (#277)

* Add details on testing to the CONTRIBUTING doc

* Add instructions to README for setting up Google API key

* Catalan translation_miquel (#274)

* exportscreen.json ca support

* import.json ca

* Create index.js

* Create intro.json

* Create licensesscreen.json

* Create locationTracking.json

* Create notification.json

* Create overlap.json

* small exportscreen es update

* Update exportscreen.json

* Update exportscreen.json

* catalan support added

* Marathi_Translation_Update_Alpita (#268)

* Update locationTracking.json

* overlap mt translation

* notification nt

* Update exportscreen.json

* Update locationTracking.json

* Create licensesscreen.json

* Delete notification.

* Create notification.json

* Update overlap.json

* Update index.js

* Disable share button on Export screen if no log data (#275)

* Disable share button on Export screen if no log data

The Share button on the Export screen should not be enabled if
there is no data in the log. This will disable the button by
default and then enable it once the data is retrieved and determined
that there is at least 1 data point in the log.

* Update snapshots

* Resolved merge conflicts

* Reverted formatting changes on services files

* Reverted formatting changes on services files

* Fix disable location sharing ble (#280)

Adds instantiation checking for `react-native-ble-advertiser` under `isBTActive` inside the `BroadcastingService.js`.  Without this, iOS would crash on an undefined native module.

* fix unit test for react-native-svg

* Update Overlap screen to update when it comes into focus (#259)

* Update Overlap screen to update when it comes into focus

Converted the Overlap class component to a functional component in
order to take advantage of hooks. The hooks allow us to hook into
the focus event so that we can update the map markers when the view
comes into focus. Previously the map would not update after the initial
mounting of the component.

Closes #253

* Add comment back in that was removed

* Update Overlap snapshot due to changes

Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* [Dev setup] Mac fixes, and clearer instructions (#281)

* [Dev setup] incorrect paths in instructions

* Install watchman on Mac

* Mac: Quit if no homebrew, use brew to install node

* Allow setting env vars on mac, with clearer instructions

* FR locale (translation) (#215)

* FR locale (translation)

* Add licensescreen + overlap

* privée -> personnelle , via @lfichet

* intro fix

* More suggestions

* Added translations for new keys + updates

* Adding Kannada Language support (#276)

* Adding Kannada Language support

Adding Kannada Language support

* Update overlap.json

* add API with basic requests

* use api for getting user positions

* remove on events for map

* fix initial, load

* intersection notifications

* update key ios bundle and api key

* Export fix for iOS (#283)

The export of file in iOS does not work directly from base64 due to the encoding performed by sharing application in order to add a file as an attachment.
This PR solves it in the following way - 
1. Write file on the disk first
2. Share through the url of this file
3. Remove the file as soon as it is shared.

* Android Bluetooth Contact Tracing V1.  (#279)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Migrating Bluetooth to 0.0.5

* Removing the tag for just build number increments on new versions.

* 0.5.9

* 0.5.10

* Saving contacts and Requesting permissions to turn bluetooth on

* Fully functioning version of Bluetooth on Android

* Windows development scripts (#288)

Adds scripts for development on Windows (and mentioned them in README.md)
Fixes tripleblindmarket/private-kit#267

* WIP: blacklist work and home locations

* CS (Czech) locale (#213)

* CS (Czech) locale

This translation was created by myself. I am native speaker.

* Update languages.js

Indentation fixed

* CS (Czech) locale

CS (Czech) locale update

* Merge conflicts

Merge conflicts resolved, translation fixed.

* Update notification.json

Encoding changed to UTF8.

Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Hindi translation update_Garvit_Joshi (#292)

* Create exportscreen.json

* Create import.json

* Create index.js

* Create intro.json

* Create licensesscreen.json

* Create locationTracking.json

* Create notification.json

* Create overlap.json

* Update languages.js

* Update languages.js

* Delete exportscreen.json

* Delete import.json

* Delete index.js

* Delete licensesscreen.json

* Delete overlap.json

* Delete notification.json

* Delete locationTracking.json

* Delete intro.json

* hindi index file update

* hindi update

* Update import.json

* Update intro.json

* Create licensesscreen.json

* Update locationTracking.json

* Create notification.json

* Create overlap.json

* Update import.json

* Update locationTracking.json

* added new language support for the urdu  (#258)

* added new language urdu support for the urdu speaking community from India, Pakistan, Bangladesh and Afghanistan.

* fixed conflicts and added translation for new keys in overlap.json

* added new key vals

* added the missing braces in languages.js

* updated overlap_para_1 translation in overlap.js

* Remove extra lines

Co-authored-by: Talha <talha7j@gmail.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* WIP need to get inside banned radius completed

* use turf to find out if too close to home or work

* change package name

* fix bugs around banned address setting and getting bounds

* license changes + copy changes + ios package name changes

* add gujarati support (#286)

* add gujarati support

* Create gj

* Delete gj

* Create intro.json

* Add files via upload

* Add files via upload

* updated overlap_para_1 and clarified show_overlap

* updated to include additional fields after data_hint

* fixed missing comma on line 5

* Update overlap.json

Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Update contribution documentation (#293)

* Version 0.5.11 (#297)

* Running build on develop.

* Keeping action to Master

* 0.5.11

* New version Test fix.

* setup app with microsoft appcenter and codepush

* left out edit for appcenter ios integration

* update lock file

* disable landscape.
fix snapshot test.
disable going back to intro screen.
fix navigation when you are in logging mode.
fix footer for languages with long text.

* fixed syntax error in gj labels block on dev, languages.js (#318)

* Merge Safe paths branch into develop (#328)

* Add Settings Screen - #150 (#160)

* Remove Additional Stop Location Recording

* Add Settings Screen

* Add Intersection of points download from authority (#165)

With this PR the app now:

* Contacts each authority URL once every 12 hours
* Downloads intersection data from that authority
* Runs a simple point intersection against it
* Saves the exposure results in the CROSSED_PATHS storage array
* Still several things to do for an MVP, then more to optimize:

Authority cannot be edited yet (in Settings)
* No display of CROSSED_PATHS
* Only results from one Authority are saved
* Improve overlap calculation accuracy
* Optimize the intersection calculation

* Fix export issue

* Add settings screen (#326)

* Create Settings screen

* Add navigation and translation for new screen

* Remove irrelevant components from Settings screen

* Add menu for authorities selection in Settings

* Add stylized button, FlatList bit to Settings

* Add styling to flatlist rows, add close icon

* Fix caps, add iterating menu off authorities obj

* Add add/remove data source functions

* Add translation variables and lines to Settings

* Fix menu icon color from purple to bluish grey

* Remove unnecessary whitespace in translation

* Prevent duplicates from authorities list

* Add custom URL input (all function)

* Add check for connection, let user know if error

* Now pulls authorities list from internet source

* Store user settings in async storage

* Version 0.5.4 (Build 9) (#161)

* Simple Script to reset react native

* Version 0.5.4 (Build 9)

* Example code for private-set point intersection (#163)

Add a complete Pytyon example of performing private set intersection.
This solution give pretty good privacy, estimated at approximately
10 days to crack a single published lat/lon/time point.

This is donated to the Private Kit project by Triple Blind, and
may be freely used within the project.

* V2overlap (#166)

* display map

* working v2; only android

* improve and optimize map support;android only

* add heatmap code

* Automating Version & Build Numbers (#169)

* Adding version and build number automator (Changes ReactNative, iOS and Android upon npm version).

* Removing Build Number from Targets on Xcode so that npm version with react-native-version can update the number automatically.

* Test Bundle version and Main Bundle version should be the same.

* 0.5.5

* Add NL (Dutch) locale (#172)

* Changetext (#175)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change text for overlap screen

* Version 0.5.6 (#177)

* Adding version and build number automator (Changes ReactNative, iOS and Android upon npm version).

* Removing Build Number from Targets on Xcode so that npm version with react-native-version can update the number automatically.

* Test Bundle version and Main Bundle version should be the same.

* 0.5.5

* Production API keys.

* 0.5.6

* moving pod install command to npm run install:pod (#173)

* Improve data exporter to share data with better names (#174)

* Write file to filesystem before sharing

* Enhance sharing data output

- Updated react-native-share to 3.1.0 because of [issue](https://github.com/react-native-community/react-native-share/issues/702)
- Separated out iOS specific and android share logic as the behaviors for sharing are significanlty different even for a simple case like filename

* Add support for 'Marathi' locale (#154)

* Add support for 'Marathi' locale

* Incorporate review suggestions

Co-authored-by: Sagar Manohar <sagar.mohan.manohar@ibm.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Translated pt locations files (#125)

* Translated locations files from ingles to pt-br

* Updated sentence for better semantics, remintz suggestion

* Fix typo

* fixing broken link to issue list (#186)

* Fix formatting in languages json due to merge (#183)

This fixes a formatting issue due to a merge. Languages were added in multiple PRs and they didn't get merged together correctly.

* Added feedback for trace overlap if it comes back with no results (#190)

See issue #188 - I'd advise this is merged ASAP since the current build feels broken from a user perspective.

* minor version bump to clear Xcode warnings (#168)

Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>

* Bluetooth Broadcasting on Android.  (#193)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* Fix broken layout on low-res devices using flex layout on LocationTracking.js and Overlap.js (#196)

* quality of life improvements

* Add dynamic button text for trace overlap results

* Reenabled Prettier in Overlap.js but didn't format

* Add translation for overlap button text and title

* Move website link footer inside scrollview

* Use flex layout to fix display on low-res devices

* Update CSV data source, refine text (#197)

* Update CSV data source, refine text

The source of the public data moved, breaking this feature.  Also
refined the text show and added a link to the public dataset.

* Change terminology for now

* Version: 0.5.8 (#198)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Fix typo in location tracking url_info text (#200)

* Enhancing the License screen (#202)

* Enhancing the License screen

The kebab > License screen now is a combination of an About screen
and a license.  The top of the screen shows information about the current
app version, OS version on which it is running and screen resolution info.

Below that is license test.  It pulls from the new LICENSE.json in the
assets directory.  It will render an array of licenses, so later we can
add the licenses of components we use in addition to the main Private
Kit MIT license.

* Remove debugging console.log() message

* Fix circles crash by only showing nearby circles (#212)

* ESlint added and removed few errors (#201)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Added Loader for Webviews (#206)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Change color of three dot menu button to match the color of other button elements - #178 (#208)

* Migrating Bluetooth library to 0.0.5 (#214)

* Add code formatting rules with git-hooks #189 (#210)

* Brazilian Portuguese language support (#229)

* Dutch translation (#225)

* Update index.js

* Update locationTracking.json

* Create overlap.json

* Andynuzzo/it (#223)

* Update macos_build.yml (#236)

Fix breaking gradle error

* Typo fix from Enrico Santus on latest (#239)

* Add jest snapshot testing to the main views (#187)

* Add jest snapshot testing to the main views

    This adds jest snapshot testing the main views for the application. The
    main views it covers are:

    * Export
    * Import
    * Licenses
    * LocationTracking
    * News
    * Overlap
    * Welcome

    The tests are run using `yarn test`.

    Mock setup has been added for some of the react native packages so the testing
    doesn't have to rely on the packages.

    Cleaned up some of the formatting in the language files to not include the trailing
    comma on the last property. This was throwing errors for some of the jest tests.

    Add jestSetupFile to setup some of the mocks for the tests

* Update tests after rebasing the develop branch

* Fix LICENSES json due to failing test

* Add mock for react-native-zip-archive

* Italian missing licenses file- Andy's translation added (#241)

* Andy's translation for the missing licenses file

* Update index.js

* Add custom map styles to the Overlap map (#246)

The custom styles were taken from https://snazzymaps.com/style/127403/no-label-bright-colors
which was linked to in the issue #243

Closes #243

* Haitian Creole with Translation Inputs from Gerald McElroy (#238)

* Spanish language support based on Miquel Vila Porté's translation (#245)

* Notification UI to show histogram and day wise list of intersections (#237)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* notification UI

* remove callback for button

* Fixed 'Always Allow' for iOS (#97)

* 1. Added RN permissions to dependencies.
2. Added location permissions in AndroidManifest.xml

* 1. Permissions now handled by react-native-permissions
2. If platform is iOS 12.x.x or earlier. Directly acquire 'Always Allow' permission
3. If platform is iOS 13.0 or later, redirect to app settings.
Apps cannot directly ask for 'Always Allow' post iOS 13.

* Added comments

* Added yarn.lock and Podfile.lock to gitignore

* No changes

* Added lock files

* Removed Podfile.lock

Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Change the ui of Notifications (#254)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Fix design and remove url (#255)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Cleanup react warning on the Overlap screen (#249)

There were some react warnings being thrown due to the key
prop not being set on some components. This sets the key prop
on the components that are added in a loop

* Fixed text in the Notifications page (#256)

* Fixed Text on Notifications page

* Fixed Font size of Export

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Update Export screen to show more accurate log data (#244)

* Update Export screen to show more accurate log data

This is a pretty update to how the Export screen works and how the
log data is modified.

The Export screen component was rewritten as a functional component
in order to take advantage of hooks. The use for the hooks is to
update the log data details when the Export component comes in to
focus. The old version would only update the data once since the
component would mount and never unmount leading to stale data. The
new Export component will update the log details each time the view
comes in to focus. The log details have now been broken up in to
3 sections: Total time the log covers, Number of points logged, and
Time since last updated.

The LocationService has been updated with a new class called
LocationData. This take the old saveLocation method and makes it
an instance method on the LocationData class. This also allows
access to the location data that is in memory in order for the
Export screen to show more accurate details. The LocationService
has been updated to use this new class when saving the location
data.

* Revert change to the location time interval

* Remove old references to some variable names

* Fix export tests due to changes

* Add LocationData tests

* Remove old test file

* Change location marker and description, get rid of redundant markers as well (#250)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change marker icon and description

* remove maps-clustering package

* Minor bug fixes in Share and Overlap features (#265)

* Create Settings screen

* Add navigation and translation for new screen

* Remove irrelevant components from Settings screen

* Add menu for authorities selection in Settings

* Add stylized button, FlatList bit to Settings

* Add styling to flatlist rows, add close icon

* Fix caps, add iterating menu off authorities obj

* Add add/remove data source functions

* Add translation variables and lines to Settings

* Fix menu icon color from purple to bluish grey

* Remove unnecessary whitespace in translation

* Prevent duplicates from authorities list

* Add custom URL input (all function)

* Add check fo…
p0x6 added a commit to p0x6/spaced that referenced this pull request Apr 7, 2020
* Update README (#27)

* Share action (#28)

* Refactoring the copy-pasted buttons styles. (#26)

* Refactoring the copy-pasted buttons styles.

* Remove dead NegButton references

This also includes some code reformatting from VS Code, but mainly it
removes dangling references to the NegViews.

Co-authored-by: Steve Penrod <github@gpll.org>
Co-authored-by: Steve Penrod <steve@tripleblind.market>

* Fix botched merge (missing comma) (#30)

* New Icon pack. (#32)

Using Adaptive Icons Android and preparing the app for release on the Apple Store.

* UI Tweaking and changed News URL (#33)

* Massaged the look of the UI on the sub-pages and the main page
* Added description text to the Export page
* Changed the URL of the webview to:  https://privatekit.mit.edu/views

* Curate and collapse GPS location data (#35)

This changes several things about the data being stored:
* The time being stored in the structure is now UTC.  It was previous local
  time
* The data being stored is now simplified to:
   [ (utc_unix_time, GPS lat, GPS lon) ... ]
* The stored data is now limited to 28 days

* Version 0.4 (#36)

* LocationServices Refactor (#37)

Creates Statically Typed LocationServices class to handle all background instantiation once.

BackgroundGeolocation is smart in itself and will handle any form of termination events.  In addition, the onListen event `stop` was added where future release can include a local push notification to tell the user that location services were terminated.

* Version0.4 for Apple Store. (#39)

* Add file based sharing (#38)

 - Allows the file to be shared instead of raw string

NOTES: This requires accessing the filesystem when you do an Export. Potentially we'll need to warn people this is going to cause a popup.

* Google Auto Import (Prototype) (#34)

Screen requests users to download the Google Takeout file for the Location History. 
After the download, users have to go back and come back to import. 

Watch the logs to see what the app is doing. We don't have the UI to let the user know the current progress yet.

* Adding initial license file (MIT) (#41)

lgtm

* Add helper scripts and update help messages (#29)

Adds two scripts to make it easy to start the react system and (re)run
the application within the emulator.  Simply run:
  1_start_react.sh
To install packages and start the react ecosystem, then run
  2_start_android_app.sh
To launch the application within the Android emulator (launching the
emulator automatically if necessary).

* Fix merge error (missing comma)

Merge ended up with a missing comma in the package.json

* Fix multi-log bug (#42)

When the application is already running, clicking on the icon (at
least under Android) would start another object for the logger.  This
does a quick instance count check to prevent multiple loggers.

* Fix several crashes due to renamed variable (#43)

It looks like the code got refactored and not all variables were renamed
during that, leading to some exceptions during import.  Just renamed vars
as appropriate.

* Version 0.5 (#44)

Importing Google Location History
Exporting functions

* add whatsapp group for tech people (#46)

* Updating README

* Initialize .github files (#48)

* Add contribution guide
* Initialize .github files
Helping others get started

* Bugfix for v0.5 (#52)

1. Package.json format must follow 0.0.0 version names. 
2. Version ID for the AppleStore and Android Stores are now the same.

* Fix to replace code lost during merge #37 (#55)

The LocationServices refactor merge lost the changes that happened to
adding "curation" to the point data (PR #35).  This restores it.

* Add point count info, assists in debugging (#56)

Now the Export screen shows a count of points to be exported.  This is
provides minimal information for debugging and to let the user understand
that something is happening in the background.

Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>

* GPS tracking wasn't running in many cases (#58)

The HeadlessTask part of the BackgroundLocationTracker component wasn't
being used.  On Android, it spins up a special background task when the
main application has been shutdown to continue grabbing points.

* Add 'yarn' support when found (#59)

Several people have said that 'yarn' works much better than 'npm', so I'm
making it the default if found.  If not, the script will still attempt to
run 'npm.

* add stationary location logging and savelocation in backgroundtask (#61)

* Add missing notifications for Location Services (#64)

* Add missing notifications for Location Services

Several conditions cause Private Kit to stop failing when it cannot access
GPS info.  We should notify the user when this has happened.  That includes:
* The app doesn't have proper permissions
* The permissions have been revoked
* The location service has been shut down

Still to do is a notification to show the user that the background service
is not doing anything when the user turns off location services.

* Fix auto-format errors

The automatic formatting done in "Javascript" style instead of
"React Native"

* use 5 minute time interval

Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>

* Andynuzzo/fix require cycles + Clearing all Warnings and Bug Fixes for iOS (#67)

* updated README.md

Made changes for developers on macOS with Xcode 10+

* Fixed Async storage, request cycles warnings

* using patch-package to work around RNFetchBlob recursive importing

* saving patch for RNFetchBlob recursive importing

* Putting native background geo back.

* re-fix AsyncStorage

* Fixing Background services not existing on iOS

* Fixing Internationalization on Xcode

* Import Alert and add stationarylocation logging

* capitalize L

Co-authored-by: Andy Nuzzo <36167533+andreanuzzo@users.noreply.github.com>
Co-authored-by: philrouge <andrea.nuzzo@me.com>
Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>

* Downloading a PR and Reviewing it. (#82)

Added info on how to download a PR from a Forked Repo in order to review it.

* RNFS.DownloadDirectoryPath is not defined on iOS.  (#76)

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Feature/new ui (#81)

* UI changed, added Welcome Screens, changed location tracking screen

* Moved Styles

* Slider for welcome screens

* Navigate through pagination

* Set initial route

* SafeAreaView for ios

* Added image

* Set state to true

* Dot navigation fixed

* Android backhandler

* UI Designed for Export and Import Pages

* Latest news page UI

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Adding a MacOS GitHub Action to build both apps (#90)

* Update README

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Testing iOS Action

* adding homebrew

* Adding node and java

* Installing Android Studio, SDK and Accepting licenses

* Fixing java

* Using cast for Android SDK

* Proper way to accept licenses

* Correct Android path

* Build tools 28.0.3

* New Buildtools command

* Fixing Parallelism and License Accept.

* Fixing YAML indentation

* Trying to see what the error code when accepting the license

* Trying to get this licenses signed.

* Removing license acceptance.

* Fixing Node JS bug

* Yet another tentative to get Android Tools signed.

* Don't need to install NodeJS

* Making sure we don't change this line.

* Adding build step.

* Moving from cocoa pods action to our own install.

* Adding Android's assembleRelease step

* Separating update pods.

* Bundle is the right option

* Changing bundleRelease (needs signature) to build.

* Testing to see if react bundle is necessary

* Adding react native bundle

* Installing Android Support Library, google services and other images

* Moving SDK update up top

* New Android dependencies.

* Fixing Command Line tools

* Adding updates and platform tools

* Fixing installation by accepting licenses at the moment of the download

* Testing the need for Support libraries via cradle.

* Reverting Library support

* Adding MIT team for the release

* Removing SDK Manager update

* Adding a gradlew check before build.

* Solving merge conflict.

* Changing the name of the builder action

* Adding working dir.

* Keeping things that are working.

* Only creates the directory if the directory does not exist.

* Setting up Android's back button to go back to the main screen instead of leaving the app.

Co-authored-by: David Biga <biga.david@gmail.com>

* Made Android Studio steps optional, remove dev_setup2.sh (#98)

I previous PR added a second version of dev_setup.sh that was identical
except the Android Studio setup was commented out.  This indicates a need,
so now the main dev_setup.sh allows you to skip that step.

The dev_setup2.sh has been removed.

* Version 0.5.2 (#95)

* Update README

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Testing iOS Action

* adding homebrew

* Adding node and java

* Installing Android Studio, SDK and Accepting licenses

* Fixing java

* Using cast for Android SDK

* Proper way to accept licenses

* Correct Android path

* Build tools 28.0.3

* New Buildtools command

* Fixing Parallelism and License Accept.

* Fixing YAML indentation

* Trying to see what the error code when accepting the license

* Trying to get this licenses signed.

* Removing license acceptance.

* Fixing Node JS bug

* Yet another tentative to get Android Tools signed.

* Don't need to install NodeJS

* Making sure we don't change this line.

* Adding build step.

* Moving from cocoa pods action to our own install.

* Adding Android's assembleRelease step

* Separating update pods.

* Bundle is the right option

* Changing bundleRelease (needs signature) to build.

* Testing to see if react bundle is necessary

* Adding react native bundle

* Installing Android Support Library, google services and other images

* Moving SDK update up top

* New Android dependencies.

* Fixing Command Line tools

* Adding updates and platform tools

* Fixing installation by accepting licenses at the moment of the download

* Testing the need for Support libraries via cradle.

* Reverting Library support

* Adding MIT team for the release

* Removing SDK Manager update

* Adding a gradlew check before build.

* Solving merge conflict.

* Changing the name of the builder action

* Adding working dir.

* Keeping things that are working.

* Only creates the directory if the directory does not exist.

* Setting up Android's back button to go back to the main screen instead of leaving the app.

* Version 0.5.2

New UI (#81, #90)

Co-authored-by: David Biga <biga.david@gmail.com>

* Fix Notification Issue (#115)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Cleanup onboarding (#100)

* Made Android Studio steps optional, remove dev_setup2.sh

I previous PR added a second version of dev_setup.sh that was identical
except the Android Studio setup was commented out.  This indicates a need,
so now the main dev_setup.sh allows you to skip that step.

The dev_setup2.sh has been removed.

* Updated the CONTRIBUTING guide with better instructions

The guide was originally written from the perspective of "internal" people
with write access.  Changed instruction to the perspective of an outside
contributor.

* Improving Readme.me (#103)

* Update README

* Local push notifications (#99)

* Update LocationService + Add Local Push Noticications

* Remove key

* Update binaries

* Add Button resource from react-native

* Change optOut

* Remove Additional Stop Location Recording (#117)

* Multilingual support (#119)

* Installation & Structure ready

* Added readme in languages file and created first label

* Added labels for intro1

* Hindi support added

* Intro 2 content added

* Intro 3 content added

* Location tracking content added

* hindi content for Location tracking page

* Import added in Hindi directory

* Import screen content added

* Export and News screen added

* French, Italian, German, and Portuguese support added

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Location Issues fix FROM #109 (#127)

* remove motiontracker requirement; adjust location params; backfill stationary points

* Remove Additional Stop Location Recording

Co-authored-by: Safe Path <safepath@dhcp-18-20-198-64.dyn.mit.edu>

* Updated iOS location permission description text (#128)

* Refine message in README (#126)

Add more detail about the effort to apply Private Kit to COVID

* Version 0.5.3 (#130)

* Update README

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Testing iOS Action

* adding homebrew

* Adding node and java

* Installing Android Studio, SDK and Accepting licenses

* Fixing java

* Using cast for Android SDK

* Proper way to accept licenses

* Correct Android path

* Build tools 28.0.3

* New Buildtools command

* Fixing Parallelism and License Accept.

* Fixing YAML indentation

* Trying to see what the error code when accepting the license

* Trying to get this licenses signed.

* Removing license acceptance.

* Fixing Node JS bug

* Yet another tentative to get Android Tools signed.

* Don't need to install NodeJS

* Making sure we don't change this line.

* Adding build step.

* Moving from cocoa pods action to our own install.

* Adding Android's assembleRelease step

* Separating update pods.

* Bundle is the right option

* Changing bundleRelease (needs signature) to build.

* Testing to see if react bundle is necessary

* Adding react native bundle

* Installing Android Support Library, google services and other images

* Moving SDK update up top

* New Android dependencies.

* Fixing Command Line tools

* Adding updates and platform tools

* Fixing installation by accepting licenses at the moment of the download

* Testing the need for Support libraries via cradle.

* Reverting Library support

* Adding MIT team for the release

* Removing SDK Manager update

* Adding a gradlew check before build.

* Solving merge conflict.

* Changing the name of the builder action

* Adding working dir.

* Keeping things that are working.

* Only creates the directory if the directory does not exist.

* Setting up Android's back button to go back to the main screen instead of leaving the app.

* Version 0.5.2

New UI (#81, #90)

* Adding preview UI

* Adding logo, Apple Store URL and badge to GitHub Actions

* Adding Preview UI

* Removing old descriptions

* Version 0.5.3:
- Multilingual Support
- Local Push Notifications
- Improved Requests for App Permissions

Co-authored-by: David Biga <biga.david@gmail.com>

* Added Linking in imports (#116)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Minor Typo Fix (#132)


* fixed typo

Co-authored-by: Bikram Khastgir <bikram.khastgir@accenture.com>

* Update README.md (#138)

Adding a note for developers - not sure if it is meaningful but I hit my head for hours on this!

* Create dev Code of Conduct (#139)

This is from the default community code of conduct template on Github.

* Checks for background geo authorization before updating state (#141)

Per #129 if you denied permission in the system dialog, we'd still update the button as if you had started logging. This fix creates the desired behavior, setting the state back to the way it was before you requested permission.

* Update exportscreen.json (#121)

Translating in Italian

* Update import.json (#122)

Translating to Italian

* Update intro.json (#123)

Translating to Italian

* Update locationTracking.json (#124)

Translating to Italian

* Readme updates (#143)

* Added Slack channel
* Cleared up the bold on the build note
* Moved CONTRIBUTING.md to the top level
* Removed Android testing versions (not accurate at the moment)

* Added a three-dot menu button and licenses page to the main screen (LocationTracking.js) (#142)

* Update README

* Add modal menu for licenses to main screen

* Share action (#28)

* Refactoring the copy-pasted buttons styles. (#26)

* Refactoring the copy-pasted buttons styles.

* Remove dead NegButton references

This also includes some code reformatting from VS Code, but mainly it
removes dangling references to the NegViews.

Co-authored-by: Steve Penrod <github@gpll.org>
Co-authored-by: Steve Penrod <steve@tripleblind.market>

* Fix botched merge (missing comma) (#30)

* New Icon pack. (#32)

Using Adaptive Icons Android and preparing the app for release on the Apple Store.

* UI Tweaking and changed News URL (#33)

* Massaged the look of the UI on the sub-pages and the main page
* Added description text to the Export page
* Changed the URL of the webview to:  https://privatekit.mit.edu/views

* Curate and collapse GPS location data (#35)

This changes several things about the data being stored:
* The time being stored in the structure is now UTC.  It was previous local
  time
* The data being stored is now simplified to:
   [ (utc_unix_time, GPS lat, GPS lon) ... ]
* The stored data is now limited to 28 days

* Version 0.4 (#36)

* LocationServices Refactor (#37)

Creates Statically Typed LocationServices class to handle all background instantiation once.

BackgroundGeolocation is smart in itself and will handle any form of termination events.  In addition, the onListen event `stop` was added where future release can include a local push notification to tell the user that location services were terminated.

* Version0.4 for Apple Store. (#39)

* Add file based sharing (#38)

 - Allows the file to be shared instead of raw string

NOTES: This requires accessing the filesystem when you do an Export. Potentially we'll need to warn people this is going to cause a popup.

* Google Auto Import (Prototype) (#34)

Screen requests users to download the Google Takeout file for the Location History. 
After the download, users have to go back and come back to import. 

Watch the logs to see what the app is doing. We don't have the UI to let the user know the current progress yet.

* Adding initial license file (MIT) (#41)

lgtm

* Add helper scripts and update help messages (#29)

Adds two scripts to make it easy to start the react system and (re)run
the application within the emulator.  Simply run:
  1_start_react.sh
To install packages and start the react ecosystem, then run
  2_start_android_app.sh
To launch the application within the Android emulator (launching the
emulator automatically if necessary).

* Fix merge error (missing comma)

Merge ended up with a missing comma in the package.json

* Fix multi-log bug (#42)

When the application is already running, clicking on the icon (at
least under Android) would start another object for the logger.  This
does a quick instance count check to prevent multiple loggers.

* Fix several crashes due to renamed variable (#43)

It looks like the code got refactored and not all variables were renamed
during that, leading to some exceptions during import.  Just renamed vars
as appropriate.

* Version 0.5 (#44)

Importing Google Location History
Exporting functions

* add whatsapp group for tech people (#46)

* Updating README

* Initialize .github files (#48)

* Add contribution guide
* Initialize .github files
Helping others get started

* Bugfix for v0.5 (#52)

1. Package.json format must follow 0.0.0 version names. 
2. Version ID for the AppleStore and Android Stores are now the same.

* Fix to replace code lost during merge #37 (#55)

The LocationServices refactor merge lost the changes that happened to
adding "curation" to the point data (PR #35).  This restores it.

* Add point count info, assists in debugging (#56)

Now the Export screen shows a count of points to be exported.  This is
provides minimal information for debugging and to let the user understand
that something is happening in the background.

Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>

* GPS tracking wasn't running in many cases (#58)

The HeadlessTask part of the BackgroundLocationTracker component wasn't
being used.  On Android, it spins up a special background task when the
main application has been shutdown to continue grabbing points.

* Add 'yarn' support when found (#59)

Several people have said that 'yarn' works much better than 'npm', so I'm
making it the default if found.  If not, the script will still attempt to
run 'npm.

* add stationary location logging and savelocation in backgroundtask (#61)

* Add missing notifications for Location Services (#64)

* Add missing notifications for Location Services

Several conditions cause Private Kit to stop failing when it cannot access
GPS info.  We should notify the user when this has happened.  That includes:
* The app doesn't have proper permissions
* The permissions have been revoked
* The location service has been shut down

Still to do is a notification to show the user that the background service
is not doing anything when the user turns off location services.

* Fix auto-format errors

The automatic formatting done in "Javascript" style instead of
"React Native"

* use 5 minute time interval

Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>

* Andynuzzo/fix require cycles + Clearing all Warnings and Bug Fixes for iOS (#67)

* updated README.md

Made changes for developers on macOS with Xcode 10+

* Fixed Async storage, request cycles warnings

* using patch-package to work around RNFetchBlob recursive importing

* saving patch for RNFetchBlob recursive importing

* Putting native background geo back.

* re-fix AsyncStorage

* Fixing Background services not existing on iOS

* Fixing Internationalization on Xcode

* Import Alert and add stationarylocation logging

* capitalize L

Co-authored-by: Andy Nuzzo <36167533+andreanuzzo@users.noreply.github.com>
Co-authored-by: philrouge <andrea.nuzzo@me.com>
Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>

* Downloading a PR and Reviewing it. (#82)

Added info on how to download a PR from a Forked Repo in order to review it.

* RNFS.DownloadDirectoryPath is not defined on iOS.  (#76)

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Feature/new ui (#81)

* UI changed, added Welcome Screens, changed location tracking screen

* Moved Styles

* Slider for welcome screens

* Navigate through pagination

* Set initial route

* SafeAreaView for ios

* Added image

* Set state to true

* Dot navigation fixed

* Android backhandler

* UI Designed for Export and Import Pages

* Latest news page UI

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Adding a MacOS GitHub Action to build both apps (#90)

* Update README

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Testing iOS Action

* adding homebrew

* Adding node and java

* Installing Android Studio, SDK and Accepting licenses

* Fixing java

* Using cast for Android SDK

* Proper way to accept licenses

* Correct Android path

* Build tools 28.0.3

* New Buildtools command

* Fixing Parallelism and License Accept.

* Fixing YAML indentation

* Trying to see what the error code when accepting the license

* Trying to get this licenses signed.

* Removing license acceptance.

* Fixing Node JS bug

* Yet another tentative to get Android Tools signed.

* Don't need to install NodeJS

* Making sure we don't change this line.

* Adding build step.

* Moving from cocoa pods action to our own install.

* Adding Android's assembleRelease step

* Separating update pods.

* Bundle is the right option

* Changing bundleRelease (needs signature) to build.

* Testing to see if react bundle is necessary

* Adding react native bundle

* Installing Android Support Library, google services and other images

* Moving SDK update up top

* New Android dependencies.

* Fixing Command Line tools

* Adding updates and platform tools

* Fixing installation by accepting licenses at the moment of the download

* Testing the need for Support libraries via cradle.

* Reverting Library support

* Adding MIT team for the release

* Removing SDK Manager update

* Adding a gradlew check before build.

* Solving merge conflict.

* Changing the name of the builder action

* Adding working dir.

* Keeping things that are working.

* Only creates the directory if the directory does not exist.

* Setting up Android's back button to go back to the main screen instead of leaving the app.

Co-authored-by: David Biga <biga.david@gmail.com>

* Made Android Studio steps optional, remove dev_setup2.sh (#98)

I previous PR added a second version of dev_setup.sh that was identical
except the Android Studio setup was commented out.  This indicates a need,
so now the main dev_setup.sh allows you to skip that step.

The dev_setup2.sh has been removed.

* Version 0.5.2 (#95)

* Update README

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Testing iOS Action

* adding homebrew

* Adding node and java

* Installing Android Studio, SDK and Accepting licenses

* Fixing java

* Using cast for Android SDK

* Proper way to accept licenses

* Correct Android path

* Build tools 28.0.3

* New Buildtools command

* Fixing Parallelism and License Accept.

* Fixing YAML indentation

* Trying to see what the error code when accepting the license

* Trying to get this licenses signed.

* Removing license acceptance.

* Fixing Node JS bug

* Yet another tentative to get Android Tools signed.

* Don't need to install NodeJS

* Making sure we don't change this line.

* Adding build step.

* Moving from cocoa pods action to our own install.

* Adding Android's assembleRelease step

* Separating update pods.

* Bundle is the right option

* Changing bundleRelease (needs signature) to build.

* Testing to see if react bundle is necessary

* Adding react native bundle

* Installing Android Support Library, google services and other images

* Moving SDK update up top

* New Android dependencies.

* Fixing Command Line tools

* Adding updates and platform tools

* Fixing installation by accepting licenses at the moment of the download

* Testing the need for Support libraries via cradle.

* Reverting Library support

* Adding MIT team for the release

* Removing SDK Manager update

* Adding a gradlew check before build.

* Solving merge conflict.

* Changing the name of the builder action

* Adding working dir.

* Keeping things that are working.

* Only creates the directory if the directory does not exist.

* Setting up Android's back button to go back to the main screen instead of leaving the app.

* Version 0.5.2

New UI (#81, #90)

Co-authored-by: David Biga <biga.david@gmail.com>

* Fix Notification Issue (#115)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Cleanup onboarding (#100)

* Made Android Studio steps optional, remove dev_setup2.sh

I previous PR added a second version of dev_setup.sh that was identical
except the Android Studio setup was commented out.  This indicates a need,
so now the main dev_setup.sh allows you to skip that step.

The dev_setup2.sh has been removed.

* Updated the CONTRIBUTING guide with better instructions

The guide was originally written from the perspective of "internal" people
with write access.  Changed instruction to the perspective of an outside
contributor.

* Improving Readme.me (#103)

* Update README

* Local push notifications (#99)

* Update LocationService + Add Local Push Noticications

* Remove key

* Update binaries

* Add Button resource from react-native

* Change optOut

* Remove Additional Stop Location Recording (#117)

* Multilingual support (#119)

* Installation & Structure ready

* Added readme in languages file and created first label

* Added labels for intro1

* Hindi support added

* Intro 2 content added

* Intro 3 content added

* Location tracking content added

* hindi content for Location tracking page

* Import added in Hindi directory

* Import screen content added

* Export and News screen added

* French, Italian, German, and Portuguese support added

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Location Issues fix FROM #109 (#127)

* remove motiontracker requirement; adjust location params; backfill stationary points

* Remove Additional Stop Location Recording

Co-authored-by: Safe Path <safepath@dhcp-18-20-198-64.dyn.mit.edu>

* Updated iOS location permission description text (#128)

* Refine message in README (#126)

Add more detail about the effort to apply Private Kit to COVID

* Version 0.5.3 (#130)

* Update README

* RNFS.DownloadDirectoryPath is not defined on iOS. Figure out a way to access the Downloads folder.

* Version 0.5.1

* Testing iOS Action

* adding homebrew

* Adding node and java

* Installing Android Studio, SDK and Accepting licenses

* Fixing java

* Using cast for Android SDK

* Proper way to accept licenses

* Correct Android path

* Build tools 28.0.3

* New Buildtools command

* Fixing Parallelism and License Accept.

* Fixing YAML indentation

* Trying to see what the error code when accepting the license

* Trying to get this licenses signed.

* Removing license acceptance.

* Fixing Node JS bug

* Yet another tentative to get Android Tools signed.

* Don't need to install NodeJS

* Making sure we don't change this line.

* Adding build step.

* Moving from cocoa pods action to our own install.

* Adding Android's assembleRelease step

* Separating update pods.

* Bundle is the right option

* Changing bundleRelease (needs signature) to build.

* Testing to see if react bundle is necessary

* Adding react native bundle

* Installing Android Support Library, google services and other images

* Moving SDK update up top

* New Android dependencies.

* Fixing Command Line tools

* Adding updates and platform tools

* Fixing installation by accepting licenses at the moment of the download

* Testing the need for Support libraries via cradle.

* Reverting Library support

* Adding MIT team for the release

* Removing SDK Manager update

* Adding a gradlew check before build.

* Solving merge conflict.

* Changing the name of the builder action

* Adding working dir.

* Keeping things that are working.

* Only creates the directory if the directory does not exist.

* Setting up Android's back button to go back to the main screen instead of leaving the app.

* Version 0.5.2

New UI (#81, #90)

* Adding preview UI

* Adding logo, Apple Store URL and badge to GitHub Actions

* Adding Preview UI

* Removing old descriptions

* Version 0.5.3:
- Multilingual Support
- Local Push Notifications
- Improved Requests for App Permissions

Co-authored-by: David Biga <biga.david@gmail.com>

* Added Linking in imports (#116)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Minor Typo Fix (#132)


* fixed typo

Co-authored-by: Bikram Khastgir <bikram.khastgir@accenture.com>

* Update README.md (#138)

Adding a note for developers - not sure if it is meaningful but I hit my head for hours on this!

* Create dev Code of Conduct (#139)

This is from the default community code of conduct template on Github.

* Add modal menu for licenses to main screen

Co-authored-by: David Biga <biga.david@gmail.com>
Co-authored-by: David Biga <davidbiga@users.noreply.github.com>
Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>
Co-authored-by: Steve Penrod <github@gpll.org>
Co-authored-by: Steve Penrod <steve@tripleblind.market>
Co-authored-by: Abhishek Singh <abhishek.s14@iiits.in>
Co-authored-by: Andy Nuzzo <36167533+andreanuzzo@users.noreply.github.com>
Co-authored-by: philrouge <andrea.nuzzo@me.com>
Co-authored-by: Harsh Vitra <jainharsh44@gmail.com>
Co-authored-by: Harsh Vitra <harshvitra@gmail.com>
Co-authored-by: Safe Path <safepath@dhcp-18-20-198-64.dyn.mit.edu>
Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: bikramkhastgir <7278304+bikramkhastgir@users.noreply.github.com>
Co-authored-by: Bikram Khastgir <bikram.khastgir@accenture.com>
Co-authored-by: Enrico Santus <esantus@gmail.com>

* Formatted all JS files with Prettier (#147)

* fix a dupe screen - preventing app from starting (#151)

* Updated permission descriptions (#152)

* Updated permission descriptions

* typo

* new language

* new language

* Add sequence diagram (#158)

* Remove Additional Stop Location Recording

* Add Sequence + README updates

* Move to docs resource folder

* Update reference on diagram.

* Version 0.5.4 (Build 9) (#161)

* Simple Script to reset react native

* Version 0.5.4 (Build 9)

* Example code for private-set point intersection (#163)

Add a complete Pytyon example of performing private set intersection.
This solution give pretty good privacy, estimated at approximately
10 days to crack a single published lat/lon/time point.

This is donated to the Private Kit project by Triple Blind, and
may be freely used within the project.

* V2overlap (#166)

* display map

* working v2; only android

* improve and optimize map support;android only

* add heatmap code

* Automating Version & Build Numbers (#169)

* Adding version and build number automator (Changes ReactNative, iOS and Android upon npm version).

* Removing Build Number from Targets on Xcode so that npm version with react-native-version can update the number automatically.

* Test Bundle version and Main Bundle version should be the same.

* 0.5.5

* Add NL (Dutch) locale (#172)

* Changetext (#175)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change text for overlap screen

* Version 0.5.6 (#177)

* Adding version and build number automator (Changes ReactNative, iOS and Android upon npm version).

* Removing Build Number from Targets on Xcode so that npm version with react-native-version can update the number automatically.

* Test Bundle version and Main Bundle version should be the same.

* 0.5.5

* Production API keys.

* 0.5.6

* moving pod install command to npm run install:pod (#173)

* Improve data exporter to share data with better names (#174)

* Write file to filesystem before sharing

* Enhance sharing data output

- Updated react-native-share to 3.1.0 because of [issue](https://github.com/react-native-community/react-native-share/issues/702)
- Separated out iOS specific and android share logic as the behaviors for sharing are significanlty different even for a simple case like filename

* Add support for 'Marathi' locale (#154)

* Add support for 'Marathi' locale

* Incorporate review suggestions

Co-authored-by: Sagar Manohar <sagar.mohan.manohar@ibm.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Translated pt locations files (#125)

* Translated locations files from ingles to pt-br

* Updated sentence for better semantics, remintz suggestion

* Fix typo

* fixing broken link to issue list (#186)

* Fix formatting in languages json due to merge (#183)

This fixes a formatting issue due to a merge. Languages were added in multiple PRs and they didn't get merged together correctly.

* Added feedback for trace overlap if it comes back with no results (#190)

See issue #188 - I'd advise this is merged ASAP since the current build feels broken from a user perspective.

* minor version bump to clear Xcode warnings (#168)

Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>

* Bluetooth Broadcasting on Android.  (#193)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* Fix broken layout on low-res devices using flex layout on LocationTracking.js and Overlap.js (#196)

* quality of life improvements

* Add dynamic button text for trace overlap results

* Reenabled Prettier in Overlap.js but didn't format

* Add translation for overlap button text and title

* Move website link footer inside scrollview

* Use flex layout to fix display on low-res devices

* Update CSV data source, refine text (#197)

* Update CSV data source, refine text

The source of the public data moved, breaking this feature.  Also
refined the text show and added a link to the public dataset.

* Change terminology for now

* Version: 0.5.8 (#198)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Fix typo in location tracking url_info text (#200)

* Enhancing the License screen (#202)

* Enhancing the License screen

The kebab > License screen now is a combination of an About screen
and a license.  The top of the screen shows information about the current
app version, OS version on which it is running and screen resolution info.

Below that is license test.  It pulls from the new LICENSE.json in the
assets directory.  It will render an array of licenses, so later we can
add the licenses of components we use in addition to the main Private
Kit MIT license.

* Remove debugging console.log() message

* Fix circles crash by only showing nearby circles (#212)

* ESlint added and removed few errors (#201)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Added Loader for Webviews (#206)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Change color of three dot menu button to match the color of other button elements - #178 (#208)

* Migrating Bluetooth library to 0.0.5 (#214)

* Add code formatting rules with git-hooks #189 (#210)

* initial commit of new welcome screen

* Brazilian Portuguese language support (#229)

* Dutch translation (#225)

* Update index.js

* Update locationTracking.json

* Create overlap.json

* Andynuzzo/it (#223)

* Update macos_build.yml (#236)

Fix breaking gradle error

* Typo fix from Enrico Santus on latest (#239)

* Add jest snapshot testing to the main views (#187)

* Add jest snapshot testing to the main views

    This adds jest snapshot testing the main views for the application. The
    main views it covers are:

    * Export
    * Import
    * Licenses
    * LocationTracking
    * News
    * Overlap
    * Welcome

    The tests are run using `yarn test`.

    Mock setup has been added for some of the react native packages so the testing
    doesn't have to rely on the packages.

    Cleaned up some of the formatting in the language files to not include the trailing
    comma on the last property. This was throwing errors for some of the jest tests.

    Add jestSetupFile to setup some of the mocks for the tests

* Update tests after rebasing the develop branch

* Fix LICENSES json due to failing test

* Add mock for react-native-zip-archive

* Italian missing licenses file- Andy's translation added (#241)

* Andy's translation for the missing licenses file

* Update index.js

* Update intro screen with real contents

* Add custom map styles to the Overlap map (#246)

The custom styles were taken from https://snazzymaps.com/style/127403/no-label-bright-colors
which was linked to in the issue #243

Closes #243

* Haitian Creole with Translation Inputs from Gerald McElroy (#238)

* Spanish language support based on Miquel Vila Porté's translation (#245)

* gradient button. minor content update for intro screen

* add svg for icon

* minor update to button in intro page. added font weights so we can use system font

* Notification UI to show histogram and day wise list of intersections (#237)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* notification UI

* remove callback for button

* Fixed 'Always Allow' for iOS (#97)

* 1. Added RN permissions to dependencies.
2. Added location permissions in AndroidManifest.xml

* 1. Permissions now handled by react-native-permissions
2. If platform is iOS 12.x.x or earlier. Directly acquire 'Always Allow' permission
3. If platform is iOS 13.0 or later, redirect to app settings.
Apps cannot directly ask for 'Always Allow' post iOS 13.

* Added comments

* Added yarn.lock and Podfile.lock to gitignore

* No changes

* Added lock files

* Removed Podfile.lock

Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Change the ui of Notifications (#254)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Fix design and remove url (#255)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Cleanup react warning on the Overlap screen (#249)

There were some react warnings being thrown due to the key
prop not being set on some components. This sets the key prop
on the components that are added in a loop

* Fixed text in the Notifications page (#256)

* Fixed Text on Notifications page

* Fixed Font size of Export

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* adding generic ButtonWrapper component. updated UI for locationTracking page 🎨

* updated launch screen for iOS

* formatting code using prettier-vscode

* using props type for buttons

* update lock file

* resolve autolinking for react native

* minor fixes

* Update Export screen to show more accurate log data (#244)

* Update Export screen to show more accurate log data

This is a pretty update to how the Export screen works and how the
log data is modified.

The Export screen component was rewritten as a functional component
in order to take advantage of hooks. The use for the hooks is to
update the log data details when the Export component comes in to
focus. The old version would only update the data once since the
component would mount and never unmount leading to stale data. The
new Export component will update the log details each time the view
comes in to focus. The log details have now been broken up in to
3 sections: Total time the log covers, Number of points logged, and
Time since last updated.

The LocationService has been updated with a new class called
LocationData. This take the old saveLocation method and makes it
an instance method on the LocationData class. This also allows
access to the location data that is in memory in order for the
Export screen to show more accurate details. The LocationService
has been updated to use this new class when saving the location
data.

* Revert change to the location time interval

* Remove old references to some variable names

* Fix export tests due to changes

* Add LocationData tests

* Remove old test file

* Change location marker and description, get rid of redundant markers as well (#250)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change marker icon and description

* remove maps-clustering package

* Minor bug fixes in Share and Overlap features (#265)

* Fixed snapshot test failure

* initial commit with changes + package name change

* .env vs using hard coded api for places search

* change copy for intro

* revert flag for showing intro

* fix isSearching bug

* Spanish translation update_Miquel (#272)

* Update index.js

* Create notification.json

* Update overlap.json

* Version 0.5.10 (#251)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Migrating Bluetooth to 0.0.5

* Removing the tag for just build number increments on new versions.

* 0.5.9

* 0.5.10

* Saving contacts and Requesting permissions to turn bluetooth on

* Remove duplicate function willParticipate (#271)

* Automatic snapshot tests with Jest (#242)

* Automatic snapshot tests with Jest

* Updated tests and mocks

* snapshot updates and mocks

* Add testing details to CONTRIBUTING and add Google API setup to README (#277)

* Add details on testing to the CONTRIBUTING doc

* Add instructions to README for setting up Google API key

* Catalan translation_miquel (#274)

* exportscreen.json ca support

* import.json ca

* Create index.js

* Create intro.json

* Create licensesscreen.json

* Create locationTracking.json

* Create notification.json

* Create overlap.json

* small exportscreen es update

* Update exportscreen.json

* Update exportscreen.json

* catalan support added

* Marathi_Translation_Update_Alpita (#268)

* Update locationTracking.json

* overlap mt translation

* notification nt

* Update exportscreen.json

* Update locationTracking.json

* Create licensesscreen.json

* Delete notification.

* Create notification.json

* Update overlap.json

* Update index.js

* Disable share button on Export screen if no log data (#275)

* Disable share button on Export screen if no log data

The Share button on the Export screen should not be enabled if
there is no data in the log. This will disable the button by
default and then enable it once the data is retrieved and determined
that there is at least 1 data point in the log.

* Update snapshots

* Resolved merge conflicts

* Reverted formatting changes on services files

* Reverted formatting changes on services files

* Fix disable location sharing ble (#280)

Adds instantiation checking for `react-native-ble-advertiser` under `isBTActive` inside the `BroadcastingService.js`.  Without this, iOS would crash on an undefined native module.

* fix unit test for react-native-svg

* Update Overlap screen to update when it comes into focus (#259)

* Update Overlap screen to update when it comes into focus

Converted the Overlap class component to a functional component in
order to take advantage of hooks. The hooks allow us to hook into
the focus event so that we can update the map markers when the view
comes into focus. Previously the map would not update after the initial
mounting of the component.

Closes #253

* Add comment back in that was removed

* Update Overlap snapshot due to changes

Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* [Dev setup] Mac fixes, and clearer instructions (#281)

* [Dev setup] incorrect paths in instructions

* Install watchman on Mac

* Mac: Quit if no homebrew, use brew to install node

* Allow setting env vars on mac, with clearer instructions

* FR locale (translation) (#215)

* FR locale (translation)

* Add licensescreen + overlap

* privée -> personnelle , via @lfichet

* intro fix

* More suggestions

* Added translations for new keys + updates

* Adding Kannada Language support (#276)

* Adding Kannada Language support

Adding Kannada Language support

* Update overlap.json

* add API with basic requests

* use api for getting user positions

* remove on events for map

* fix initial, load

* intersection notifications

* update key ios bundle and api key

* Export fix for iOS (#283)

The export of file in iOS does not work directly from base64 due to the encoding performed by sharing application in order to add a file as an attachment.
This PR solves it in the following way - 
1. Write file on the disk first
2. Share through the url of this file
3. Remove the file as soon as it is shared.

* Android Bluetooth Contact Tracing V1.  (#279)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Migrating Bluetooth to 0.0.5

* Removing the tag for just build number increments on new versions.

* 0.5.9

* 0.5.10

* Saving contacts and Requesting permissions to turn bluetooth on

* Fully functioning version of Bluetooth on Android

* Windows development scripts (#288)

Adds scripts for development on Windows (and mentioned them in README.md)
Fixes tripleblindmarket/private-kit#267

* WIP: blacklist work and home locations

* CS (Czech) locale (#213)

* CS (Czech) locale

This translation was created by myself. I am native speaker.

* Update languages.js

Indentation fixed

* CS (Czech) locale

CS (Czech) locale update

* Merge conflicts

Merge conflicts resolved, translation fixed.

* Update notification.json

Encoding changed to UTF8.

Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Hindi translation update_Garvit_Joshi (#292)

* Create exportscreen.json

* Create import.json

* Create index.js

* Create intro.json

* Create licensesscreen.json

* Create locationTracking.json

* Create notification.json

* Create overlap.json

* Update languages.js

* Update languages.js

* Delete exportscreen.json

* Delete import.json

* Delete index.js

* Delete licensesscreen.json

* Delete overlap.json

* Delete notification.json

* Delete locationTracking.json

* Delete intro.json

* hindi index file update

* hindi update

* Update import.json

* Update intro.json

* Create licensesscreen.json

* Update locationTracking.json

* Create notification.json

* Create overlap.json

* Update import.json

* Update locationTracking.json

* added new language support for the urdu  (#258)

* added new language urdu support for the urdu speaking community from India, Pakistan, Bangladesh and Afghanistan.

* fixed conflicts and added translation for new keys in overlap.json

* added new key vals

* added the missing braces in languages.js

* updated overlap_para_1 translation in overlap.js

* Remove extra lines

Co-authored-by: Talha <talha7j@gmail.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* WIP need to get inside banned radius completed

* use turf to find out if too close to home or work

* change package name

* fix bugs around banned address setting and getting bounds

* license changes + copy changes + ios package name changes

* add gujarati support (#286)

* add gujarati support

* Create gj

* Delete gj

* Create intro.json

* Add files via upload

* Add files via upload

* updated overlap_para_1 and clarified show_overlap

* updated to include additional fields after data_hint

* fixed missing comma on line 5

* Update overlap.json

Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Update contribution documentation (#293)

* Version 0.5.11 (#297)

* Running build on develop.

* Keeping action to Master

* 0.5.11

* New version Test fix.

* setup app with microsoft appcenter and codepush

* left out edit for appcenter ios integration

* update lock file

* disable landscape.
fix snapshot test.
disable going back to intro screen.
fix navigation when you are in logging mode.
fix footer for languages with long text.

* fixed syntax error in gj labels block on dev, languages.js (#318)

* Merge Safe paths branch into develop (#328)

* Add Settings Screen - #150 (#160)

* Remove Additional Stop Location Recording

* Add Settings Screen

* Add Intersection of points download from authority (#165)

With this PR the app now:

* Contacts each authority URL once every 12 hours
* Downloads intersection data from that authority
* Runs a simple point intersection against it
* Saves the exposure results in the CROSSED_PATHS storage array
* Still several things to do for an MVP, then more to optimize:

Authority cannot be edited yet (in Settings)
* No display of CROSSED_PATHS
* Only results from one Authority are saved
* Improve overlap calculation accuracy
* Optimize the intersection calculation

* Fix export issue

* Add settings screen (#326)

* Create Settings screen

* Add navigation and translation for new screen

* Remove irrelevant components from Settings screen

* Add menu for authorities selection in Settings

* Add stylized button, FlatList bit to Settings

* Add styling to flatlist rows, add close icon

* Fix caps, add iterating menu off authorities obj

* Add add/remove data source functions

* Add translation variables and lines to Settings

* Fix menu icon color from purple to bluish grey

* Remove unnecessary whitespace in translation

* Prevent duplicates from authorities list

* Add custom URL input (all function)

* Add check for connection, let user know if error

* Now pulls authorities list from internet source

* Store user settings in async storage

* Version 0.5.4 (Build 9) (#161)

* Simple Script to reset react native

* Version 0.5.4 (Build 9)

* Example code for private-set point intersection (#163)

Add a complete Pytyon example of performing private set intersection.
This solution give pretty good privacy, estimated at approximately
10 days to crack a single published lat/lon/time point.

This is donated to the Private Kit project by Triple Blind, and
may be freely used within the project.

* V2overlap (#166)

* display map

* working v2; only android

* improve and optimize map support;android only

* add heatmap code

* Automating Version & Build Numbers (#169)

* Adding version and build number automator (Changes ReactNative, iOS and Android upon npm version).

* Removing Build Number from Targets on Xcode so that npm version with react-native-version can update the number automatically.

* Test Bundle version and Main Bundle version should be the same.

* 0.5.5

* Add NL (Dutch) locale (#172)

* Changetext (#175)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change text for overlap screen

* Version 0.5.6 (#177)

* Adding version and build number automator (Changes ReactNative, iOS and Android upon npm version).

* Removing Build Number from Targets on Xcode so that npm version with react-native-version can update the number automatically.

* Test Bundle version and Main Bundle version should be the same.

* 0.5.5

* Production API keys.

* 0.5.6

* moving pod install command to npm run install:pod (#173)

* Improve data exporter to share data with better names (#174)

* Write file to filesystem before sharing

* Enhance sharing data output

- Updated react-native-share to 3.1.0 because of [issue](https://github.com/react-native-community/react-native-share/issues/702)
- Separated out iOS specific and android share logic as the behaviors for sharing are significanlty different even for a simple case like filename

* Add support for 'Marathi' locale (#154)

* Add support for 'Marathi' locale

* Incorporate review suggestions

Co-authored-by: Sagar Manohar <sagar.mohan.manohar@ibm.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Translated pt locations files (#125)

* Translated locations files from ingles to pt-br

* Updated sentence for better semantics, remintz suggestion

* Fix typo

* fixing broken link to issue list (#186)

* Fix formatting in languages json due to merge (#183)

This fixes a formatting issue due to a merge. Languages were added in multiple PRs and they didn't get merged together correctly.

* Added feedback for trace overlap if it comes back with no results (#190)

See issue #188 - I'd advise this is merged ASAP since the current build feels broken from a user perspective.

* minor version bump to clear Xcode warnings (#168)

Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>

* Bluetooth Broadcasting on Android.  (#193)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* Fix broken layout on low-res devices using flex layout on LocationTracking.js and Overlap.js (#196)

* quality of life improvements

* Add dynamic button text for trace overlap results

* Reenabled Prettier in Overlap.js but didn't format

* Add translation for overlap button text and title

* Move website link footer inside scrollview

* Use flex layout to fix display on low-res devices

* Update CSV data source, refine text (#197)

* Update CSV data source, refine text

The source of the public data moved, breaking this feature.  Also
refined the text show and added a link to the public dataset.

* Change terminology for now

* Version: 0.5.8 (#198)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Fix typo in location tracking url_info text (#200)

* Enhancing the License screen (#202)

* Enhancing the License screen

The kebab > License screen now is a combination of an About screen
and a license.  The top of the screen shows information about the current
app version, OS version on which it is running and screen resolution info.

Below that is license test.  It pulls from the new LICENSE.json in the
assets directory.  It will render an array of licenses, so later we can
add the licenses of components we use in addition to the main Private
Kit MIT license.

* Remove debugging console.log() message

* Fix circles crash by only showing nearby circles (#212)

* ESlint added and removed few errors (#201)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Added Loader for Webviews (#206)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Change color of three dot menu button to match the color of other button elements - #178 (#208)

* Migrating Bluetooth library to 0.0.5 (#214)

* Add code formatting rules with git-hooks #189 (#210)

* Brazilian Portuguese language support (#229)

* Dutch translation (#225)

* Update index.js

* Update locationTracking.json

* Create overlap.json

* Andynuzzo/it (#223)

* Update macos_build.yml (#236)

Fix breaking gradle error

* Typo fix from Enrico Santus on latest (#239)

* Add jest snapshot testing to the main views (#187)

* Add jest snapshot testing to the main views

    This adds jest snapshot testing the main views for the application. The
    main views it covers are:

    * Export
    * Import
    * Licenses
    * LocationTracking
    * News
    * Overlap
    * Welcome

    The tests are run using `yarn test`.

    Mock setup has been added for some of the react native packages so the testing
    doesn't have to rely on the packages.

    Cleaned up some of the formatting in the language files to not include the trailing
    comma on the last property. This was throwing errors for some of the jest tests.

    Add jestSetupFile to setup some of the mocks for the tests

* Update tests after rebasing the develop branch

* Fix LICENSES json due to failing test

* Add mock for react-native-zip-archive

* Italian missing licenses file- Andy's translation added (#241)

* Andy's translation for the missing licenses file

* Update index.js

* Add custom map styles to the Overlap map (#246)

The custom styles were taken from https://snazzymaps.com/style/127403/no-label-bright-colors
which was linked to in the issue #243

Closes #243

* Haitian Creole with Translation Inputs from Gerald McElroy (#238)

* Spanish language support based on Miquel Vila Porté's translation (#245)

* Notification UI to show histogram and day wise list of intersections (#237)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* notification UI

* remove callback for button

* Fixed 'Always Allow' for iOS (#97)

* 1. Added RN permissions to dependencies.
2. Added location permissions in AndroidManifest.xml

* 1. Permissions now handled by react-native-permissions
2. If platform is iOS 12.x.x or earlier. Directly acquire 'Always Allow' permission
3. If platform is iOS 13.0 or later, redirect to app settings.
Apps cannot directly ask for 'Always Allow' post iOS 13.

* Added comments

* Added yarn.lock and Podfile.lock to gitignore

* No changes

* Added lock files

* Removed Podfile.lock

Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Change the ui of Notifications (#254)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Fix design and remove url (#255)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Cleanup react warning on the Overlap screen (#249)

There were some react warnings being thrown due to the key
prop not being set on some components. This sets the key prop
on the components that are added in a loop

* Fixed text in the Notifications page (#256)

* Fixed Text on Notifications page

* Fixed Font size of Export

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Update Export screen to show more accurate log data (#244)

* Update Export screen to show more accurate log data

This is a pretty update to how the Export screen works and how the
log data is modified.

The Export screen component was rewritten as a functional component
in order to take advantage of hooks. The use for the hooks is to
update the log data details when the Export component comes in to
focus. The old version would only update the data once since the
component would mount and never unmount leading to stale data. The
new Export component will update the log details each time the view
comes in to focus. The log details have now been broken up in to
3 sections: Total time the log covers, Number of points logged, and
Time since last updated.

The LocationService has been updated with a new class called
LocationData. This take the old saveLocation method and makes it
an instance method on the LocationData class. This also allows
access to the location data that is in memory in order for the
Export screen to show more accurate details. The LocationService
has been updated to use this new class when saving the location
data.

* Revert change to the location time interval

* Remove old references to some variable names

* Fix export tests due to changes

* Add LocationData tests

* Remove old test file

* Change location marker and description, get rid of redundant markers as well (#250)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change marker icon and description

* remove maps-clustering package

* Minor bug fixes in Share and Overlap features (#265)

* Create Settings screen

* Add navigation and translation for new screen

* Remove irrelevant components from Settings screen

* Add menu for authorities selection in Settings

* Add stylized button, FlatList bit to Settings

* Add styling to flatlist rows, add close icon

* Fix caps, add iterating menu off authorities obj

* Add add/remove data source functions

* Add translation variables and lines to Settings

* Fix menu icon color from purple to bluish grey

* Remove unnecessary whitespace in translation

* Prevent duplicates from authorities list

* Add custom URL input (all function)

* Add che…
kenpugsley added a commit that referenced this pull request Apr 24, 2020
* Translated pt locations files (#125)

* Translated locations files from ingles to pt-br

* Updated sentence for better semantics, remintz suggestion

* Fix typo

* fixing broken link to issue list (#186)

* Fix formatting in languages json due to merge (#183)

This fixes a formatting issue due to a merge. Languages were added in multiple PRs and they didn't get merged together correctly.

* Added feedback for trace overlap if it comes back with no results (#190)

See issue #188 - I'd advise this is merged ASAP since the current build feels broken from a user perspective.

* minor version bump to clear Xcode warnings (#168)

Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>

* Bluetooth Broadcasting on Android.  (#193)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* Fix broken layout on low-res devices using flex layout on LocationTracking.js and Overlap.js (#196)

* quality of life improvements

* Add dynamic button text for trace overlap results

* Reenabled Prettier in Overlap.js but didn't format

* Add translation for overlap button text and title

* Move website link footer inside scrollview

* Use flex layout to fix display on low-res devices

* Update CSV data source, refine text (#197)

* Update CSV data source, refine text

The source of the public data moved, breaking this feature.  Also
refined the text show and added a link to the public dataset.

* Change terminology for now

* Version: 0.5.8 (#198)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Fix typo in location tracking url_info text (#200)

* Enhancing the License screen (#202)

* Enhancing the License screen

The kebab > License screen now is a combination of an About screen
and a license.  The top of the screen shows information about the current
app version, OS version on which it is running and screen resolution info.

Below that is license test.  It pulls from the new LICENSE.json in the
assets directory.  It will render an array of licenses, so later we can
add the licenses of components we use in addition to the main Private
Kit MIT license.

* Remove debugging console.log() message

* Fix circles crash by only showing nearby circles (#212)

* ESlint added and removed few errors (#201)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Added Loader for Webviews (#206)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Change color of three dot menu button to match the color of other button elements - #178 (#208)

* Migrating Bluetooth library to 0.0.5 (#214)

* Add code formatting rules with git-hooks #189 (#210)

* initial commit of new welcome screen

* Brazilian Portuguese language support (#229)

* Dutch translation (#225)

* Update index.js

* Update locationTracking.json

* Create overlap.json

* Andynuzzo/it (#223)

* Update macos_build.yml (#236)

Fix breaking gradle error

* Typo fix from Enrico Santus on latest (#239)

* Add jest snapshot testing to the main views (#187)

* Add jest snapshot testing to the main views

    This adds jest snapshot testing the main views for the application. The
    main views it covers are:

    * Export
    * Import
    * Licenses
    * LocationTracking
    * News
    * Overlap
    * Welcome

    The tests are run using `yarn test`.

    Mock setup has been added for some of the react native packages so the testing
    doesn't have to rely on the packages.

    Cleaned up some of the formatting in the language files to not include the trailing
    comma on the last property. This was throwing errors for some of the jest tests.

    Add jestSetupFile to setup some of the mocks for the tests

* Update tests after rebasing the develop branch

* Fix LICENSES json due to failing test

* Add mock for react-native-zip-archive

* Italian missing licenses file- Andy's translation added (#241)

* Andy's translation for the missing licenses file

* Update index.js

* Update intro screen with real contents

* Add custom map styles to the Overlap map (#246)

The custom styles were taken from https://snazzymaps.com/style/127403/no-label-bright-colors
which was linked to in the issue #243

Closes #243

* Haitian Creole with Translation Inputs from Gerald McElroy (#238)

* Spanish language support based on Miquel Vila Porté's translation (#245)

* gradient button. minor content update for intro screen

* add svg for icon

* minor update to button in intro page. added font weights so we can use system font

* Notification UI to show histogram and day wise list of intersections (#237)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* notification UI

* remove callback for button

* Fixed 'Always Allow' for iOS (#97)

* 1. Added RN permissions to dependencies.
2. Added location permissions in AndroidManifest.xml

* 1. Permissions now handled by react-native-permissions
2. If platform is iOS 12.x.x or earlier. Directly acquire 'Always Allow' permission
3. If platform is iOS 13.0 or later, redirect to app settings.
Apps cannot directly ask for 'Always Allow' post iOS 13.

* Added comments

* Added yarn.lock and Podfile.lock to gitignore

* No changes

* Added lock files

* Removed Podfile.lock

Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Change the ui of Notifications (#254)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Fix design and remove url (#255)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Cleanup react warning on the Overlap screen (#249)

There were some react warnings being thrown due to the key
prop not being set on some components. This sets the key prop
on the components that are added in a loop

* Fixed text in the Notifications page (#256)

* Fixed Text on Notifications page

* Fixed Font size of Export

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* adding generic ButtonWrapper component. updated UI for locationTracking page 🎨

* updated launch screen for iOS

* formatting code using prettier-vscode

* using props type for buttons

* update lock file

* resolve autolinking for react native

* minor fixes

* Update Export screen to show more accurate log data (#244)

* Update Export screen to show more accurate log data

This is a pretty update to how the Export screen works and how the
log data is modified.

The Export screen component was rewritten as a functional component
in order to take advantage of hooks. The use for the hooks is to
update the log data details when the Export component comes in to
focus. The old version would only update the data once since the
component would mount and never unmount leading to stale data. The
new Export component will update the log details each time the view
comes in to focus. The log details have now been broken up in to
3 sections: Total time the log covers, Number of points logged, and
Time since last updated.

The LocationService has been updated with a new class called
LocationData. This take the old saveLocation method and makes it
an instance method on the LocationData class. This also allows
access to the location data that is in memory in order for the
Export screen to show more accurate details. The LocationService
has been updated to use this new class when saving the location
data.

* Revert change to the location time interval

* Remove old references to some variable names

* Fix export tests due to changes

* Add LocationData tests

* Remove old test file

* Change location marker and description, get rid of redundant markers as well (#250)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change marker icon and description

* remove maps-clustering package

* Minor bug fixes in Share and Overlap features (#265)

* Fixed snapshot test failure

* Spanish translation update_Miquel (#272)

* Update index.js

* Create notification.json

* Update overlap.json

* Version 0.5.10 (#251)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Migrating Bluetooth to 0.0.5

* Removing the tag for just build number increments on new versions.

* 0.5.9

* 0.5.10

* Saving contacts and Requesting permissions to turn bluetooth on

* Remove duplicate function willParticipate (#271)

* Automatic snapshot tests with Jest (#242)

* Automatic snapshot tests with Jest

* Updated tests and mocks

* snapshot updates and mocks

* Add testing details to CONTRIBUTING and add Google API setup to README (#277)

* Add details on testing to the CONTRIBUTING doc

* Add instructions to README for setting up Google API key

* Catalan translation_miquel (#274)

* exportscreen.json ca support

* import.json ca

* Create index.js

* Create intro.json

* Create licensesscreen.json

* Create locationTracking.json

* Create notification.json

* Create overlap.json

* small exportscreen es update

* Update exportscreen.json

* Update exportscreen.json

* catalan support added

* Marathi_Translation_Update_Alpita (#268)

* Update locationTracking.json

* overlap mt translation

* notification nt

* Update exportscreen.json

* Update locationTracking.json

* Create licensesscreen.json

* Delete notification.

* Create notification.json

* Update overlap.json

* Update index.js

* Disable share button on Export screen if no log data (#275)

* Disable share button on Export screen if no log data

The Share button on the Export screen should not be enabled if
there is no data in the log. This will disable the button by
default and then enable it once the data is retrieved and determined
that there is at least 1 data point in the log.

* Update snapshots

* Resolved merge conflicts

* Reverted formatting changes on services files

* Reverted formatting changes on services files

* Fix disable location sharing ble (#280)

Adds instantiation checking for `react-native-ble-advertiser` under `isBTActive` inside the `BroadcastingService.js`.  Without this, iOS would crash on an undefined native module.

* fix unit test for react-native-svg

* Update Overlap screen to update when it comes into focus (#259)

* Update Overlap screen to update when it comes into focus

Converted the Overlap class component to a functional component in
order to take advantage of hooks. The hooks allow us to hook into
the focus event so that we can update the map markers when the view
comes into focus. Previously the map would not update after the initial
mounting of the component.

Closes #253

* Add comment back in that was removed

* Update Overlap snapshot due to changes

Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* [Dev setup] Mac fixes, and clearer instructions (#281)

* [Dev setup] incorrect paths in instructions

* Install watchman on Mac

* Mac: Quit if no homebrew, use brew to install node

* Allow setting env vars on mac, with clearer instructions

* FR locale (translation) (#215)

* FR locale (translation)

* Add licensescreen + overlap

* privée -> personnelle , via @lfichet

* intro fix

* More suggestions

* Added translations for new keys + updates

* Adding Kannada Language support (#276)

* Adding Kannada Language support

Adding Kannada Language support

* Update overlap.json

* Export fix for iOS (#283)

The export of file in iOS does not work directly from base64 due to the encoding performed by sharing application in order to add a file as an attachment.
This PR solves it in the following way - 
1. Write file on the disk first
2. Share through the url of this file
3. Remove the file as soon as it is shared.

* Android Bluetooth Contact Tracing V1.  (#279)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Migrating Bluetooth to 0.0.5

* Removing the tag for just build number increments on new versions.

* 0.5.9

* 0.5.10

* Saving contacts and Requesting permissions to turn bluetooth on

* Fully functioning version of Bluetooth on Android

* Windows development scripts (#288)

Adds scripts for development on Windows (and mentioned them in README.md)
Fixes tripleblindmarket/private-kit#267

* CS (Czech) locale (#213)

* CS (Czech) locale

This translation was created by myself. I am native speaker.

* Update languages.js

Indentation fixed

* CS (Czech) locale

CS (Czech) locale update

* Merge conflicts

Merge conflicts resolved, translation fixed.

* Update notification.json

Encoding changed to UTF8.

Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Hindi translation update_Garvit_Joshi (#292)

* Create exportscreen.json

* Create import.json

* Create index.js

* Create intro.json

* Create licensesscreen.json

* Create locationTracking.json

* Create notification.json

* Create overlap.json

* Update languages.js

* Update languages.js

* Delete exportscreen.json

* Delete import.json

* Delete index.js

* Delete licensesscreen.json

* Delete overlap.json

* Delete notification.json

* Delete locationTracking.json

* Delete intro.json

* hindi index file update

* hindi update

* Update import.json

* Update intro.json

* Create licensesscreen.json

* Update locationTracking.json

* Create notification.json

* Create overlap.json

* Update import.json

* Update locationTracking.json

* added new language support for the urdu  (#258)

* added new language urdu support for the urdu speaking community from India, Pakistan, Bangladesh and Afghanistan.

* fixed conflicts and added translation for new keys in overlap.json

* added new key vals

* added the missing braces in languages.js

* updated overlap_para_1 translation in overlap.js

* Remove extra lines

Co-authored-by: Talha <talha7j@gmail.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* add gujarati support (#286)

* add gujarati support

* Create gj

* Delete gj

* Create intro.json

* Add files via upload

* Add files via upload

* updated overlap_para_1 and clarified show_overlap

* updated to include additional fields after data_hint

* fixed missing comma on line 5

* Update overlap.json

Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Update contribution documentation (#293)

* Version 0.5.11 (#297)

* Running build on develop.

* Keeping action to Master

* 0.5.11

* New version Test fix.

* update lock file

* disable landscape.
fix snapshot test.
disable going back to intro screen.
fix navigation when you are in logging mode.
fix footer for languages with long text.

* fixed syntax error in gj labels block on dev, languages.js (#318)

* Merge Safe paths branch into develop (#328)

* Add Settings Screen - #150 (#160)

* Remove Additional Stop Location Recording

* Add Settings Screen

* Add Intersection of points download from authority (#165)

With this PR the app now:

* Contacts each authority URL once every 12 hours
* Downloads intersection data from that authority
* Runs a simple point intersection against it
* Saves the exposure results in the CROSSED_PATHS storage array
* Still several things to do for an MVP, then more to optimize:

Authority cannot be edited yet (in Settings)
* No display of CROSSED_PATHS
* Only results from one Authority are saved
* Improve overlap calculation accuracy
* Optimize the intersection calculation

* Fix export issue

* Add settings screen (#326)

* Create Settings screen

* Add navigation and translation for new screen

* Remove irrelevant components from Settings screen

* Add menu for authorities selection in Settings

* Add stylized button, FlatList bit to Settings

* Add styling to flatlist rows, add close icon

* Fix caps, add iterating menu off authorities obj

* Add add/remove data source functions

* Add translation variables and lines to Settings

* Fix menu icon color from purple to bluish grey

* Remove unnecessary whitespace in translation

* Prevent duplicates from authorities list

* Add custom URL input (all function)

* Add check for connection, let user know if error

* Now pulls authorities list from internet source

* Store user settings in async storage

* Version 0.5.4 (Build 9) (#161)

* Simple Script to reset react native

* Version 0.5.4 (Build 9)

* Example code for private-set point intersection (#163)

Add a complete Pytyon example of performing private set intersection.
This solution give pretty good privacy, estimated at approximately
10 days to crack a single published lat/lon/time point.

This is donated to the Private Kit project by Triple Blind, and
may be freely used within the project.

* V2overlap (#166)

* display map

* working v2; only android

* improve and optimize map support;android only

* add heatmap code

* Automating Version & Build Numbers (#169)

* Adding version and build number automator (Changes ReactNative, iOS and Android upon npm version).

* Removing Build Number from Targets on Xcode so that npm version with react-native-version can update the number automatically.

* Test Bundle version and Main Bundle version should be the same.

* 0.5.5

* Add NL (Dutch) locale (#172)

* Changetext (#175)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change text for overlap screen

* Version 0.5.6 (#177)

* Adding version and build number automator (Changes ReactNative, iOS and Android upon npm version).

* Removing Build Number from Targets on Xcode so that npm version with react-native-version can update the number automatically.

* Test Bundle version and Main Bundle version should be the same.

* 0.5.5

* Production API keys.

* 0.5.6

* moving pod install command to npm run install:pod (#173)

* Improve data exporter to share data with better names (#174)

* Write file to filesystem before sharing

* Enhance sharing data output

- Updated react-native-share to 3.1.0 because of [issue](https://github.com/react-native-community/react-native-share/issues/702)
- Separated out iOS specific and android share logic as the behaviors for sharing are significanlty different even for a simple case like filename

* Add support for 'Marathi' locale (#154)

* Add support for 'Marathi' locale

* Incorporate review suggestions

Co-authored-by: Sagar Manohar <sagar.mohan.manohar@ibm.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Translated pt locations files (#125)

* Translated locations files from ingles to pt-br

* Updated sentence for better semantics, remintz suggestion

* Fix typo

* fixing broken link to issue list (#186)

* Fix formatting in languages json due to merge (#183)

This fixes a formatting issue due to a merge. Languages were added in multiple PRs and they didn't get merged together correctly.

* Added feedback for trace overlap if it comes back with no results (#190)

See issue #188 - I'd advise this is merged ASAP since the current build feels broken from a user perspective.

* minor version bump to clear Xcode warnings (#168)

Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>

* Bluetooth Broadcasting on Android.  (#193)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* Fix broken layout on low-res devices using flex layout on LocationTracking.js and Overlap.js (#196)

* quality of life improvements

* Add dynamic button text for trace overlap results

* Reenabled Prettier in Overlap.js but didn't format

* Add translation for overlap button text and title

* Move website link footer inside scrollview

* Use flex layout to fix display on low-res devices

* Update CSV data source, refine text (#197)

* Update CSV data source, refine text

The source of the public data moved, breaking this feature.  Also
refined the text show and added a link to the public dataset.

* Change terminology for now

* Version: 0.5.8 (#198)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Fix typo in location tracking url_info text (#200)

* Enhancing the License screen (#202)

* Enhancing the License screen

The kebab > License screen now is a combination of an About screen
and a license.  The top of the screen shows information about the current
app version, OS version on which it is running and screen resolution info.

Below that is license test.  It pulls from the new LICENSE.json in the
assets directory.  It will render an array of licenses, so later we can
add the licenses of components we use in addition to the main Private
Kit MIT license.

* Remove debugging console.log() message

* Fix circles crash by only showing nearby circles (#212)

* ESlint added and removed few errors (#201)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Added Loader for Webviews (#206)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Change color of three dot menu button to match the color of other button elements - #178 (#208)

* Migrating Bluetooth library to 0.0.5 (#214)

* Add code formatting rules with git-hooks #189 (#210)

* Brazilian Portuguese language support (#229)

* Dutch translation (#225)

* Update index.js

* Update locationTracking.json

* Create overlap.json

* Andynuzzo/it (#223)

* Update macos_build.yml (#236)

Fix breaking gradle error

* Typo fix from Enrico Santus on latest (#239)

* Add jest snapshot testing to the main views (#187)

* Add jest snapshot testing to the main views

    This adds jest snapshot testing the main views for the application. The
    main views it covers are:

    * Export
    * Import
    * Licenses
    * LocationTracking
    * News
    * Overlap
    * Welcome

    The tests are run using `yarn test`.

    Mock setup has been added for some of the react native packages so the testing
    doesn't have to rely on the packages.

    Cleaned up some of the formatting in the language files to not include the trailing
    comma on the last property. This was throwing errors for some of the jest tests.

    Add jestSetupFile to setup some of the mocks for the tests

* Update tests after rebasing the develop branch

* Fix LICENSES json due to failing test

* Add mock for react-native-zip-archive

* Italian missing licenses file- Andy's translation added (#241)

* Andy's translation for the missing licenses file

* Update index.js

* Add custom map styles to the Overlap map (#246)

The custom styles were taken from https://snazzymaps.com/style/127403/no-label-bright-colors
which was linked to in the issue #243

Closes #243

* Haitian Creole with Translation Inputs from Gerald McElroy (#238)

* Spanish language support based on Miquel Vila Porté's translation (#245)

* Notification UI to show histogram and day wise list of intersections (#237)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* notification UI

* remove callback for button

* Fixed 'Always Allow' for iOS (#97)

* 1. Added RN permissions to dependencies.
2. Added location permissions in AndroidManifest.xml

* 1. Permissions now handled by react-native-permissions
2. If platform is iOS 12.x.x or earlier. Directly acquire 'Always Allow' permission
3. If platform is iOS 13.0 or later, redirect to app settings.
Apps cannot directly ask for 'Always Allow' post iOS 13.

* Added comments

* Added yarn.lock and Podfile.lock to gitignore

* No changes

* Added lock files

* Removed Podfile.lock

Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Change the ui of Notifications (#254)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Fix design and remove url (#255)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Cleanup react warning on the Overlap screen (#249)

There were some react warnings being thrown due to the key
prop not being set on some components. This sets the key prop
on the components that are added in a loop

* Fixed text in the Notifications page (#256)

* Fixed Text on Notifications page

* Fixed Font size of Export

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Update Export screen to show more accurate log data (#244)

* Update Export screen to show more accurate log data

This is a pretty update to how the Export screen works and how the
log data is modified.

The Export screen component was rewritten as a functional component
in order to take advantage of hooks. The use for the hooks is to
update the log data details when the Export component comes in to
focus. The old version would only update the data once since the
component would mount and never unmount leading to stale data. The
new Export component will update the log details each time the view
comes in to focus. The log details have now been broken up in to
3 sections: Total time the log covers, Number of points logged, and
Time since last updated.

The LocationService has been updated with a new class called
LocationData. This take the old saveLocation method and makes it
an instance method on the LocationData class. This also allows
access to the location data that is in memory in order for the
Export screen to show more accurate details. The LocationService
has been updated to use this new class when saving the location
data.

* Revert change to the location time interval

* Remove old references to some variable names

* Fix export tests due to changes

* Add LocationData tests

* Remove old test file

* Change location marker and description, get rid of redundant markers as well (#250)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change marker icon and description

* remove maps-clustering package

* Minor bug fixes in Share and Overlap features (#265)

* Create Settings screen

* Add navigation and translation for new screen

* Remove irrelevant components from Settings screen

* Add menu for authorities selection in Settings

* Add stylized button, FlatList bit to Settings

* Add styling to flatlist rows, add close icon

* Fix caps, add iterating menu off authorities obj

* Add add/remove data source functions

* Add translation variables and lines to Settings

* Fix menu icon color from purple to bluish grey

* Remove unnecessary whitespace in translation

* Prevent duplicates from authorities list

* Add custom URL input (all function)

* Add check for connection, let user know if error

* Now pulls authorities list from internet source

* Store user settings in async storage

* Hopefully fix the git mess that somehow happened?

* Fix delay bug in async settings storage

* Fix null settings bug on fresh install

* Delete macos_build.yml

* Delete CONTRIBUTING.md

* fixed syntax error in gj labels block on dev, languages.js (#318)

* Revert formatting changes

Co-authored-by: Sam Stowers <phantom4d@gmail.com>
Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>
Co-authored-by: Steve Penrod <steve@tripleblind.market>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>
Co-authored-by: Niels de Hoog <njdehoog@gmail.com>
Co-authored-by: Robert Gühne <robert@polyxostudios.de>
Co-authored-by: Tushar Dadlani <tushar-dadlani@users.noreply.github.com>
Co-authored-by: Sagar Manohar <code247@users.noreply.github.com>
Co-authored-by: Sagar Manohar <sagar.mohan.manohar@ibm.com>
Co-authored-by: Douglas Lara <douglasdelaras@gmail.com>
Co-authored-by: Greg Knaddison <greg.knaddison@gmail.com>
Co-authored-by: Tim Banks <thetimbanks@gmail.com>
Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: Harsh Vitra <jainharsh44@gmail.com>
Co-authored-by: Harsh Vitra <harshvitra@gmail.com>
Co-authored-by: Parth Pathak <39071878+pathakparth@users.noreply.github.com>
Co-authored-by: alpita-masurkar <alpita-masurkar@users.noreply.github.com>
Co-authored-by: Andy Nuzzo <36167533+andreanuzzo@users.noreply.github.com>
Co-authored-by: Nilay Kulkarni <typhoscientic@gmail.com>
Co-authored-by: Steve Penrod <github@gpll.org>

* Update Entry.js

* Fix merge issues (#330)

Co-authored-by: David Biga <davidbiga@users.noreply.github.com>
Co-authored-by: Steve Penrod <steve@tripleblind.market>
Co-authored-by: Kyle Corbitt <kyle@corbt.com>
Co-authored-by: Sam Stowers <phantom4d@gmail.com>
Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>
Co-authored-by: Niels de Hoog <njdehoog@gmail.com>
Co-authored-by: Robert Gühne <robert@polyxostudios.de>
Co-authored-by: Tushar Dadlani <tushar-dadlani@users.noreply.github.com>
Co-authored-by: Sagar Manohar <code247@users.noreply.github.com>
Co-authored-by: Sagar Manohar <sagar.mohan.manohar@ibm.com>
Co-authored-by: Douglas Lara <douglasdelaras@gmail.com>
Co-authored-by: Greg Knaddison <greg.knaddison@gmail.com>
Co-authored-by: Tim Banks <thetimbanks@gmail.com>
Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: Harsh Vitra <jainharsh44@gmail.com>
Co-authored-by: Harsh Vitra <harshvitra@gmail.com>
Co-authored-by: Parth Pathak <39071878+pathakparth@users.noreply.github.com>
Co-authored-by: alpita-masurkar <alpita-masurkar@users.noreply.github.com>
Co-authored-by: Andy Nuzzo <36167533+andreanuzzo@users.noreply.github.com>
Co-authored-by: Nilay Kulkarni <typhoscientic@gmail.com>
Co-authored-by: Steve Penrod <github@gpll.org>

* Fix issues which came with safepaths branch merge (#332)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* Add Settings Screen - #150 (#160)

* Remove Additional Stop Location Recording

* Add Settings Screen

* Add Intersection of points download from authority (#165)

With this PR the app now:

* Contacts each authority URL once every 12 hours
* Downloads intersection data from that authority
* Runs a simple point intersection against it
* Saves the exposure results in the CROSSED_PATHS storage array
* Still several things to do for an MVP, then more to optimize:

Authority cannot be edited yet (in Settings)
* No display of CROSSED_PATHS
* Only results from one Authority are saved
* Improve overlap calculation accuracy
* Optimize the intersection calculation

* Fix export issue

* remove duplicated code

* revert to latest overlap text

Co-authored-by: David Biga <davidbiga@users.noreply.github.com>
Co-authored-by: Steve Penrod <steve@tripleblind.market>

* "Rebranding" from Private Kit to: COVID Safe Paths (#331)

Beginning the process of publicly being COVID Safe Paths

* Remove old "Check Overlap" functionality (#348)

Resolves #347

* Comment out the map functionality (button)
* Add extra padding for visual balance
* Renamed the Private Kit title to "COVID Safe Paths" so visual balance
  can be seen more clearly

* Reworking the UI for exposure notifications (#342)

Fix main menu (was missing Settings)

Notification screen cleanup
* Now only 14 days are shown
* Replaced "green" with "brown"
* Reworked the notifications and chart
* No longer lets you generate random data
* If no data, you are lead to the Settings page to select a Healthcare Authority

 ## Localization Notes ##

The Notification screen strings were all edited, several were added.  One is a
formatting string, so the {{daysAgo}} should NOT be translated.  Ask Steve if
you have questions.

* Make some hardcoded texts translatable (#329)

I found some texts lying around that were hardcoded and not under a translation key, so they were not translatable

I skipped `Welcome.js` because as far as I can tell it's not used anywhere (and could be deleted?)

Also, as a topic of discussion, maybe translations should all be in one flat json file?

- `app/locales/en/index.js` is going to keep growing without offering any real value
- It's not clear where a key is located, so you will have to check multiple files
- If one key is used twice, the latter will overwrite the former, which will be weird to debug for someone who is not familiar with how JS object destructuring works

* Merge fixes for the safepaths (#352)

* Update snapshots

* remove stale code

* merging #354

* ken wuz here - fixing unresolved

* V2 Redesign (#354)

* Changed font from OpenSans to IBMPlexSans

* launch screen

* design tweets

* figma

* permission request in onboarding page

* update initial screen

* broken pulse loader

* change icon

* animation fix for home screen

* remove unused files

* adding unknown & at risk UI states

* fix for android permissions

* clean up unused imports

* initial pass at integrating new UI/UX with location services

* delete unused screen

* fix android notif permission issue

* figmas

* testing bg image

* experimental UI

* fixed images in onboarding pages. fixed onboarding full screen for android

* Removing OpenSans from android app

* Changed the config for fonts

* Onboarding 1 fonts fixed

* Onboarding 2 fonts fixed

* Onboarding 3 fonts fixed

* Onboarding 4 fonts fixed

* Fonts changed for Onboarding 5

* Added class for fonts

* Button style chanegd

* remove unused css

* add empty settings screen

* add empty settings screen

* old settings for reference

* updating location logic

* documentation

* cleanup

* Fixed redux warning on pulse. Removed fontWeight constants. Cleaned up fonts on remaining screens.

* push on exposure risk - initial commit

* adding bottom sheet library

* temp hack for jp

* micro puck hack

* Added util class for checking platform and getting time. Removed fontWeights.

* copy changes

* Merge branch 'develop' into privateKitUIRefreshV2
* develop:

* splash screen for iOS

* added map screen.
getting current location for map.
basic bottom sheet.

* remove map hacks for now

* new app icon for iOS

* android app icon

* Add rn splash screen dep

* Adds a splash screen to android

* Add secondary splash screen

* Remove redundant comment

* Added new Settings screen

* new android icon

* new android icon

* Polished settings screen

* Fix black status bar on intermediate splash

* [Android] Prevent white flash after splash screen

* Starting About screen

* Added tap targets for all buttons in settings

* About page done, only icons to be added

* Dynamic routes

* Updated event listener logic on settings

* About icons added and fixed status bar

* Grey BG in About

* Using util method for platform check

* bg color

* Removing constant

* moved old screens to settings etcetc

* License page redesigned

* Cleaned up callbacks in settings

* fix missing navigation

* new export screen and fixed navigation

* Added NavigationBarWrapper component and cleaned up code in about,licenses,news,settings screens

* get location data from disk.
drawing line and circle for map.

* Fixed export on iOS

* fix choose provider screen

* Changed Import Locations

* Notifications page changed

* fix choose provider screen

* clean up settins

* fixed white flash on iOS start + fixed nav bugs

* remove bluetooth mention since not fully implemented yet

* cleanup

Co-authored-by: Sreekar <sreekar.bonam@gmail.com>
Co-authored-by: Jin <6530391+jin-stuff@users.noreply.github.com>
Co-authored-by: Harsh Vitra <harshvitra@gmail.com>
Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Merge translation strings into a single file (#356)

The translation scheme had a few downfalls:
* It was easy to create overlapped keys when the files were independent
* Translators had to manage multiple files, transmission was tricky
* Reviewers had to jump around, also.  Especially with global strings.

This merges them into a single file to solve those problems.

 ### Localization Notes ###
All of the language files can be mirrored off of this.  Given the major
UI changes, I think we really should throw away the old file and start 
from scratch on each language, unfortunately.

* android import fix #114 (#247)

* android import fix #114

* android import fix removed erroneous style #114

Co-authored-by: Nitin Pathak <Nitin.Pathak@ey.com>

* Change android launcher and app name (#358)

<img width="310" alt="Screen Shot 2020-04-05 at 12 06 33 PM" src="https://user-images.githubusercontent.com/702990/78507601-e5c3ae00-7735-11ea-8ac1-61ae7091c7b1.png">
<img width="309" alt="Screen Shot 2020-04-05 at 12 06 10 PM" src="https://user-images.githubusercontent.com/702990/78507609-eceabc00-7735-11ea-9bf5-2c259712b57c.png">

Short name for launcher, otherwise it says "COVID Sa.."

<img width="309" alt="Screen Shot 2020-04-05 at 12 06 19 PM" src="https://user-images.githubusercontent.com/702990/78507610-ef4d1600-7735-11ea-8192-b61be7d79572.png">

* Commit headline -- not longer than this line (50)

Longer change description.  Please keep text no longer than this line -------

 ### Testing Notes ###
Include instructions for reviewers to run tests related to this PR.

 ### Fixed Issues ###
NONE - Replace with description and/or associated Github issue
       numbers, e.g. Resolves #12 (will link to issue 12 automagically)

 ### Tech Notes ###
NONE - Explain new algorithms in detail, new utility classe, etc.

 ### Environment Notes ###
NONE - New package requirements, new files being written to disk, etc.

 ### Localization Notes ###
NONE - New or changed/renamed strings in localization files

* Add a .gitmessage template to the repo (#362)

* Commit headline -- not longer than this line (50)

Longer change description.  Please keep text no longer than this line -------

 ### Testing Notes ###
Include instructions for reviewers to run tests related to this PR.

 ### Fixed Issues ###
NONE - Replace with description and/or associated Github issue
       numbers, e.g. Resolves #12 (will link to issue 12 automagically)

 ### Tech Notes ###
NONE - Explain new algorithms in detail, new utility classe, etc.

 ### Environment Notes ###
NONE - New package requirements, new files being written to disk, etc.

 ### Localization Notes ###
NONE - New or changed/renamed strings in localization files

* Add a .gitmessage template to the repo

This is a good template for everyone to follow when filling out their commit
message.

 ### Testing Notes ###
Run dev_setup.sh (or manually do git config commit.template ./.gitmessage)

Now start a `git commit`.  The template should appear.

* Tweak the Licenses file to hold Legal in general (#361)

* Commit headline -- not longer than this line (50)

Longer change description.  Please keep text no longer than this line -------

 ### Testing Notes ###
Include instructions for reviewers to run tests related to this PR.

 ### Fixed Issues ###
NONE - Replace with description and/or associated Github issue
       numbers, e.g. Resolves #12 (will link to issue 12 automagically)

 ### Tech Notes ###
NONE - Explain new algorithms in detail, new utility classe, etc.

 ### Environment Notes ###
NONE - New package requirements, new files being written to disk, etc.

 ### Localization Notes ###
NONE - New or changed/renamed strings in localization files

* Tweak the Licenses file to hold Legal in general

Repurposed the "License" screen to be general Legal info.  This will include
Term of Use/Service, Licenses for other components, etc.

 ### Testing Notes ###
Open the "Legal" page on the secondary screen menu.

 ### Environment Notes ###
This adds a new "legal_page_title" item

* Start of news from Healthcare Authorities (#366)

* Start of news from Healthcare Authorities

When you subscribe to a Healthcare Authority, it should show a webpage
from that authority in the web view.  Since an individual might be
interested in multiple Healthcare Authorities, this should support having
multiple news pages.

This implementation uses a swiper with a titlebar that displays the
healthcare authority name.  The last entry should always be the
Safe Paths default page.

* Updated News Switcher

* News with new UI

* Tweak look to match the new UI

Minor changes to the padding, sizes and colors to match the new
UI elements.

* Internationalization of the URL

* Remove translation for now (will do after merge)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Add locale picker, Haitian Creole translation (#367)

Add a language picker on the first screen of the Welcome sequence.  This
allows nonstandard languages to be easily selected.

This is based on #355 by @StartupSam, but merged into the new UI

 ### Testing Notes ###
Start the welcome sequence after startup.  Select Haitian Creole (Angajman)

 ### Localization Notes ###
This adds Haitian Creole from Gerald

* Fix the tests with all the UI changes (#369)

* update tests

* update tests after the merge with develop

* Enforce Yarn, remove npm lock (#240)

* Mock splash screen to fix unit-test (#372)

* Fix small typo in dev_setup.sh (#364)

Signed-off-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* Make develop green, improve unit tests (#370)

* Reduce errors in react-native-permissions mock

* Add @testing-library/react-native fix async in news test

* Better async for Licenses

* App.spec.js with better async handling

* Update snaps for LocationTracking with better async

* Upgrade react-native-snap-carousel to remove deprecation warning

* Silence YellowBox useNativeDriver warning

* Add comment

* Move react-native-permissions mock to single place

* whitespace only

* Use a faster node environment

* Remove inline splashscreen mock, use __mocks__ version

* Disable matrix for now

* Use node 13 for now

* skip location tracking to get CI working

* Link issue to .skip

* Rename to Jest Test Runner -> Unit test

* Speeeeed! use node 12 for now

* Final wording tweaks for the MVP (#376)

* Final wording tweaks for the MVP

This incorporates quite a few text tweaks for the MVP version of
Safe Paths.  Other UI tweaks:
* Exposure graphs is now all a single redish shade
* Extracted a few strings that were embedded
* Corrected mismatches of color and style on a few screens
* Connected the button on the You've Been Exposed screen to Exposure History
* Removed some "demo" code from the Exposure screen

*

* Updating jest tests

* Add v2 UI styled locale picker (was #368) (#377)

* Add locale picker, Haitian Creole translation

Add a language picker on the first screen of the Welcome sequence.  This
allows nonstandard languages to be easily selected.

This is based on #355 by @StartupSam, but merged into the new UI

 ### Testing Notes ###
Start the welcome sequence after startup.  Select Haitian Creole (Angajman)

 ### Localization Notes ###
This adds Haitian Creole from Gerald

* Style lang pickers to match new v2 design

* Tweak padding to get closer to Figma design

* Fix touchable being blocked on ios

* Add layout+styles to iOS locale picker

* Fix broken Android styles from last commit

* Start of news from Healthcare Authorities (#366)

* Start of news from Healthcare Authorities

When you subscribe to a Healthcare Authority, it should show a webpage
from that authority in the web view.  Since an individual might be
interested in multiple Healthcare Authorities, this should support having
multiple news pages.

This implementation uses a swiper with a titlebar that displays the
healthcare authority name.  The last entry should always be the
Safe Paths default page.

* Updated News Switcher

* News with new UI

* Tweak look to match the new UI

Minor changes to the padding, sizes and colors to match the new
UI elements.

* Internationalization of the URL

* Remove translation for now (will do after merge)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Fix the tests with all the UI changes (#369)

* update tests

* update tests after the merge with develop

* Enforce Yarn, remove npm lock (#240)

* Mock splash screen to fix unit-test (#372)

* Fix small typo in dev_setup.sh (#364)

Signed-off-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* Make develop green, improve unit tests (#370)

* Reduce errors in react-native-permissions mock

* Add @testing-library/react-native fix async in news test

* Better async for Licenses

* App.spec.js with better async handling

* Update snaps for LocationTracking with better async

* Upgrade react-native-snap-carousel to remove deprecation warning

* Silence YellowBox useNativeDriver warning

* Add comment

* Move react-native-permissions mock to single place

* whitespace only

* Use a faster node environment

* Remove inline splashscreen mock, use __mocks__ version

* Disable matrix for now

* Use node 13 for now

* skip location tracking to get CI working

* Link issue to .skip

* Rename to Jest Test Runner -> Unit test

* Speeeeed! use node 12 for now

* Final wording tweaks for the MVP (#376)

* Final wording tweaks for the MVP

This incorporates quite a few text tweaks for the MVP version of
Safe Paths.  Other UI tweaks:
* Exposure graphs is now all a single redish shade
* Extracted a few strings that were embedded
* Corrected mismatches of color and style on a few screens
* Connected the button on the You've Been Exposed screen to Exposure History
* Removed some "demo" code from the Exposure screen

*

* Updating jest tests

Co-authored-by: Sam Stowers <phantom4d@gmail.com>
Co-authored-by: Harsh Vitra <harshvitra@gmail.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>
Co-authored-by: Parth Pathak <39071878+pathakparth@users.noreply.github.com>
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Separate and parallelize builds, build APK for easy testing (#359)

* Build debug apk for easier PR testing

* Give it a name

* Allow format of github workflows

* fix indent on workflow

* try simplified ubunt build

* baby steps

* use correct branch

* install deps

* Try jetify

* jetify on postinstall, not as manual step

* Bundle the non-metro debug js

* npx react-native

* change the zip name

* Rename artifact

* Streamline apk builder

* Rename and streamline ios builder

* remove dep

* reformat

* more ios tweak

* rename build-apk to build-android

* ios pwd

* Streamline ios build

* cache deps!

* Better name for cache deps

* Shorter name for android

* Change Export directory path for iOS (#383)

`MainBundlePath` directory is not writable on iOS and hence we should use `DocumentDirectoryPath` 
This was fixed in a previous PR but got lost in merges somehow!

* Update android launcher icon (#386)

<img width="310" alt="Screen Shot 2020-04-07 at 6 11 20 PM" src="https://user-images.githubusercontent.com/702990/78734090-2836e780-78fc-11ea-8152-ed4ab08d6fee.png">

Redo with latest icon of #382

* CI: Automatically Generating a GitHub Release with APK and AAB files on new Tag.  (#303)

* Update README.md

* Update README.md

* Adding GitHub Action to create a release file

* Reverting Readme Bluetooth description.

* Testing on all commits

* Removing working directory from signing

* Testing with Debug First.

* Checking if release build configs were the bug we see in GitHub Actions

* Fixing Release watch files issue.

* moving the Debug Build.

* cleaning before bundle.

* Maybe bundling was the issue.

* Fixing the directory of the AAB

* Activating by Release Tag.

* id fixes.

* Fixing path

* Fixing APK Filenames

* Location saving at proper rate; disable bluetooth (#389)

* disable turning on bluetooth for v1

* Add minimum acceptable update time to avoid flooding the log
Add maximum backfill time to avoid excessive backfills
Added checks for faster than expected updates
Fixed logic around backfills

Co-authored-by: Ken Pugsley <>

* v0.5.12 (#395)

* Update README.md

* Update README.md

* Reverting Readme Bluetooth description.

* Fixing Release watch files issue.

* 0.5.12

* Weird rebasing issues duplicated code.

* Chancing version on the test files

* Speed up GitHub build actions with caching (#397)

* Cache CocoaPod install

* Group pods into single location

* Cache gradle

* disable gradle daemon, no benefit

* verbose js builds

* reserve new cache key, old one got corrupted

* Cache gradle in the release.yml

* Podfile auto updated

* cache correct ios/Pods dir!

* CI: Signing APK on Release Tag (#399)

* Update README.md

* Update README.md

* Reverting Readme Bluetooth description.

* Fixing Release watch files issue.

* 0.5.12

* Weird rebasing issues duplicated code.

* Chancing version on the test files

* Activating signatures on the APK as well.

* Using the correct file name

* [iOS] Rename app on screen to Safe Paths (#402)

* Version bump 0.9.0 (#404)

* 0.9.0

* 0.9.0

* adding the licenses snapshot

Co-authored-by: Ken Pugsley <>

* Add Settings view base snapshot test (#406)

* Update iOS icon (#409)

* Update iOS icons

* Update splash bg image

* Update splash logo

* Revert "Update splash logo"

This reverts commit 10c4c1e1caec2d26077801148a8b38e9d32fe965.

* Revert "Update splash bg image"

This reverts commit 432d03cf57cd6268cbea8ed1cf4723d1ea55f49d.

* [Android] White splashscreen with new logo (#405)

* [Android] White splashscreen with new logo

* Shift text lower

* revert to match_parent (fill is deprecated)

* Fixed padding

* Small spelling fixes in README (#411)

-   Changes the single instance of "data never leaves users' devices"
    to "Data never leaves user's device" to bring it more in line with
    the same phrase elsewhere in the readme.
-   "found" not "round"
-   "Failed to load bundle - Could not connect to development server" is
    word for word what you would see in the console as an error and
    should be monospaced.

* clean up BackgroundGeolocation configuration and start/stop (#412)

LocationService.js
- Clean up variable name for internal configuration, and when it's set.
- remove unused variable from .stop() method

LocationTracking.js
- Moved LocationService start() and stop() calls to ensure the location service gets enabled or disabled appropriately if a user changes location permissions

* Changes based on Mayo feedback (#414)

* Change the URL to point to covidsafepaths.org

* Merging changes

* Changes based on Mayo feedback

Several fairly minor changes based on feedback from Mayo
* Soften the "You've been exposed" language, change the icon from red to yellow
* Add a link to the Mayo covid website on the main webpage
* Add a Terms of Use link on the Legal page
* Add What to Do Next? text on the Exposure History page
* New graphics assets for linking, plus removed unused graphic assets

* Updating the UI tests

* rev to v0.9.1 (#415)

* 0.9.1

* unit test snapshot

Co-authored-by: Ken Pugsley <>

* Build stability fixes and tweaks (#420)

* Increase file watchers in Android build

* Streamline iOS pod install

* naming tweaks

* Add helper for i18n extraction (#419)

* Add i18next-parser

* Fix some non-extractable strings

* Ignore some plural issues in certain languages (temp)

* rename english.json

* update npm command

* bump down one key in i18n config

* merge ca locale

* merge cs local

* merge and sort all remaining translation files

* import the index.json directly

* sort english keys

* Do all languages

* sort all trans files

* Remove unused translations

* don't commit translation _old.json files

* Fixed trans message in settings

* Update instructions on translatios

* Missed some more translations for extraction

* Revert "Remove unused translations"

This reverts commit 74c8169d3a3a3b549f5474e4a626b4387ba4306d.

* Don't commit _old.json files

* Re extract all messages, got some missing keys

* rename locale files

* change locale location

* Move locale json files

* Remove incomplete translations, leave ht

* update ignore for locales

* remove available languages list

* Only extract for en, ht

* iOS splash screen update (#417)

* Add IBMPlexMono font

* Update LaunchScreen Logo & Background

Co-authored-by: Christos Pappas <christos.pappas@gmail.com>

* Rename repo urls in contributing docs (#424)

Change private-kit -> covid-safe-paths string

* Add jest config to .eslintrc.json (#426)

Signed-off-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* Clean up unused styles and variables (#413)

* Extract some reused variables to consts (#393)

Co-authored-by: Dzianis Papakul <denis.papakul@designit.com>
Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Fix i18n string extraction bug (#427)

* Add a lint checker on PRs (#421)

* Lint files on PR creation

* lint-diff to eslint only changed lines

* try a different one

* lint-diff to eslint only changed lines

* lint only changed files

* test

* remove the hack

* use lint-diff

* prettier

* also on push

* change action sub name

* use node modules bin

* some debugging

* jetifier

* try origin/develop

* Remove lint problems

* Exact location distance calculation for intersect and backfill (#422)

* Rename workflows so they're clear in settings (#431)

* Ignore auto-generated jetifier json file (#428)

* Migrate intersection logic into background service (#378)

* code for intersection in background service

* debug

* fix the sorting scheme

* fix the wrong key used for healthcare authorities

* Add stop call for the background task service

* Add iOS permissions for Background fetch

* fix merge conflicts

* Fix the false alarm created by daybins

* Update snapshot and fix minor bugs

* Add compatibility for older ios versions

* update Podfile

* Fix the lint errors

* move intersect code

* Refine Exposure notification screen and minor errors (#436)

The main Exposure screen has a significant amount of text.  In order to fit
it comfortably on the screen, it makes sense to take advantage of moving
the text above the central warning icon.  Additonally the subtext balances
it nicely.

This also fixes several coding errors:
* Missing {} on imported function
* Missing "let" for a temporary variable
* Add error check for an undefined array, which happens at first startup

* replace npm with yarn in dev setup scripts (#438)

Co-authored-by: Liz Falkner <lizfalkner@Lizs-MBP.home>

* Italian translation by Andy Nuzzo (#441)

* Update Cocoapods Provisioning (#440)

Co-authored-by: Liz Falkner <lizfalkner@Lizs-MBP.home>
Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Adjust text vertical centering around pulse (#466)

* Final removal of Private Kit (leaving only attributions) (#465)

* pass 1

* pass 2

* pass 3

* rewording of the location and accelerometer permission descriptions.

* remove eclipse specific files

Co-authored-by: Ken Pugsley <>

* Version bump to 0.9.2 (#482)

* 0.9.2

* version bump on licenses test

Co-authored-by: Ken Pugsley <>

* Fix typo "procceed" to "proceed" (#485)

Simple typo in the Healthcare Authorities dialogs.

* Consolidate .github/.github folder (#478)

* Minor readme fixes (#488)

* minor changes to clean up the procedures
app preview update

* image resize

* proofreading

* more proofing

* cap A

Co-authored-by: Ken Pugsley <>

* Auto sort import statements with Prettier (#480)

* Configure Android to use singleTask launchMode (#501)

* Spanish Translation from Miquel Vila Porte (#491)

* Remove hardcoded link to Haitian health authority (#499)

The News page had a hardcoded "Haitian Ministry of Health" entry.  That has
been removed.  Also cleaned up a few other things:
* Removed some console.log() messages
* Added several variables to the storage.js list (if we are going to do that,
  we should do it everywhere).
* Fixed the AUTHORITY_NEWS population (it was always serializing an empty list)
* Add/Remove of a Healthcare Authority now kicks off an intersect calc
  immediately.  This also updates the links to News, etc (but it can take a
  few seconds to complete in the background).

* Android StatusBar transparency fix (#497)

* Italian i18n updates from @andreanuzzo, @diarmidmackenzie (#498)

* Feature/cn-language (#493)

Co-authored-by: Ernie <g41903@gmail.com>
Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Russian Translation by Ksenia Lukacher (#479)

* Notify "Location tracking was disabled" on Android (#503)

* Add French translation (#490)

* Move Google import block, disable for release builds (#505)

Disabled with "Coming soon" until #410 is merged

* Event history UX update (#467)

* Install emotion

* Refactor screens

* Set moment locale to device or override locale

* Add moment-range

* Extract some i18n text, change scrolling area

* Add month grid

* Show today on calendar view

* Remove some cruft

* Add some tests

* Change the CTA on main screen

* update snaps

* Use emotion themeing for better themeyness

* &apos; => '

* revert prettier change

* Add monospace option

* Updated Docs

* Use enum

* Use date instead of daysAgo for better testing

* Export fn

* moment -> dayjs

* headline3 style

* Revert color change

* Add MonthGrid tests

* More tests

* Added docs for Typography and Theme

* Typography tests

* Theme tests

* mono -> monochrome theme

* dar -> charcoal, main -> default, inverted -> violet

* Fix yarn.lock

* Remove timeline heading

* Add legend below calendar

* Mock date more properly

* fix broken test

* DataCircle tests

* Handle no history

* Be more theme aware

* NavBar is now theme aware

* calendar view padding change

* Update snapshots

* Show today's risk if known

* do not switch title on expose/no known

* Show possible risk more important than "today"

* Use theme background in nav wrapper, if present

* Add month title

* Update snaps for day circles

* revert bg color which breaks animations

* Clarify i18n

* Show green above today, if mins is 0

* Add snap tests for orange/green being higher prio than today

* Fix usage of URL from a Healthcare Authority (#507)

* Fix usage of URL from a Healthcare Authority

The webview was using the wrong name for the webview ("url" instead of
"news_url").

* Update yarn tests

* Update Haitian translation (#502)

* Simple tests for dev_setup.sh on ubuntu and mac (#481)

* Backport workflows to release-candidate and master (#514)

* Shifted device info from Legal page to About page (#506)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>
Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Add Language translation for Indonesian (#519)

Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Vietnamese translation (#524)

* Patch for android restart bug in react-native-background-geolocation (#526)

* xcode changes for new bundle id and correct team (#533)

Co-authored-by: Ken Pugsley <>

* 0.9.4 (#534)

Co-authored-by: Ken Pugsley <>

* Malayalam translation from @saranyaharidas (#531)

Co-authored-by: Saranya Haridas <saranya.haridas@gds.ey.com>

* Slovak translation from Aneta Laukova (#537)

* bump the versionCodes to what they should have been for 0.9.4 (#544)

* Haitian language update (#525)

* Minor fixes to issue/pr templates (#542)

* Don't translate the default news URL (#538)

* Move java files to correct path (#541)

* No translation for Mayo clinic link (#539)

* Remove inaccessible Overlap/Map screens and dependencies (#540)

* English: carrythe -> carry the (#553)

Co-authored-by: Jay Summet <summetj@gatech.edu>

* Update Italian translation (#550)

* Add repo in CONTRIBUTING.md (#554)

Co-authored-by: Jay Summet <summetj@gatech.edu>

* Use COVID-19 and not COVID19 (#552)

* New Slovak translation messages from Aneta (#551)

* Add location tracking toggle and language picker to Settings screen (#549)

* Allow vscode to type hint jest global (#556)

* Fix iOS/Android font discrepencies (#546)

* Refactor settings styles (#555)

* Update android splash text to "Safe Paths" (#560)

* Update iOS splash text to "Safe Paths" (#562)

* Making COVID-19 consistent on all screens (#565)

* Romanian Translation (#545)

* Add a debug mode for intersections (#437)

Added the ability to enter a "debug" mode where an artificial intersection is
created.  This happens by:
* Going to the About screen
* Tapping on the Team icon 4 times
* You can also return and tap 4 more times to toggle.

When in this debug mode, faux intersection data is placed in the crossing
arrays.  This will either clear automatically during the 12-hour calculation,
or can be cleared by the tester by returning to the About box and repeating
the 4-tap.

* [iOS] End to end tests w/ Detox (#567)

* update italian localization (#576)

Co-authored-by: Matteo Crippa <matteocrippa@githubusers.com>

* Fix intersect to handle multiple authorities (#529)

* same intersect code as RC

* adding a TODO to implement more scalable processing

* add unit tests.  Lots of minor fixes for edge cases

* update to ExposureHistory to account for bins having exposure time in ms

* update debug mode for mins in millis, as well as sprinkling in a few no-data days

* bring debug mode in alignment on max exposure window constant

* wip

* change bin logic to handle DST change, update tests

* fix disableDebug mode

Co-authored-by: Ken Pugsley <>

* Improve Google Location Data import experience (#410)

* Translate platform (iOS, Android) strings (#578)

* Add e2e test + screenshots for iPhone SE (#586)

* Fix incorrect intersect function import (#575)

Signed-off-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* FR locale update (#591)

* Dutch translation (#590)

Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Polish translation from Ilona Dyńska (#573)

* Device locale / user override separation (#571)

* [i18n] Upload strings to Lokalise, when merged into develop (#592)

* Set returnEmptyString to false (#597)

* Fix some yellow box warnings (#598)

* Tweaks to better support small screens (#577)

* Tweaks to better support small screens

This fixes issues on phone screens as small as 320 pixels wide in various
parts of the application.
* Navigation bar text was too long (even in English) under the Choose Health Authority.
  When the screen width is < 400 pixels the font-size begins to scale.  It also has enforced
  horizontal padding to prevent overlap with the back arrow -- text will now wrap instead of
  overlap.  This change also helps with some translations which make it even longer.
* The Exposure History legend was too long.  I truncated the text "No exposure" to…
kenpugsley added a commit that referenced this pull request Apr 29, 2020
* Add custom map styles to the Overlap map (#246)

The custom styles were taken from https://snazzymaps.com/style/127403/no-label-bright-colors
which was linked to in the issue #243

Closes #243

* Haitian Creole with Translation Inputs from Gerald McElroy (#238)

* Spanish language support based on Miquel Vila Porté's translation (#245)

* gradient button. minor content update for intro screen

* add svg for icon

* minor update to button in intro page. added font weights so we can use system font

* Notification UI to show histogram and day wise list of intersections (#237)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* notification UI

* remove callback for button

* Fixed 'Always Allow' for iOS (#97)

* 1. Added RN permissions to dependencies.
2. Added location permissions in AndroidManifest.xml

* 1. Permissions now handled by react-native-permissions
2. If platform is iOS 12.x.x or earlier. Directly acquire 'Always Allow' permission
3. If platform is iOS 13.0 or later, redirect to app settings.
Apps cannot directly ask for 'Always Allow' post iOS 13.

* Added comments

* Added yarn.lock and Podfile.lock to gitignore

* No changes

* Added lock files

* Removed Podfile.lock

Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Change the ui of Notifications (#254)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Fix design and remove url (#255)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Cleanup react warning on the Overlap screen (#249)

There were some react warnings being thrown due to the key
prop not being set on some components. This sets the key prop
on the components that are added in a loop

* Fixed text in the Notifications page (#256)

* Fixed Text on Notifications page

* Fixed Font size of Export

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* adding generic ButtonWrapper component. updated UI for locationTracking page 🎨

* updated launch screen for iOS

* formatting code using prettier-vscode

* using props type for buttons

* update lock file

* resolve autolinking for react native

* minor fixes

* Update Export screen to show more accurate log data (#244)

* Update Export screen to show more accurate log data

This is a pretty update to how the Export screen works and how the
log data is modified.

The Export screen component was rewritten as a functional component
in order to take advantage of hooks. The use for the hooks is to
update the log data details when the Export component comes in to
focus. The old version would only update the data once since the
component would mount and never unmount leading to stale data. The
new Export component will update the log details each time the view
comes in to focus. The log details have now been broken up in to
3 sections: Total time the log covers, Number of points logged, and
Time since last updated.

The LocationService has been updated with a new class called
LocationData. This take the old saveLocation method and makes it
an instance method on the LocationData class. This also allows
access to the location data that is in memory in order for the
Export screen to show more accurate details. The LocationService
has been updated to use this new class when saving the location
data.

* Revert change to the location time interval

* Remove old references to some variable names

* Fix export tests due to changes

* Add LocationData tests

* Remove old test file

* Change location marker and description, get rid of redundant markers as well (#250)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change marker icon and description

* remove maps-clustering package

* Minor bug fixes in Share and Overlap features (#265)

* Fixed snapshot test failure

* Spanish translation update_Miquel (#272)

* Update index.js

* Create notification.json

* Update overlap.json

* Version 0.5.10 (#251)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Migrating Bluetooth to 0.0.5

* Removing the tag for just build number increments on new versions.

* 0.5.9

* 0.5.10

* Saving contacts and Requesting permissions to turn bluetooth on

* Remove duplicate function willParticipate (#271)

* Automatic snapshot tests with Jest (#242)

* Automatic snapshot tests with Jest

* Updated tests and mocks

* snapshot updates and mocks

* Add testing details to CONTRIBUTING and add Google API setup to README (#277)

* Add details on testing to the CONTRIBUTING doc

* Add instructions to README for setting up Google API key

* Catalan translation_miquel (#274)

* exportscreen.json ca support

* import.json ca

* Create index.js

* Create intro.json

* Create licensesscreen.json

* Create locationTracking.json

* Create notification.json

* Create overlap.json

* small exportscreen es update

* Update exportscreen.json

* Update exportscreen.json

* catalan support added

* Marathi_Translation_Update_Alpita (#268)

* Update locationTracking.json

* overlap mt translation

* notification nt

* Update exportscreen.json

* Update locationTracking.json

* Create licensesscreen.json

* Delete notification.

* Create notification.json

* Update overlap.json

* Update index.js

* Disable share button on Export screen if no log data (#275)

* Disable share button on Export screen if no log data

The Share button on the Export screen should not be enabled if
there is no data in the log. This will disable the button by
default and then enable it once the data is retrieved and determined
that there is at least 1 data point in the log.

* Update snapshots

* Resolved merge conflicts

* Reverted formatting changes on services files

* Reverted formatting changes on services files

* Fix disable location sharing ble (#280)

Adds instantiation checking for `react-native-ble-advertiser` under `isBTActive` inside the `BroadcastingService.js`.  Without this, iOS would crash on an undefined native module.

* fix unit test for react-native-svg

* Update Overlap screen to update when it comes into focus (#259)

* Update Overlap screen to update when it comes into focus

Converted the Overlap class component to a functional component in
order to take advantage of hooks. The hooks allow us to hook into
the focus event so that we can update the map markers when the view
comes into focus. Previously the map would not update after the initial
mounting of the component.

Closes #253

* Add comment back in that was removed

* Update Overlap snapshot due to changes

Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* [Dev setup] Mac fixes, and clearer instructions (#281)

* [Dev setup] incorrect paths in instructions

* Install watchman on Mac

* Mac: Quit if no homebrew, use brew to install node

* Allow setting env vars on mac, with clearer instructions

* FR locale (translation) (#215)

* FR locale (translation)

* Add licensescreen + overlap

* privée -> personnelle , via @lfichet

* intro fix

* More suggestions

* Added translations for new keys + updates

* Adding Kannada Language support (#276)

* Adding Kannada Language support

Adding Kannada Language support

* Update overlap.json

* Export fix for iOS (#283)

The export of file in iOS does not work directly from base64 due to the encoding performed by sharing application in order to add a file as an attachment.
This PR solves it in the following way - 
1. Write file on the disk first
2. Share through the url of this file
3. Remove the file as soon as it is shared.

* Android Bluetooth Contact Tracing V1.  (#279)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Migrating Bluetooth to 0.0.5

* Removing the tag for just build number increments on new versions.

* 0.5.9

* 0.5.10

* Saving contacts and Requesting permissions to turn bluetooth on

* Fully functioning version of Bluetooth on Android

* Windows development scripts (#288)

Adds scripts for development on Windows (and mentioned them in README.md)
Fixes tripleblindmarket/private-kit#267

* CS (Czech) locale (#213)

* CS (Czech) locale

This translation was created by myself. I am native speaker.

* Update languages.js

Indentation fixed

* CS (Czech) locale

CS (Czech) locale update

* Merge conflicts

Merge conflicts resolved, translation fixed.

* Update notification.json

Encoding changed to UTF8.

Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Hindi translation update_Garvit_Joshi (#292)

* Create exportscreen.json

* Create import.json

* Create index.js

* Create intro.json

* Create licensesscreen.json

* Create locationTracking.json

* Create notification.json

* Create overlap.json

* Update languages.js

* Update languages.js

* Delete exportscreen.json

* Delete import.json

* Delete index.js

* Delete licensesscreen.json

* Delete overlap.json

* Delete notification.json

* Delete locationTracking.json

* Delete intro.json

* hindi index file update

* hindi update

* Update import.json

* Update intro.json

* Create licensesscreen.json

* Update locationTracking.json

* Create notification.json

* Create overlap.json

* Update import.json

* Update locationTracking.json

* added new language support for the urdu  (#258)

* added new language urdu support for the urdu speaking community from India, Pakistan, Bangladesh and Afghanistan.

* fixed conflicts and added translation for new keys in overlap.json

* added new key vals

* added the missing braces in languages.js

* updated overlap_para_1 translation in overlap.js

* Remove extra lines

Co-authored-by: Talha <talha7j@gmail.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* add gujarati support (#286)

* add gujarati support

* Create gj

* Delete gj

* Create intro.json

* Add files via upload

* Add files via upload

* updated overlap_para_1 and clarified show_overlap

* updated to include additional fields after data_hint

* fixed missing comma on line 5

* Update overlap.json

Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Update contribution documentation (#293)

* Version 0.5.11 (#297)

* Running build on develop.

* Keeping action to Master

* 0.5.11

* New version Test fix.

* update lock file

* disable landscape.
fix snapshot test.
disable going back to intro screen.
fix navigation when you are in logging mode.
fix footer for languages with long text.

* fixed syntax error in gj labels block on dev, languages.js (#318)

* Merge Safe paths branch into develop (#328)

* Add Settings Screen - #150 (#160)

* Remove Additional Stop Location Recording

* Add Settings Screen

* Add Intersection of points download from authority (#165)

With this PR the app now:

* Contacts each authority URL once every 12 hours
* Downloads intersection data from that authority
* Runs a simple point intersection against it
* Saves the exposure results in the CROSSED_PATHS storage array
* Still several things to do for an MVP, then more to optimize:

Authority cannot be edited yet (in Settings)
* No display of CROSSED_PATHS
* Only results from one Authority are saved
* Improve overlap calculation accuracy
* Optimize the intersection calculation

* Fix export issue

* Add settings screen (#326)

* Create Settings screen

* Add navigation and translation for new screen

* Remove irrelevant components from Settings screen

* Add menu for authorities selection in Settings

* Add stylized button, FlatList bit to Settings

* Add styling to flatlist rows, add close icon

* Fix caps, add iterating menu off authorities obj

* Add add/remove data source functions

* Add translation variables and lines to Settings

* Fix menu icon color from purple to bluish grey

* Remove unnecessary whitespace in translation

* Prevent duplicates from authorities list

* Add custom URL input (all function)

* Add check for connection, let user know if error

* Now pulls authorities list from internet source

* Store user settings in async storage

* Version 0.5.4 (Build 9) (#161)

* Simple Script to reset react native

* Version 0.5.4 (Build 9)

* Example code for private-set point intersection (#163)

Add a complete Pytyon example of performing private set intersection.
This solution give pretty good privacy, estimated at approximately
10 days to crack a single published lat/lon/time point.

This is donated to the Private Kit project by Triple Blind, and
may be freely used within the project.

* V2overlap (#166)

* display map

* working v2; only android

* improve and optimize map support;android only

* add heatmap code

* Automating Version & Build Numbers (#169)

* Adding version and build number automator (Changes ReactNative, iOS and Android upon npm version).

* Removing Build Number from Targets on Xcode so that npm version with react-native-version can update the number automatically.

* Test Bundle version and Main Bundle version should be the same.

* 0.5.5

* Add NL (Dutch) locale (#172)

* Changetext (#175)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change text for overlap screen

* Version 0.5.6 (#177)

* Adding version and build number automator (Changes ReactNative, iOS and Android upon npm version).

* Removing Build Number from Targets on Xcode so that npm version with react-native-version can update the number automatically.

* Test Bundle version and Main Bundle version should be the same.

* 0.5.5

* Production API keys.

* 0.5.6

* moving pod install command to npm run install:pod (#173)

* Improve data exporter to share data with better names (#174)

* Write file to filesystem before sharing

* Enhance sharing data output

- Updated react-native-share to 3.1.0 because of [issue](https://github.com/react-native-community/react-native-share/issues/702)
- Separated out iOS specific and android share logic as the behaviors for sharing are significanlty different even for a simple case like filename

* Add support for 'Marathi' locale (#154)

* Add support for 'Marathi' locale

* Incorporate review suggestions

Co-authored-by: Sagar Manohar <sagar.mohan.manohar@ibm.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Translated pt locations files (#125)

* Translated locations files from ingles to pt-br

* Updated sentence for better semantics, remintz suggestion

* Fix typo

* fixing broken link to issue list (#186)

* Fix formatting in languages json due to merge (#183)

This fixes a formatting issue due to a merge. Languages were added in multiple PRs and they didn't get merged together correctly.

* Added feedback for trace overlap if it comes back with no results (#190)

See issue #188 - I'd advise this is merged ASAP since the current build feels broken from a user perspective.

* minor version bump to clear Xcode warnings (#168)

Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>

* Bluetooth Broadcasting on Android.  (#193)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* Fix broken layout on low-res devices using flex layout on LocationTracking.js and Overlap.js (#196)

* quality of life improvements

* Add dynamic button text for trace overlap results

* Reenabled Prettier in Overlap.js but didn't format

* Add translation for overlap button text and title

* Move website link footer inside scrollview

* Use flex layout to fix display on low-res devices

* Update CSV data source, refine text (#197)

* Update CSV data source, refine text

The source of the public data moved, breaking this feature.  Also
refined the text show and added a link to the public dataset.

* Change terminology for now

* Version: 0.5.8 (#198)

* Running build on develop.

* Keeping action to Master

* Starting Bluetooth Beacon Broadcasting.

* Other ID was too big.

* Only runs Bluetooth on Android

* Changing Package version to 0.0.4 to pass tests on Phones without Bluetooth adapters.

* 0.5.7

* 0.5.8

* Fix typo in location tracking url_info text (#200)

* Enhancing the License screen (#202)

* Enhancing the License screen

The kebab > License screen now is a combination of an About screen
and a license.  The top of the screen shows information about the current
app version, OS version on which it is running and screen resolution info.

Below that is license test.  It pulls from the new LICENSE.json in the
assets directory.  It will render an array of licenses, so later we can
add the licenses of components we use in addition to the main Private
Kit MIT license.

* Remove debugging console.log() message

* Fix circles crash by only showing nearby circles (#212)

* ESlint added and removed few errors (#201)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Added Loader for Webviews (#206)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Change color of three dot menu button to match the color of other button elements - #178 (#208)

* Migrating Bluetooth library to 0.0.5 (#214)

* Add code formatting rules with git-hooks #189 (#210)

* Brazilian Portuguese language support (#229)

* Dutch translation (#225)

* Update index.js

* Update locationTracking.json

* Create overlap.json

* Andynuzzo/it (#223)

* Update macos_build.yml (#236)

Fix breaking gradle error

* Typo fix from Enrico Santus on latest (#239)

* Add jest snapshot testing to the main views (#187)

* Add jest snapshot testing to the main views

    This adds jest snapshot testing the main views for the application. The
    main views it covers are:

    * Export
    * Import
    * Licenses
    * LocationTracking
    * News
    * Overlap
    * Welcome

    The tests are run using `yarn test`.

    Mock setup has been added for some of the react native packages so the testing
    doesn't have to rely on the packages.

    Cleaned up some of the formatting in the language files to not include the trailing
    comma on the last property. This was throwing errors for some of the jest tests.

    Add jestSetupFile to setup some of the mocks for the tests

* Update tests after rebasing the develop branch

* Fix LICENSES json due to failing test

* Add mock for react-native-zip-archive

* Italian missing licenses file- Andy's translation added (#241)

* Andy's translation for the missing licenses file

* Update index.js

* Add custom map styles to the Overlap map (#246)

The custom styles were taken from https://snazzymaps.com/style/127403/no-label-bright-colors
which was linked to in the issue #243

Closes #243

* Haitian Creole with Translation Inputs from Gerald McElroy (#238)

* Spanish language support based on Miquel Vila Porté's translation (#245)

* Notification UI to show histogram and day wise list of intersections (#237)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* notification UI

* remove callback for button

* Fixed 'Always Allow' for iOS (#97)

* 1. Added RN permissions to dependencies.
2. Added location permissions in AndroidManifest.xml

* 1. Permissions now handled by react-native-permissions
2. If platform is iOS 12.x.x or earlier. Directly acquire 'Always Allow' permission
3. If platform is iOS 13.0 or later, redirect to app settings.
Apps cannot directly ask for 'Always Allow' post iOS 13.

* Added comments

* Added yarn.lock and Podfile.lock to gitignore

* No changes

* Added lock files

* Removed Podfile.lock

Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>

* Change the ui of Notifications (#254)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Fix design and remove url (#255)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Cleanup react warning on the Overlap screen (#249)

There were some react warnings being thrown due to the key
prop not being set on some components. This sets the key prop
on the components that are added in a loop

* Fixed text in the Notifications page (#256)

* Fixed Text on Notifications page

* Fixed Font size of Export

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Update Export screen to show more accurate log data (#244)

* Update Export screen to show more accurate log data

This is a pretty update to how the Export screen works and how the
log data is modified.

The Export screen component was rewritten as a functional component
in order to take advantage of hooks. The use for the hooks is to
update the log data details when the Export component comes in to
focus. The old version would only update the data once since the
component would mount and never unmount leading to stale data. The
new Export component will update the log details each time the view
comes in to focus. The log details have now been broken up in to
3 sections: Total time the log covers, Number of points logged, and
Time since last updated.

The LocationService has been updated with a new class called
LocationData. This take the old saveLocation method and makes it
an instance method on the LocationData class. This also allows
access to the location data that is in memory in order for the
Export screen to show more accurate details. The LocationService
has been updated to use this new class when saving the location
data.

* Revert change to the location time interval

* Remove old references to some variable names

* Fix export tests due to changes

* Add LocationData tests

* Remove old test file

* Change location marker and description, get rid of redundant markers as well (#250)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* change marker icon and description

* remove maps-clustering package

* Minor bug fixes in Share and Overlap features (#265)

* Create Settings screen

* Add navigation and translation for new screen

* Remove irrelevant components from Settings screen

* Add menu for authorities selection in Settings

* Add stylized button, FlatList bit to Settings

* Add styling to flatlist rows, add close icon

* Fix caps, add iterating menu off authorities obj

* Add add/remove data source functions

* Add translation variables and lines to Settings

* Fix menu icon color from purple to bluish grey

* Remove unnecessary whitespace in translation

* Prevent duplicates from authorities list

* Add custom URL input (all function)

* Add check for connection, let user know if error

* Now pulls authorities list from internet source

* Store user settings in async storage

* Hopefully fix the git mess that somehow happened?

* Fix delay bug in async settings storage

* Fix null settings bug on fresh install

* Delete macos_build.yml

* Delete CONTRIBUTING.md

* fixed syntax error in gj labels block on dev, languages.js (#318)

* Revert formatting changes

Co-authored-by: Sam Stowers <phantom4d@gmail.com>
Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>
Co-authored-by: Steve Penrod <steve@tripleblind.market>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>
Co-authored-by: Niels de Hoog <njdehoog@gmail.com>
Co-authored-by: Robert Gühne <robert@polyxostudios.de>
Co-authored-by: Tushar Dadlani <tushar-dadlani@users.noreply.github.com>
Co-authored-by: Sagar Manohar <code247@users.noreply.github.com>
Co-authored-by: Sagar Manohar <sagar.mohan.manohar@ibm.com>
Co-authored-by: Douglas Lara <douglasdelaras@gmail.com>
Co-authored-by: Greg Knaddison <greg.knaddison@gmail.com>
Co-authored-by: Tim Banks <thetimbanks@gmail.com>
Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: Harsh Vitra <jainharsh44@gmail.com>
Co-authored-by: Harsh Vitra <harshvitra@gmail.com>
Co-authored-by: Parth Pathak <39071878+pathakparth@users.noreply.github.com>
Co-authored-by: alpita-masurkar <alpita-masurkar@users.noreply.github.com>
Co-authored-by: Andy Nuzzo <36167533+andreanuzzo@users.noreply.github.com>
Co-authored-by: Nilay Kulkarni <typhoscientic@gmail.com>
Co-authored-by: Steve Penrod <github@gpll.org>

* Update Entry.js

* Fix merge issues (#330)

Co-authored-by: David Biga <davidbiga@users.noreply.github.com>
Co-authored-by: Steve Penrod <steve@tripleblind.market>
Co-authored-by: Kyle Corbitt <kyle@corbt.com>
Co-authored-by: Sam Stowers <phantom4d@gmail.com>
Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>
Co-authored-by: Niels de Hoog <njdehoog@gmail.com>
Co-authored-by: Robert Gühne <robert@polyxostudios.de>
Co-authored-by: Tushar Dadlani <tushar-dadlani@users.noreply.github.com>
Co-authored-by: Sagar Manohar <code247@users.noreply.github.com>
Co-authored-by: Sagar Manohar <sagar.mohan.manohar@ibm.com>
Co-authored-by: Douglas Lara <douglasdelaras@gmail.com>
Co-authored-by: Greg Knaddison <greg.knaddison@gmail.com>
Co-authored-by: Tim Banks <thetimbanks@gmail.com>
Co-authored-by: Rich Paret <623643+rparet@users.noreply.github.com>
Co-authored-by: Harsh Vitra <jainharsh44@gmail.com>
Co-authored-by: Harsh Vitra <harshvitra@gmail.com>
Co-authored-by: Parth Pathak <39071878+pathakparth@users.noreply.github.com>
Co-authored-by: alpita-masurkar <alpita-masurkar@users.noreply.github.com>
Co-authored-by: Andy Nuzzo <36167533+andreanuzzo@users.noreply.github.com>
Co-authored-by: Nilay Kulkarni <typhoscientic@gmail.com>
Co-authored-by: Steve Penrod <github@gpll.org>

* Fix issues which came with safepaths branch merge (#332)

* Add News, Import, Export buttons

* add new colors

* add positive and sensitive buttons

* change button color in the main menu

* Add Settings Screen - #150 (#160)

* Remove Additional Stop Location Recording

* Add Settings Screen

* Add Intersection of points download from authority (#165)

With this PR the app now:

* Contacts each authority URL once every 12 hours
* Downloads intersection data from that authority
* Runs a simple point intersection against it
* Saves the exposure results in the CROSSED_PATHS storage array
* Still several things to do for an MVP, then more to optimize:

Authority cannot be edited yet (in Settings)
* No display of CROSSED_PATHS
* Only results from one Authority are saved
* Improve overlap calculation accuracy
* Optimize the intersection calculation

* Fix export issue

* remove duplicated code

* revert to latest overlap text

Co-authored-by: David Biga <davidbiga@users.noreply.github.com>
Co-authored-by: Steve Penrod <steve@tripleblind.market>

* "Rebranding" from Private Kit to: COVID Safe Paths (#331)

Beginning the process of publicly being COVID Safe Paths

* Remove old "Check Overlap" functionality (#348)

Resolves #347

* Comment out the map functionality (button)
* Add extra padding for visual balance
* Renamed the Private Kit title to "COVID Safe Paths" so visual balance
  can be seen more clearly

* Reworking the UI for exposure notifications (#342)

Fix main menu (was missing Settings)

Notification screen cleanup
* Now only 14 days are shown
* Replaced "green" with "brown"
* Reworked the notifications and chart
* No longer lets you generate random data
* If no data, you are lead to the Settings page to select a Healthcare Authority

 ## Localization Notes ##

The Notification screen strings were all edited, several were added.  One is a
formatting string, so the {{daysAgo}} should NOT be translated.  Ask Steve if
you have questions.

* Make some hardcoded texts translatable (#329)

I found some texts lying around that were hardcoded and not under a translation key, so they were not translatable

I skipped `Welcome.js` because as far as I can tell it's not used anywhere (and could be deleted?)

Also, as a topic of discussion, maybe translations should all be in one flat json file?

- `app/locales/en/index.js` is going to keep growing without offering any real value
- It's not clear where a key is located, so you will have to check multiple files
- If one key is used twice, the latter will overwrite the former, which will be weird to debug for someone who is not familiar with how JS object destructuring works

* Merge fixes for the safepaths (#352)

* Update snapshots

* remove stale code

* merging #354

* ken wuz here - fixing unresolved

* V2 Redesign (#354)

* Changed font from OpenSans to IBMPlexSans

* launch screen

* design tweets

* figma

* permission request in onboarding page

* update initial screen

* broken pulse loader

* change icon

* animation fix for home screen

* remove unused files

* adding unknown & at risk UI states

* fix for android permissions

* clean up unused imports

* initial pass at integrating new UI/UX with location services

* delete unused screen

* fix android notif permission issue

* figmas

* testing bg image

* experimental UI

* fixed images in onboarding pages. fixed onboarding full screen for android

* Removing OpenSans from android app

* Changed the config for fonts

* Onboarding 1 fonts fixed

* Onboarding 2 fonts fixed

* Onboarding 3 fonts fixed

* Onboarding 4 fonts fixed

* Fonts changed for Onboarding 5

* Added class for fonts

* Button style chanegd

* remove unused css

* add empty settings screen

* add empty settings screen

* old settings for reference

* updating location logic

* documentation

* cleanup

* Fixed redux warning on pulse. Removed fontWeight constants. Cleaned up fonts on remaining screens.

* push on exposure risk - initial commit

* adding bottom sheet library

* temp hack for jp

* micro puck hack

* Added util class for checking platform and getting time. Removed fontWeights.

* copy changes

* Merge branch 'develop' into privateKitUIRefreshV2
* develop:

* splash screen for iOS

* added map screen.
getting current location for map.
basic bottom sheet.

* remove map hacks for now

* new app icon for iOS

* android app icon

* Add rn splash screen dep

* Adds a splash screen to android

* Add secondary splash screen

* Remove redundant comment

* Added new Settings screen

* new android icon

* new android icon

* Polished settings screen

* Fix black status bar on intermediate splash

* [Android] Prevent white flash after splash screen

* Starting About screen

* Added tap targets for all buttons in settings

* About page done, only icons to be added

* Dynamic routes

* Updated event listener logic on settings

* About icons added and fixed status bar

* Grey BG in About

* Using util method for platform check

* bg color

* Removing constant

* moved old screens to settings etcetc

* License page redesigned

* Cleaned up callbacks in settings

* fix missing navigation

* new export screen and fixed navigation

* Added NavigationBarWrapper component and cleaned up code in about,licenses,news,settings screens

* get location data from disk.
drawing line and circle for map.

* Fixed export on iOS

* fix choose provider screen

* Changed Import Locations

* Notifications page changed

* fix choose provider screen

* clean up settins

* fixed white flash on iOS start + fixed nav bugs

* remove bluetooth mention since not fully implemented yet

* cleanup

Co-authored-by: Sreekar <sreekar.bonam@gmail.com>
Co-authored-by: Jin <6530391+jin-stuff@users.noreply.github.com>
Co-authored-by: Harsh Vitra <harshvitra@gmail.com>
Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Merge translation strings into a single file (#356)

The translation scheme had a few downfalls:
* It was easy to create overlapped keys when the files were independent
* Translators had to manage multiple files, transmission was tricky
* Reviewers had to jump around, also.  Especially with global strings.

This merges them into a single file to solve those problems.

 ### Localization Notes ###
All of the language files can be mirrored off of this.  Given the major
UI changes, I think we really should throw away the old file and start 
from scratch on each language, unfortunately.

* android import fix #114 (#247)

* android import fix #114

* android import fix removed erroneous style #114

Co-authored-by: Nitin Pathak <Nitin.Pathak@ey.com>

* Change android launcher and app name (#358)

<img width="310" alt="Screen Shot 2020-04-05 at 12 06 33 PM" src="https://user-images.githubusercontent.com/702990/78507601-e5c3ae00-7735-11ea-8ac1-61ae7091c7b1.png">
<img width="309" alt="Screen Shot 2020-04-05 at 12 06 10 PM" src="https://user-images.githubusercontent.com/702990/78507609-eceabc00-7735-11ea-9bf5-2c259712b57c.png">

Short name for launcher, otherwise it says "COVID Sa.."

<img width="309" alt="Screen Shot 2020-04-05 at 12 06 19 PM" src="https://user-images.githubusercontent.com/702990/78507610-ef4d1600-7735-11ea-8192-b61be7d79572.png">

* Commit headline -- not longer than this line (50)

Longer change description.  Please keep text no longer than this line -------

 ### Testing Notes ###
Include instructions for reviewers to run tests related to this PR.

 ### Fixed Issues ###
NONE - Replace with description and/or associated Github issue
       numbers, e.g. Resolves #12 (will link to issue 12 automagically)

 ### Tech Notes ###
NONE - Explain new algorithms in detail, new utility classe, etc.

 ### Environment Notes ###
NONE - New package requirements, new files being written to disk, etc.

 ### Localization Notes ###
NONE - New or changed/renamed strings in localization files

* Add a .gitmessage template to the repo (#362)

* Commit headline -- not longer than this line (50)

Longer change description.  Please keep text no longer than this line -------

 ### Testing Notes ###
Include instructions for reviewers to run tests related to this PR.

 ### Fixed Issues ###
NONE - Replace with description and/or associated Github issue
       numbers, e.g. Resolves #12 (will link to issue 12 automagically)

 ### Tech Notes ###
NONE - Explain new algorithms in detail, new utility classe, etc.

 ### Environment Notes ###
NONE - New package requirements, new files being written to disk, etc.

 ### Localization Notes ###
NONE - New or changed/renamed strings in localization files

* Add a .gitmessage template to the repo

This is a good template for everyone to follow when filling out their commit
message.

 ### Testing Notes ###
Run dev_setup.sh (or manually do git config commit.template ./.gitmessage)

Now start a `git commit`.  The template should appear.

* Tweak the Licenses file to hold Legal in general (#361)

* Commit headline -- not longer than this line (50)

Longer change description.  Please keep text no longer than this line -------

 ### Testing Notes ###
Include instructions for reviewers to run tests related to this PR.

 ### Fixed Issues ###
NONE - Replace with description and/or associated Github issue
       numbers, e.g. Resolves #12 (will link to issue 12 automagically)

 ### Tech Notes ###
NONE - Explain new algorithms in detail, new utility classe, etc.

 ### Environment Notes ###
NONE - New package requirements, new files being written to disk, etc.

 ### Localization Notes ###
NONE - New or changed/renamed strings in localization files

* Tweak the Licenses file to hold Legal in general

Repurposed the "License" screen to be general Legal info.  This will include
Term of Use/Service, Licenses for other components, etc.

 ### Testing Notes ###
Open the "Legal" page on the secondary screen menu.

 ### Environment Notes ###
This adds a new "legal_page_title" item

* Start of news from Healthcare Authorities (#366)

* Start of news from Healthcare Authorities

When you subscribe to a Healthcare Authority, it should show a webpage
from that authority in the web view.  Since an individual might be
interested in multiple Healthcare Authorities, this should support having
multiple news pages.

This implementation uses a swiper with a titlebar that displays the
healthcare authority name.  The last entry should always be the
Safe Paths default page.

* Updated News Switcher

* News with new UI

* Tweak look to match the new UI

Minor changes to the padding, sizes and colors to match the new
UI elements.

* Internationalization of the URL

* Remove translation for now (will do after merge)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Add locale picker, Haitian Creole translation (#367)

Add a language picker on the first screen of the Welcome sequence.  This
allows nonstandard languages to be easily selected.

This is based on #355 by @StartupSam, but merged into the new UI

 ### Testing Notes ###
Start the welcome sequence after startup.  Select Haitian Creole (Angajman)

 ### Localization Notes ###
This adds Haitian Creole from Gerald

* Fix the tests with all the UI changes (#369)

* update tests

* update tests after the merge with develop

* Enforce Yarn, remove npm lock (#240)

* Mock splash screen to fix unit-test (#372)

* Fix small typo in dev_setup.sh (#364)

Signed-off-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* Make develop green, improve unit tests (#370)

* Reduce errors in react-native-permissions mock

* Add @testing-library/react-native fix async in news test

* Better async for Licenses

* App.spec.js with better async handling

* Update snaps for LocationTracking with better async

* Upgrade react-native-snap-carousel to remove deprecation warning

* Silence YellowBox useNativeDriver warning

* Add comment

* Move react-native-permissions mock to single place

* whitespace only

* Use a faster node environment

* Remove inline splashscreen mock, use __mocks__ version

* Disable matrix for now

* Use node 13 for now

* skip location tracking to get CI working

* Link issue to .skip

* Rename to Jest Test Runner -> Unit test

* Speeeeed! use node 12 for now

* Final wording tweaks for the MVP (#376)

* Final wording tweaks for the MVP

This incorporates quite a few text tweaks for the MVP version of
Safe Paths.  Other UI tweaks:
* Exposure graphs is now all a single redish shade
* Extracted a few strings that were embedded
* Corrected mismatches of color and style on a few screens
* Connected the button on the You've Been Exposed screen to Exposure History
* Removed some "demo" code from the Exposure screen

*

* Updating jest tests

* Add v2 UI styled locale picker (was #368) (#377)

* Add locale picker, Haitian Creole translation

Add a language picker on the first screen of the Welcome sequence.  This
allows nonstandard languages to be easily selected.

This is based on #355 by @StartupSam, but merged into the new UI

 ### Testing Notes ###
Start the welcome sequence after startup.  Select Haitian Creole (Angajman)

 ### Localization Notes ###
This adds Haitian Creole from Gerald

* Style lang pickers to match new v2 design

* Tweak padding to get closer to Figma design

* Fix touchable being blocked on ios

* Add layout+styles to iOS locale picker

* Fix broken Android styles from last commit

* Start of news from Healthcare Authorities (#366)

* Start of news from Healthcare Authorities

When you subscribe to a Healthcare Authority, it should show a webpage
from that authority in the web view.  Since an individual might be
interested in multiple Healthcare Authorities, this should support having
multiple news pages.

This implementation uses a swiper with a titlebar that displays the
healthcare authority name.  The last entry should always be the
Safe Paths default page.

* Updated News Switcher

* News with new UI

* Tweak look to match the new UI

Minor changes to the padding, sizes and colors to match the new
UI elements.

* Internationalization of the URL

* Remove translation for now (will do after merge)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>

* Fix the tests with all the UI changes (#369)

* update tests

* update tests after the merge with develop

* Enforce Yarn, remove npm lock (#240)

* Mock splash screen to fix unit-test (#372)

* Fix small typo in dev_setup.sh (#364)

Signed-off-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* Make develop green, improve unit tests (#370)

* Reduce errors in react-native-permissions mock

* Add @testing-library/react-native fix async in news test

* Better async for Licenses

* App.spec.js with better async handling

* Update snaps for LocationTracking with better async

* Upgrade react-native-snap-carousel to remove deprecation warning

* Silence YellowBox useNativeDriver warning

* Add comment

* Move react-native-permissions mock to single place

* whitespace only

* Use a faster node environment

* Remove inline splashscreen mock, use __mocks__ version

* Disable matrix for now

* Use node 13 for now

* skip location tracking to get CI working

* Link issue to .skip

* Rename to Jest Test Runner -> Unit test

* Speeeeed! use node 12 for now

* Final wording tweaks for the MVP (#376)

* Final wording tweaks for the MVP

This incorporates quite a few text tweaks for the MVP version of
Safe Paths.  Other UI tweaks:
* Exposure graphs is now all a single redish shade
* Extracted a few strings that were embedded
* Corrected mismatches of color and style on a few screens
* Connected the button on the You've Been Exposed screen to Exposure History
* Removed some "demo" code from the Exposure screen

*

* Updating jest tests

Co-authored-by: Sam Stowers <phantom4d@gmail.com>
Co-authored-by: Harsh Vitra <harshvitra@gmail.com>
Co-authored-by: Abhishek Singh <abhi24@mit.edu>
Co-authored-by: Parth Pathak <39071878+pathakparth@users.noreply.github.com>
Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Separate and parallelize builds, build APK for easy testing (#359)

* Build debug apk for easier PR testing

* Give it a name

* Allow format of github workflows

* fix indent on workflow

* try simplified ubunt build

* baby steps

* use correct branch

* install deps

* Try jetify

* jetify on postinstall, not as manual step

* Bundle the non-metro debug js

* npx react-native

* change the zip name

* Rename artifact

* Streamline apk builder

* Rename and streamline ios builder

* remove dep

* reformat

* more ios tweak

* rename build-apk to build-android

* ios pwd

* Streamline ios build

* cache deps!

* Better name for cache deps

* Shorter name for android

* Change Export directory path for iOS (#383)

`MainBundlePath` directory is not writable on iOS and hence we should use `DocumentDirectoryPath` 
This was fixed in a previous PR but got lost in merges somehow!

* Update android launcher icon (#386)

<img width="310" alt="Screen Shot 2020-04-07 at 6 11 20 PM" src="https://user-images.githubusercontent.com/702990/78734090-2836e780-78fc-11ea-8152-ed4ab08d6fee.png">

Redo with latest icon of #382

* CI: Automatically Generating a GitHub Release with APK and AAB files on new Tag.  (#303)

* Update README.md

* Update README.md

* Adding GitHub Action to create a release file

* Reverting Readme Bluetooth description.

* Testing on all commits

* Removing working directory from signing

* Testing with Debug First.

* Checking if release build configs were the bug we see in GitHub Actions

* Fixing Release watch files issue.

* moving the Debug Build.

* cleaning before bundle.

* Maybe bundling was the issue.

* Fixing the directory of the AAB

* Activating by Release Tag.

* id fixes.

* Fixing path

* Fixing APK Filenames

* Location saving at proper rate; disable bluetooth (#389)

* disable turning on bluetooth for v1

* Add minimum acceptable update time to avoid flooding the log
Add maximum backfill time to avoid excessive backfills
Added checks for faster than expected updates
Fixed logic around backfills

Co-authored-by: Ken Pugsley <>

* v0.5.12 (#395)

* Update README.md

* Update README.md

* Reverting Readme Bluetooth description.

* Fixing Release watch files issue.

* 0.5.12

* Weird rebasing issues duplicated code.

* Chancing version on the test files

* Speed up GitHub build actions with caching (#397)

* Cache CocoaPod install

* Group pods into single location

* Cache gradle

* disable gradle daemon, no benefit

* verbose js builds

* reserve new cache key, old one got corrupted

* Cache gradle in the release.yml

* Podfile auto updated

* cache correct ios/Pods dir!

* CI: Signing APK on Release Tag (#399)

* Update README.md

* Update README.md

* Reverting Readme Bluetooth description.

* Fixing Release watch files issue.

* 0.5.12

* Weird rebasing issues duplicated code.

* Chancing version on the test files

* Activating signatures on the APK as well.

* Using the correct file name

* [iOS] Rename app on screen to Safe Paths (#402)

* Version bump 0.9.0 (#404)

* 0.9.0

* 0.9.0

* adding the licenses snapshot

Co-authored-by: Ken Pugsley <>

* Add Settings view base snapshot test (#406)

* Update iOS icon (#409)

* Update iOS icons

* Update splash bg image

* Update splash logo

* Revert "Update splash logo"

This reverts commit 10c4c1e1caec2d26077801148a8b38e9d32fe965.

* Revert "Update splash bg image"

This reverts commit 432d03cf57cd6268cbea8ed1cf4723d1ea55f49d.

* [Android] White splashscreen with new logo (#405)

* [Android] White splashscreen with new logo

* Shift text lower

* revert to match_parent (fill is deprecated)

* Fixed padding

* Small spelling fixes in README (#411)

-   Changes the single instance of "data never leaves users' devices"
    to "Data never leaves user's device" to bring it more in line with
    the same phrase elsewhere in the readme.
-   "found" not "round"
-   "Failed to load bundle - Could not connect to development server" is
    word for word what you would see in the console as an error and
    should be monospaced.

* clean up BackgroundGeolocation configuration and start/stop (#412)

LocationService.js
- Clean up variable name for internal configuration, and when it's set.
- remove unused variable from .stop() method

LocationTracking.js
- Moved LocationService start() and stop() calls to ensure the location service gets enabled or disabled appropriately if a user changes location permissions

* Changes based on Mayo feedback (#414)

* Change the URL to point to covidsafepaths.org

* Merging changes

* Changes based on Mayo feedback

Several fairly minor changes based on feedback from Mayo
* Soften the "You've been exposed" language, change the icon from red to yellow
* Add a link to the Mayo covid website on the main webpage
* Add a Terms of Use link on the Legal page
* Add What to Do Next? text on the Exposure History page
* New graphics assets for linking, plus removed unused graphic assets

* Updating the UI tests

* rev to v0.9.1 (#415)

* 0.9.1

* unit test snapshot

Co-authored-by: Ken Pugsley <>

* Build stability fixes and tweaks (#420)

* Increase file watchers in Android build

* Streamline iOS pod install

* naming tweaks

* Add helper for i18n extraction (#419)

* Add i18next-parser

* Fix some non-extractable strings

* Ignore some plural issues in certain languages (temp)

* rename english.json

* update npm command

* bump down one key in i18n config

* merge ca locale

* merge cs local

* merge and sort all remaining translation files

* import the index.json directly

* sort english keys

* Do all languages

* sort all trans files

* Remove unused translations

* don't commit translation _old.json files

* Fixed trans message in settings

* Update instructions on translatios

* Missed some more translations for extraction

* Revert "Remove unused translations"

This reverts commit 74c8169d3a3a3b549f5474e4a626b4387ba4306d.

* Don't commit _old.json files

* Re extract all messages, got some missing keys

* rename locale files

* change locale location

* Move locale json files

* Remove incomplete translations, leave ht

* update ignore for locales

* remove available languages list

* Only extract for en, ht

* iOS splash screen update (#417)

* Add IBMPlexMono font

* Update LaunchScreen Logo & Background

Co-authored-by: Christos Pappas <christos.pappas@gmail.com>

* Rename repo urls in contributing docs (#424)

Change private-kit -> covid-safe-paths string

* Add jest config to .eslintrc.json (#426)

Signed-off-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* Clean up unused styles and variables (#413)

* Extract some reused variables to consts (#393)

Co-authored-by: Dzianis Papakul <denis.papakul@designit.com>
Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Fix i18n string extraction bug (#427)

* Add a lint checker on PRs (#421)

* Lint files on PR creation

* lint-diff to eslint only changed lines

* try a different one

* lint-diff to eslint only changed lines

* lint only changed files

* test

* remove the hack

* use lint-diff

* prettier

* also on push

* change action sub name

* use node modules bin

* some debugging

* jetifier

* try origin/develop

* Remove lint problems

* Exact location distance calculation for intersect and backfill (#422)

* Rename workflows so they're clear in settings (#431)

* Ignore auto-generated jetifier json file (#428)

* Migrate intersection logic into background service (#378)

* code for intersection in background service

* debug

* fix the sorting scheme

* fix the wrong key used for healthcare authorities

* Add stop call for the background task service

* Add iOS permissions for Background fetch

* fix merge conflicts

* Fix the false alarm created by daybins

* Update snapshot and fix minor bugs

* Add compatibility for older ios versions

* update Podfile

* Fix the lint errors

* move intersect code

* Refine Exposure notification screen and minor errors (#436)

The main Exposure screen has a significant amount of text.  In order to fit
it comfortably on the screen, it makes sense to take advantage of moving
the text above the central warning icon.  Additonally the subtext balances
it nicely.

This also fixes several coding errors:
* Missing {} on imported function
* Missing "let" for a temporary variable
* Add error check for an undefined array, which happens at first startup

* replace npm with yarn in dev setup scripts (#438)

Co-authored-by: Liz Falkner <lizfalkner@Lizs-MBP.home>

* Italian translation by Andy Nuzzo (#441)

* Update Cocoapods Provisioning (#440)

Co-authored-by: Liz Falkner <lizfalkner@Lizs-MBP.home>
Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Adjust text vertical centering around pulse (#466)

* Final removal of Private Kit (leaving only attributions) (#465)

* pass 1

* pass 2

* pass 3

* rewording of the location and accelerometer permission descriptions.

* remove eclipse specific files

Co-authored-by: Ken Pugsley <>

* Version bump to 0.9.2 (#482)

* 0.9.2

* version bump on licenses test

Co-authored-by: Ken Pugsley <>

* Fix typo "procceed" to "proceed" (#485)

Simple typo in the Healthcare Authorities dialogs.

* Consolidate .github/.github folder (#478)

* Minor readme fixes (#488)

* minor changes to clean up the procedures
app preview update

* image resize

* proofreading

* more proofing

* cap A

Co-authored-by: Ken Pugsley <>

* Auto sort import statements with Prettier (#480)

* Configure Android to use singleTask launchMode (#501)

* Spanish Translation from Miquel Vila Porte (#491)

* Remove hardcoded link to Haitian health authority (#499)

The News page had a hardcoded "Haitian Ministry of Health" entry.  That has
been removed.  Also cleaned up a few other things:
* Removed some console.log() messages
* Added several variables to the storage.js list (if we are going to do that,
  we should do it everywhere).
* Fixed the AUTHORITY_NEWS population (it was always serializing an empty list)
* Add/Remove of a Healthcare Authority now kicks off an intersect calc
  immediately.  This also updates the links to News, etc (but it can take a
  few seconds to complete in the background).

* Android StatusBar transparency fix (#497)

* Italian i18n updates from @andreanuzzo, @diarmidmackenzie (#498)

* Feature/cn-language (#493)

Co-authored-by: Ernie <g41903@gmail.com>
Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Russian Translation by Ksenia Lukacher (#479)

* Notify "Location tracking was disabled" on Android (#503)

* Add French translation (#490)

* Move Google import block, disable for release builds (#505)

Disabled with "Coming soon" until #410 is merged

* Event history UX update (#467)

* Install emotion

* Refactor screens

* Set moment locale to device or override locale

* Add moment-range

* Extract some i18n text, change scrolling area

* Add month grid

* Show today on calendar view

* Remove some cruft

* Add some tests

* Change the CTA on main screen

* update snaps

* Use emotion themeing for better themeyness

* &apos; => '

* revert prettier change

* Add monospace option

* Updated Docs

* Use enum

* Use date instead of daysAgo for better testing

* Export fn

* moment -> dayjs

* headline3 style

* Revert color change

* Add MonthGrid tests

* More tests

* Added docs for Typography and Theme

* Typography tests

* Theme tests

* mono -> monochrome theme

* dar -> charcoal, main -> default, inverted -> violet

* Fix yarn.lock

* Remove timeline heading

* Add legend below calendar

* Mock date more properly

* fix broken test

* DataCircle tests

* Handle no history

* Be more theme aware

* NavBar is now theme aware

* calendar view padding change

* Update snapshots

* Show today's risk if known

* do not switch title on expose/no known

* Show possible risk more important than "today"

* Use theme background in nav wrapper, if present

* Add month title

* Update snaps for day circles

* revert bg color which breaks animations

* Clarify i18n

* Show green above today, if mins is 0

* Add snap tests for orange/green being higher prio than today

* Fix usage of URL from a Healthcare Authority (#507)

* Fix usage of URL from a Healthcare Authority

The webview was using the wrong name for the webview ("url" instead of
"news_url").

* Update yarn tests

* Update Haitian translation (#502)

* Simple tests for dev_setup.sh on ubuntu and mac (#481)

* Backport workflows to release-candidate and master (#514)

* Shifted device info from Legal page to About page (#506)

Co-authored-by: Harsh Vitra <harshvitra@gmail.com>
Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Add Language translation for Indonesian (#519)

Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Vietnamese translation (#524)

* Patch for android restart bug in react-native-background-geolocation (#526)

* xcode changes for new bundle id and correct team (#533)

Co-authored-by: Ken Pugsley <>

* 0.9.4 (#534)

Co-authored-by: Ken Pugsley <>

* Malayalam translation from @saranyaharidas (#531)

Co-authored-by: Saranya Haridas <saranya.haridas@gds.ey.com>

* Slovak translation from Aneta Laukova (#537)

* bump the versionCodes to what they should have been for 0.9.4 (#544)

* Haitian language update (#525)

* Minor fixes to issue/pr templates (#542)

* Don't translate the default news URL (#538)

* Move java files to correct path (#541)

* No translation for Mayo clinic link (#539)

* Remove inaccessible Overlap/Map screens and dependencies (#540)

* English: carrythe -> carry the (#553)

Co-authored-by: Jay Summet <summetj@gatech.edu>

* Update Italian translation (#550)

* Add repo in CONTRIBUTING.md (#554)

Co-authored-by: Jay Summet <summetj@gatech.edu>

* Use COVID-19 and not COVID19 (#552)

* New Slovak translation messages from Aneta (#551)

* Add location tracking toggle and language picker to Settings screen (#549)

* Allow vscode to type hint jest global (#556)

* Fix iOS/Android font discrepencies (#546)

* Refactor settings styles (#555)

* Update android splash text to "Safe Paths" (#560)

* Update iOS splash text to "Safe Paths" (#562)

* Making COVID-19 consistent on all screens (#565)

* Romanian Translation (#545)

* Add a debug mode for intersections (#437)

Added the ability to enter a "debug" mode where an artificial intersection is
created.  This happens by:
* Going to the About screen
* Tapping on the Team icon 4 times
* You can also return and tap 4 more times to toggle.

When in this debug mode, faux intersection data is placed in the crossing
arrays.  This will either clear automatically during the 12-hour calculation,
or can be cleared by the tester by returning to the About box and repeating
the 4-tap.

* [iOS] End to end tests w/ Detox (#567)

* update italian localization (#576)

Co-authored-by: Matteo Crippa <matteocrippa@githubusers.com>

* Fix intersect to handle multiple authorities (#529)

* same intersect code as RC

* adding a TODO to implement more scalable processing

* add unit tests.  Lots of minor fixes for edge cases

* update to ExposureHistory to account for bins having exposure time in ms

* update debug mode for mins in millis, as well as sprinkling in a few no-data days

* bring debug mode in alignment on max exposure window constant

* wip

* change bin logic to handle DST change, update tests

* fix disableDebug mode

Co-authored-by: Ken Pugsley <>

* Improve Google Location Data import experience (#410)

* Translate platform (iOS, Android) strings (#578)

* Add e2e test + screenshots for iPhone SE (#586)

* Fix incorrect intersect function import (#575)

Signed-off-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* FR locale update (#591)

* Dutch translation (#590)

Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Polish translation from Ilona Dyńska (#573)

* Device locale / user override separation (#571)

* [i18n] Upload strings to Lokalise, when merged into develop (#592)

* Set returnEmptyString to false (#597)

* Fix some yellow box warnings (#598)

* Tweaks to better support small screens (#577)

* Tweaks to better support small screens

This fixes issues on phone screens as small as 320 pixels wide in various
parts of the application.
* Navigation bar text was too long (even in English) under the Choose Health Authority.
  When the screen width is < 400 pixels the font-size begins to scale.  It also has enforced
  horizontal padding to prevent overlap with the back arrow -- text will now wrap instead of
  overlap.  This change also helps with some translations which make it even longer.
* The Exposure History legend was too long.  I truncated the text "No exposure" to
  "No known" and the "Possible Exposure" to just "Possible"
* The "Choose health authority" screen description text was being truncated.  I changed
  the flex size of the list below it form 3 to 1 and tweaked the font size.  This
  comfortably shows two entries even on a 320x533 screen in the emulator before that list
  requires scrolling, which will probably account for 90%+ of the use cases.
* Slightly shrank the text in the News title for each webview and centered it so it looks
  better if it wraps.

 ## Technical Notes ##
It seems like modifying Typography.js to scale might be a good idea, but I didn't want to
go that big with this PR.

 ## Translation Notes ##
The text for the two entries "Possible exposure" and "No exposure" have changed.  It is
important that those along with "No data" are kept very short, as they appear side-by-side.
For example, the current Kreole translation for "No data" is "Pa gen okenn done" and
gets cut off even with the short English labels for the other two.

* Getting the "Steve" out

Debugging message slipped in.

* Remove test code left in accidentally

* Bug/fix spurious linking errors yarn install (#596)

* Refactor NativePicker, detect device language better (#557)

* Stop lint-diff on master, fails always (#600)

* Enable Google import button in all builds (#599)

* Add Arabic Language + Right to left App behavior (#581)

* Add yarn start, run-ios, run-android scripts (#558)

* 0.9.5 (#604)

Co-authored-by: Ken Pugsley <>

* A few small doc tweaks & grammar fixes (#616)

* A few small documentation tweaks to fix grammar mistakes and make things more readable

* Additional edit suggested in PR

Co-authored-by: Ian Varley <ivarley@ivarley-ltm2.internal.salesforce.com>

* Use the useTranslation hook in all functional components (#595)

* Text crop issue on onboarding screens 2,3 & 4 (#627)

* Add scroll view to import screen (#640)

* Fix missing settings icon on iOS 12.0.x (#643)

* Fix white background on choose provider screen (#624)

* Revert "Fix missing settings icon on iOS 12.0.x (#643)" (#650)

This reverts commit 73a33d13c6b616e186dfbec4b21e6384b63930c5.

* Disable google import on release builds (#651)

* Fix settings locale override storage (#649)

* Suggest screenshots and fixed issues in PR template (#637)

* Temporarily filter out extra languages in release mode (#654)

* Lokalise: Translations update (ht) (#655)

* Lokalise: updates

* Fix up Lokalise discrepancy manually

* Fix languages specific for history page (#628)

* Add yaml file for version checking (#658)

* Add yaml file for version checking

* Fix typo

* Add healthcare selection to onboarding flow (#657)

Signed-off-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
Co-authored-by: Mihail Lemeza <darkerthanblackoff@gmail.com>
Co-authored-by: Tim Stirrat <tim.stirrat@gmail.com>

* Add version check service (#653)

* Add version check service

* Update app/locales/en.json

Co-Authored-By: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* Update store links

* Fix tests

* Yaml support

* Update link to yaml file

Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>

* Change naming in yaml, change yaml link (#661)

* change to rawcdn for the versions.yaml file (#662)

Co-authored-by: Ken Pugsley <>

* Add an EULA to the onboarding process (#638)

## Description

Actual EULA text still needed, but the UI for everything is implemented - screenshots attached below.

## How to test

Only tested on one resolution on Android, so making sure things behave as expected on other devices (especially high resolution devices and iPhones) would be helpful.

## Screenshots
![Screenshot from 2020-04-22 15-39-18](https://user-images.githubusercontent.com/6233577/80032551-f6538280-84b0-11ea-8072-db03950eaac1.png)
![Screenshot from 2020-04-22 15-42-14](https://user-images.githubusercontent.com/6233577/80032564-f8b5dc80-84b0-11ea-9f83-0f266e51fa1f.png)

* Add in a 6 hour time period between notifications (#665)

* add in a 6 hour time period between notifications

* oopsie... left a tracking variable.  fixed.

* comment fix

* force the retrieved unix time to be a number, also more sensical log

Co-authored-by: Ken Pugsley <>

* Polish the EULA (#666)

Several changes to make the EULA palatable:
* Reduced the indents in the HTML with inline CSS
* Reduced…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants