From 5d4efdf0e0563e7deb841e4256186a15da870c80 Mon Sep 17 00:00:00 2001 From: danesfeder Date: Mon, 22 Oct 2018 16:34:43 -0400 Subject: [PATCH] Add base HistoryActivity for testing --- app/src/main/AndroidManifest.xml | 3 + .../testapp/activity/HistoryActivity.java | 57 +++++++++++++++++++ .../testapp/activity/RerouteActivity.java | 4 +- .../{navigationui => }/StoreHistoryTask.java | 2 +- .../ComponentNavigationActivity.java | 28 +-------- 5 files changed, 66 insertions(+), 28 deletions(-) create mode 100644 app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/HistoryActivity.java rename app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/{navigationui => }/StoreHistoryTask.java (95%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9741b8a1de9..01a0e6ec7da 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -18,6 +18,7 @@ + @@ -110,6 +111,8 @@ android:value=".MainActivity"/> + + diff --git a/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/HistoryActivity.java b/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/HistoryActivity.java new file mode 100644 index 00000000000..1817f731c72 --- /dev/null +++ b/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/HistoryActivity.java @@ -0,0 +1,57 @@ +package com.mapbox.services.android.navigation.testapp.activity; + +import android.location.Location; +import android.support.annotation.NonNull; +import android.support.v7.app.AppCompatActivity; + +import com.mapbox.services.android.navigation.v5.navigation.MapboxNavigation; +import com.mapbox.services.android.navigation.v5.routeprogress.ProgressChangeListener; +import com.mapbox.services.android.navigation.v5.routeprogress.RouteProgress; + +import java.text.SimpleDateFormat; +import java.util.Date; + +public class HistoryActivity extends AppCompatActivity { + + private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss"); + private static final String JSON_EXTENSION = ".json"; + + private MapboxNavigation navigation; + private String filename; + + public void addNavigationForHistory(@NonNull MapboxNavigation navigation) { + if (navigation == null) { + throw new IllegalArgumentException("MapboxNavigation cannot be null"); + } + this.navigation = navigation; + navigation.addProgressChangeListener(progressHistoryListener); + navigation.toggleHistory(true); + filename = buildFileName(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + navigation.toggleHistory(false); + } + + private String buildFileName() { + StringBuilder sb = new StringBuilder(); + sb.append(obtainCurrentTimeStamp()); + sb.append(JSON_EXTENSION); + return sb.toString(); + } + + private String obtainCurrentTimeStamp() { + Date now = new Date(); + String strDate = DATE_FORMAT.format(now); + return strDate; + } + + private ProgressChangeListener progressHistoryListener = new ProgressChangeListener() { + @Override + public void onProgressChange(Location location, RouteProgress routeProgress) { + new StoreHistoryTask(navigation, filename).execute(); + } + }; +} diff --git a/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/RerouteActivity.java b/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/RerouteActivity.java index 6c1e8c3b4bb..caf12830fca 100644 --- a/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/RerouteActivity.java +++ b/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/RerouteActivity.java @@ -6,7 +6,6 @@ import android.os.Bundle; import android.support.annotation.NonNull; import android.support.design.widget.Snackbar; -import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Toast; @@ -52,7 +51,7 @@ import retrofit2.Response; import timber.log.Timber; -public class RerouteActivity extends AppCompatActivity implements OnMapReadyCallback, LocationEngineListener, +public class RerouteActivity extends HistoryActivity implements OnMapReadyCallback, LocationEngineListener, Callback, MapboxMap.OnMapClickListener, NavigationEventListener, OffRouteListener, ProgressChangeListener, MilestoneEventListener { @@ -89,6 +88,7 @@ protected void onCreate(Bundle savedInstanceState) { navigation = new MapboxNavigation(getApplicationContext(), Mapbox.getAccessToken(), options); navigation.addNavigationEventListener(this); navigation.addMilestoneEventListener(this); + addNavigationForHistory(navigation); instructionView.retrieveSoundButton().show(); instructionView.retrieveSoundButton().addOnClickListener( diff --git a/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/navigationui/StoreHistoryTask.java b/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/StoreHistoryTask.java similarity index 95% rename from app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/navigationui/StoreHistoryTask.java rename to app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/StoreHistoryTask.java index d8bacbb91ca..9f9df534c25 100644 --- a/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/navigationui/StoreHistoryTask.java +++ b/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/StoreHistoryTask.java @@ -1,4 +1,4 @@ -package com.mapbox.services.android.navigation.testapp.activity.navigationui; +package com.mapbox.services.android.navigation.testapp.activity; import android.os.AsyncTask; import android.os.Environment; diff --git a/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/navigationui/ComponentNavigationActivity.java b/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/navigationui/ComponentNavigationActivity.java index fb5af6ed6d8..95088591d82 100644 --- a/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/navigationui/ComponentNavigationActivity.java +++ b/app/src/main/java/com/mapbox/services/android/navigation/testapp/activity/navigationui/ComponentNavigationActivity.java @@ -14,7 +14,6 @@ import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.transition.TransitionManager; -import android.support.v7.app.AppCompatActivity; import android.view.View; import com.mapbox.android.core.location.LocationEngine; @@ -32,6 +31,7 @@ import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; import com.mapbox.services.android.navigation.testapp.R; +import com.mapbox.services.android.navigation.testapp.activity.HistoryActivity; import com.mapbox.services.android.navigation.testapp.activity.location.FusedLocationEngine; import com.mapbox.services.android.navigation.ui.v5.camera.DynamicCamera; import com.mapbox.services.android.navigation.ui.v5.instruction.InstructionView; @@ -48,8 +48,6 @@ import com.mapbox.services.android.navigation.v5.routeprogress.ProgressChangeListener; import com.mapbox.services.android.navigation.v5.routeprogress.RouteProgress; -import java.text.SimpleDateFormat; -import java.util.Date; import java.util.List; import java.util.Locale; @@ -61,7 +59,7 @@ import retrofit2.Response; import timber.log.Timber; -public class ComponentNavigationActivity extends AppCompatActivity implements OnMapReadyCallback, +public class ComponentNavigationActivity extends HistoryActivity implements OnMapReadyCallback, MapboxMap.OnMapLongClickListener, LocationEngineListener, ProgressChangeListener, MilestoneEventListener, OffRouteListener { @@ -77,8 +75,6 @@ public class ComponentNavigationActivity extends AppCompatActivity implements On private static final double DEFAULT_TILT = 0d; private static final double DEFAULT_BEARING = 0d; private static final int ONE_SECOND_INTERVAL = 1000; - private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy_MM_dd_HH_mm_ss"); - private static final String JSON_EXTENSION = ".json"; @BindView(R.id.componentNavigationLayout) ConstraintLayout navigationLayout; @@ -103,7 +99,6 @@ public class ComponentNavigationActivity extends AppCompatActivity implements On private DirectionsRoute route; private Point destination; private MapState mapState; - private String filename; private enum MapState { INFO, @@ -174,8 +169,6 @@ public void onStartNavigationClick(FloatingActionButton floatingActionButton) { // Start navigation adjustMapPaddingForNavigation(); - navigation.toggleHistory(true); - filename = buildFileName(); navigation.startNavigation(route); // Location updates will be received from ProgressChangeListener @@ -232,8 +225,6 @@ public void onLocationChanged(Location location) { @Override public void onProgressChange(Location location, RouteProgress routeProgress) { - new StoreHistoryTask(navigation, filename).execute(); - // Cache "snapped" Locations for re-route Directions API requests updateLocation(location); @@ -343,6 +334,7 @@ private void initializeNavigation(MapboxMap mapboxMap) { navigation.addMilestoneEventListener(this); navigation.addOffRouteListener(this); navigationMap.addProgressChangeListener(navigation); + addNavigationForHistory(navigation); } private void showSnackbar(String text, int duration) { @@ -417,7 +409,6 @@ private void resetMapAfterNavigation() { navigationMap.removeRoute(); navigationMap.clearMarkers(); navigation.stopNavigation(); - navigation.toggleHistory(false); moveCameraOverhead(); } @@ -476,17 +467,4 @@ private void vibrate() { vibrator.vibrate(ONE_HUNDRED_MILLISECONDS); } } - - private String buildFileName() { - StringBuilder sb = new StringBuilder(); - sb.append(obtainCurrentTimeStamp()); - sb.append(JSON_EXTENSION); - return sb.toString(); - } - - private String obtainCurrentTimeStamp() { - Date now = new Date(); - String strDate = DATE_FORMAT.format(now); - return strDate; - } }