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

Location Issues fix FROM #109 #127

Merged
merged 4 commits into from
Mar 20, 2020
Merged

Location Issues fix FROM #109 #127

merged 4 commits into from
Mar 20, 2020

Conversation

davidbiga
Copy link
Contributor

remove motiontracker requirement; Fixes #89
adjust location params;
backfill stationary points; Fixes #94, Fixes #74

NOTE -

Speed at which location callback is happening is slightly inconsistent.

Copy link
Contributor

@rparet rparet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@davidbiga davidbiga merged commit 6c373e5 into develop Mar 20, 2020
@davidbiga davidbiga deleted the asingh/location-fix branch March 20, 2020 13:42
SamMakesThings pushed a commit to SamMakesThings/private-kit that referenced this pull request Mar 22, 2020
* 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>
davidbiga added a commit that referenced this pull request Mar 22, 2020
…ocationTracking.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>
jgrainger-745 pushed a commit to jgrainger-745/private-kit that referenced this pull request Apr 1, 2020
* 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>
jgrainger-745 pushed a commit to jgrainger-745/private-kit that referenced this pull request Apr 1, 2020
…ocationTracking.js) (Path-Check#142)

* Update README

* Add modal menu for licenses to main screen

* Share action (Path-Check#28)

* Refactoring the copy-pasted buttons styles. (Path-Check#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) (Path-Check#30)

* New Icon pack. (Path-Check#32)

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

* UI Tweaking and changed News URL (Path-Check#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 (Path-Check#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 (Path-Check#36)

* LocationServices Refactor (Path-Check#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. (Path-Check#39)

* Add file based sharing (Path-Check#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) (Path-Check#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) (Path-Check#41)

lgtm

* Add helper scripts and update help messages (Path-Check#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 (Path-Check#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 (Path-Check#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 (Path-Check#44)

Importing Google Location History
Exporting functions

* add whatsapp group for tech people (Path-Check#46)

* Updating README

* Initialize .github files (Path-Check#48)

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

* Bugfix for v0.5 (Path-Check#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 Path-Check#37 (Path-Check#55)

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

* Add point count info, assists in debugging (Path-Check#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 (Path-Check#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 (Path-Check#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 (Path-Check#61)

* Add missing notifications for Location Services (Path-Check#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 (Path-Check#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. (Path-Check#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.  (Path-Check#76)

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

* Version 0.5.1

* Feature/new ui (Path-Check#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 (Path-Check#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 (Path-Check#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 (Path-Check#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 (Path-Check#81, Path-Check#90)

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

* Fix Notification Issue (Path-Check#115)

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

* Cleanup onboarding (Path-Check#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 (Path-Check#103)

* Update README

* Local push notifications (Path-Check#99)

* Update LocationService + Add Local Push Noticications

* Remove key

* Update binaries

* Add Button resource from react-native

* Change optOut

* Remove Additional Stop Location Recording (Path-Check#117)

* Multilingual support (Path-Check#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 Path-Check#109 (Path-Check#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 (Path-Check#128)

* Refine message in README (Path-Check#126)

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

* Version 0.5.3 (Path-Check#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 (Path-Check#81, Path-Check#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 (Path-Check#116)

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

* Minor Typo Fix (Path-Check#132)


* fixed typo

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

* Update README.md (Path-Check#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 (Path-Check#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>
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…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants