Releases: e-mission/e-mission-data-collection
Location permissions rework
Created a new location permissions flow to make it easier for users. This change involved sending the user to a different location settings screen, creating helpful popups that explain to the user what needs to be done, and incorporated more meaningful error messages.
New battery optimization request permissions popup
Integrated the REQUEST_IGNORE_BATTERY_OPTIMIZATIONS permission so that users will just get a pop up now asking them to turn off battery optimization instead of having to go dig through their settings as per issue e-mission/e-mission-docs#980.
🔥 Remove workaround to set the API version to 32
In android 10, the cordova team removed support for compileSdkVersion
. However, in order to support auto-reset of permissions, we needed to use a later SDK than the target.
After filing an issue in the cordova-android repo, we added this grade file as a workaround. However, they have now reintroduced it in android 11 and our compile and target SDKs have caught up anyway
So we can remove the workaround.
More detail at:
e-mission/e-mission-phone#1016 (comment)
🚸 Make sure that the error message is positive
per feedback from program admin
My point is if the text in the first screen shot that you show is under your
control to message out, don’t call it an “incorrect app setting”, call it a
“Google update, so please fix your settings!”, just something that lets them
know positively that it isn’t something wrong with the app. Make the messaging
positive!
We don't really know that this is due to a Google update; it could also be due
to the user going into the settings at any time and changing them. But let's at
least change the messaging to be positive.
Corresponds to
e-mission/e-mission-phone@74217af
Not bumping up the plugin.xml since I don't want to go through the effort of
making a new release just for this change. Instead, we will incorporate it in
the next release (which should be the initial bluetooth integration).
Enable OPGeofence by default
What's Changed
- Enable OPGeofence by default by @shankari in #203
- Fix minor typo in source code by @shankari in #204
Full Changelog: v1.7.6...v1.7.7
Basic modifications for the upgrade to API 32
What's Changed
Full Changelog: v1.7.5...v1.7.6
Support simplifying auth to only support tokens
What's Changed
Full Changelog: v1.7.4...v1.7.5
Experiment with a custom implementation of geofencing
Custom implementation summary:
- Listen to activity transition
- if not walking, generate geofence exit
- if walking, check whether the location is INSIDE or OUTSIDE the previous geofence using balanced accuracy
- if OUTSIDE, exit geofence
- if INSIDE, schedule another check a minute later
- if UNKNOWN, retry with high accuracy
New files:
OPGeofenceExitActivityActions.java
to stop and start the geofence trackingOPGeofenceExitActivityIntentService.java
to listen to the activity transitions and handle both walk and non-walk initial checksOPGeofenceWalkExitWorker.java
to handle scheduling the delayed checks
More detail in e-mission/e-mission-docs#774
Related PR: #200
Ensure that a successful onboarding results in a WAITING_FOR_TRIP_START state
- minor fixes to the onboarding process to ensure that:
- we wait for the consent before initializing the FSM
- restore app status check on app launch (aka plugin init)
PR: #199
commits:
- Fix start state issue by ensuring that we restart the FSM if in start state (348ee9e)
- Defer tracking initialization until the user has consented (be9bf5d)
- Ignore permission errors in the background checker unless the user has consented (b75c399)
- Add checkAppStatus call after background instantiation of the state machine (15dc7f7)