Skip to content

Commit

Permalink
Add Firebase analytics for destination reminders starting and ending
Browse files Browse the repository at this point in the history
* Also cleanup unused code and old TODO statements
  • Loading branch information
barbeau committed May 23, 2019
1 parent b2b3c3c commit fe4b200
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,14 @@
import androidx.work.PeriodicWorkRequest;
import androidx.work.WorkManager;

import com.google.firebase.analytics.FirebaseAnalytics;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;

import org.apache.commons.io.FileUtils;
import org.onebusaway.android.R;
import org.onebusaway.android.app.Application;
import org.onebusaway.android.io.ObaAnalytics;
import org.onebusaway.android.nav.model.Path;
import org.onebusaway.android.nav.model.PathLink;
import org.onebusaway.android.provider.ObaContract;
Expand Down Expand Up @@ -72,8 +74,6 @@ public class NavigationService extends Service implements LocationHelper.Listene
public static final String FIRST_FEEDBACK = "firstFeedback";
public static final String KEY_TEXT_REPLY = "trip_feedback";

//public static String REPLY_ACTION = "org.onebusaway.android.nav.REPLY_ACTION";

public static final String LOG_DIRECTORY = "ObaNavLog";

public static boolean mFirstFeedback = true;
Expand All @@ -89,19 +89,18 @@ public class NavigationService extends Service implements LocationHelper.Listene

private int mCoordId = 0;

private boolean mGetReadyFlag = false;
private boolean mPullTheCordFlag = false;

private NavigationServiceProvider mNavProvider;
private File mLogFile = null;

private long mFinishedTime;

private FirebaseAuth mAuth;
private FirebaseAnalytics mFirebaseAnalytics;

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d(TAG, "Starting Service");
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
long currentTime = System.currentTimeMillis();
if (intent != null) {
mDestinationStopId = intent.getStringExtra(DESTINATION_ID);
Expand Down Expand Up @@ -208,6 +207,7 @@ public synchronized void onLocationChanged(Location location) {
if (mFinishedTime == 0) {
mFinishedTime = System.currentTimeMillis();
} else if (System.currentTimeMillis() - mFinishedTime >= 30000) {
ObaAnalytics.reportUiEvent(mFirebaseAnalytics, getString(R.string.analytics_label_destination_reminder), getString(R.string.analytics_label_destination_reminder_variant_ended));
getUserFeedback();
stopSelf();
setupLogCleanupTask();
Expand Down Expand Up @@ -311,8 +311,6 @@ private void writeToLog(Location l) {
}

public void getUserFeedback() {
//TODO - Log "Yes" or "No" including plaintext feedback using Firebase Analytics

Application app = Application.get();
NotificationCompat.Builder mBuilder;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,11 @@
import com.google.android.gms.location.LocationSettingsStatusCodes;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.analytics.FirebaseAnalytics;

import org.onebusaway.android.R;
import org.onebusaway.android.app.Application;
import org.onebusaway.android.io.ObaAnalytics;
import org.onebusaway.android.io.ObaApi;
import org.onebusaway.android.io.elements.ObaReferences;
import org.onebusaway.android.io.elements.ObaRoute;
Expand Down Expand Up @@ -143,6 +145,8 @@ public class TripDetailsListFragment extends ListFragment {
private LocationRequest mLocationRequest;
private Task<LocationSettingsResponse> mResult;

private FirebaseAnalytics mFirebaseAnalytics;

/**
* Builds an intent used to set the trip and stop for the TripDetailsListFragment directly
* (i.e., when TripDetailsActivity is not used)
Expand Down Expand Up @@ -210,6 +214,7 @@ public View onCreateView(LayoutInflater inflater,
// reason to create our view.
return null;
}
mFirebaseAnalytics = FirebaseAnalytics.getInstance(getActivity());
return inflater.inflate(R.layout.trip_details, null);
}

Expand Down Expand Up @@ -528,6 +533,8 @@ public void onClick(DialogInterface dialog, int which) {
createDestinationReminderBetaDialog().show();
}

ObaAnalytics.reportUiEvent(mFirebaseAnalytics, getString(R.string.analytics_label_destination_reminder), getString(R.string.analytics_label_destination_reminder_variant_started));

startNavigationService(setUpNavigationService(position));
Toast.makeText(Application.get(),
Application.get().getString(R.string.destination_reminder_title),
Expand Down
3 changes: 3 additions & 0 deletions onebusaway-android/src/main/res/values/donottranslate.xml
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,9 @@
<string name="analytics_label_bike_station_balloon_clicked">Pressed bike station balloon</string>
<string name="analytics_label_floating_bike_balloon_clicked">Pressed floating bike balloon</string>
<string name="analytics_label_stop_category">stops</string>
<string name="analytics_label_destination_reminder">destination_reminder</string>
<string name="analytics_label_destination_reminder_variant_started">destination_reminder_started</string>
<string name="analytics_label_destination_reminder_variant_ended">destination_reminder_ended</string>

<!-- Analytics for social -->
<string name="analytics_label_button_press_social_sign_in">Clicked Social Sign In</string>
Expand Down

0 comments on commit fe4b200

Please sign in to comment.