-
Notifications
You must be signed in to change notification settings - Fork 307
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
Fix #875 - Implement user opt-in travel behavior data collection #988
Fix #875 - Implement user opt-in travel behavior data collection #988
Conversation
onebusaway-android/src/main/java/org/onebusaway/android/app/Application.java
Show resolved
Hide resolved
...saway-android/src/main/java/org/onebusaway/android/travelbehavior/TravelBehaviorManager.java
Show resolved
Hide resolved
// then do not create a new object | ||
// However, every time the above method is called, the application stops receiving | ||
// activity transitions | ||
// TODO: figure out the problem described above |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just flagging TODO statement here
...saway-android/src/main/java/org/onebusaway/android/travelbehavior/TravelBehaviorManager.java
Show resolved
Hide resolved
be1a67a
to
a31ae6f
Compare
@barbeau Implemented the destination reminder feature. It looks like this on Firebase: |
...saway-android/src/main/java/org/onebusaway/android/travelbehavior/TravelBehaviorManager.java
Show resolved
Hide resolved
@cagryInside Destination reminder data looks good, although we do need to add |
a31ae6f
to
edf4e7b
Compare
@barbeau I implemented a global switch in the OBARegions api. Also, add a switch on preferences: |
edf4e7b
to
a3b8b42
Compare
9b300d5
to
74ada98
Compare
onebusaway-android/src/main/java/org/onebusaway/android/ui/HomeActivity.java
Outdated
Show resolved
Hide resolved
onebusaway-android/src/main/java/org/onebusaway/android/ui/HomeActivity.java
Outdated
Show resolved
Hide resolved
@barbeau Implemented device information feature as we discussed. The data look like this on Firebase: |
...way-android/src/main/java/org/onebusaway/android/travelbehavior/model/DeviceInformation.java
Show resolved
Hide resolved
… collection feature Fix OneBusAway#990 - Interpret alert end time of 0 as unending alert Fix OneBusAway#976 Resolve Guava version conflicts in Embedded Social Fix OneBusAway#943 Workaround for String.isEmpty() being broken in newer versions of Gradle WIP Fix OneBusAway#875 - User-travel-behavior - Implement ignore battery optimizations feature User-travel-behavior - Implement storing device information
3add9e8
to
16c0cac
Compare
...d/src/main/java/org/onebusaway/android/travelbehavior/constants/TravelBehaviorConstants.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/onebusaway/android/travelbehavior/receiver/TransitionBroadcastReceiver.java
Outdated
Show resolved
Hide resolved
Also code cleanup
...rc/main/java/org/onebusaway/android/travelbehavior/receiver/TransitionBroadcastReceiver.java
Show resolved
Hide resolved
...y-android/src/main/java/org/onebusaway/android/travelbehavior/utils/TravelBehaviorUtils.java
Show resolved
Hide resolved
@cagryInside Something seems to have broken initial application installation and startup in the latest set of changes. If I do a fresh install and grant the location permission, nothing happens - I just stare at the world map. If I kill the app and restart it, then the normal startup process continues. So it looks like something is happening with the initial location callback and region selection task. FYI, I changed to only prompt for battery optimizations if the user is enrolled in the study in 724d33e. However, I commented out |
@cagryInside Also - could you please add an "OK" dialog with some text if the user says they are under 18 when enrolling? Something like "Thanks for your interest, but you need to be over the age of 18 to participate". |
To document @cagryInside and I's offline discussion - we've implemented a feature to allow the user to ignore battery optimziations, but we've commented it out in this PR (including commenting out the permission in the manifest) because it doesn't seem to be needed now, and it could have negative consequences on battery life. We also haven't solved the "Do not initialize the Transition API when every time the app starts (see the comment be1a67a#diff-8dc92f32bc698f47c67820a05841eca9R216)" issue, but we're going to go ahead and merge this for now while we continue to try and solve the problem. |
USF IRB declared this study exempt so we don't need to include the full IRB informed consent document. I'm going to edit it down in one of the final commits here so we have a record of it in this PR if we change the survey design and need to add it back later after further review. EDIT - Upon further clarification from IRB, we don't need to include the full informed consent, but do need to include text that addresses the following:
|
@barbeau Implemented the Talkback-enabled feature: |
Thanks @cagryInside! |
This PR implements an opt-in user-travel-behavior tracking feature to OBA. With this PR, after the user agrees to participate the application will collect the users' travel behaviors and push the results to a Firebase Firestore.
The following screens are for registering participating users:
Once the user saves his/her email address, OBA starts collecting the following data:
The following screenshots show the collected data:
TODO:
google-services.json
for Firebase and Google DriveRemove enumeration of the record ids ( the current enumeration is used for debugging purposes)We're going to leave this for troubleshooting