* Initial pass on notifications support
* Linting and Dep updates.
* Basic Notification Support complete.
* Fix onboarding flow and test compile issue.
* Fix unit tests
* Bump tool versions.
* All tests pass... Need to clean up still.
* Using correct mockk features.
* Using correct mockk features everywhere.
* More test fixes.
* Fixed bug where ACCESS_BACKGROUND_LOCATION was used below API level 29. Removed ACCESS_COARSE_LOCATION permission since it has no purpose when ACCESS_FINE_LOCATION is used.
* Added a more generic validatePermissions to PermissionManager and renamed haveLocationPermissions to hasLocationPermissions.
* Initial work on zone based location tracking.
* Tests and enhancements.
* Fix unit tests.
* Fix test cases.
* Initial location preferences work.
* Location settings now function will requests for permissions when needed.
* ktlink formatting.
* Domain tests.
* Data tests
* Extract strings into resources.
* Remove translations until Lokalise SDK is added back.
Failing lint
* Update wording.
* Add icons and toolbar.
* Coloring the settings.
* Logout the use when revokeExternalAuth is called
* callback even if onGetExternalAuth failed
* Add http log
* Open on boarding activity when logout
* fix revoke token field name
* Initial work on integrating the mobile_app component.
* Tests because even if I don't like to write them, I probably should.
* Remove unused dependency for now.
* Fix view related PR comments, migrate to view flipper to make more
consistent with other UI.
* Migrate from error handling at Repository to Presenter for Integration.
* Extract register device data class.
* Extract the mapping of DeviceRegistration to RegisterDeviceRequest.
* Extract ensuring we have a valid, refreshed session.
* Unique localStorage per usage to avoid name collision.
* extract dependencies
* Update test command and add lint
* Move Retrofit into data module and test authentication service
* Implement authorization repository
* Implementation authentication usecase
* Implementation presenter layer
* Remove old session stuff
* Java time backport
* Dependency with dagger
* Update gitignore
* Remove idea file
* Remove fcm
* Remove test folder
* Clear resources
* Create onboarding activity
* Discovery fragment
* Manual setup fragment
* Authentication fragment
* WebView Activity
* Handle back press
* Save session
* refresh token
* Settings activity
* Clear read me
* Use JSONObject to serialize json.
Check token each time the frontend hit getExternalAuth
Use Android client id