diff --git a/app/src/main/java/com/a1/nextlocation/data/Route.java b/app/src/main/java/com/a1/nextlocation/data/Route.java index 938793b..2970351 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Route.java +++ b/app/src/main/java/com/a1/nextlocation/data/Route.java @@ -112,4 +112,13 @@ public class Route implements Parcelable { public void setDescription(String description) { this.description = description; } + + public void setLocationVisited(Location location) { + for (Location l : this.locations) { + if (l.getName().equals(location.getName())) { + l.setVisited(true); + break; + } + } + } } diff --git a/app/src/main/java/com/a1/nextlocation/data/RouteHandler.java b/app/src/main/java/com/a1/nextlocation/data/RouteHandler.java index 331d28e..8acdbaf 100644 --- a/app/src/main/java/com/a1/nextlocation/data/RouteHandler.java +++ b/app/src/main/java/com/a1/nextlocation/data/RouteHandler.java @@ -64,6 +64,14 @@ public enum RouteHandler { Data.INSTANCE.addTimeWalked(System.currentTimeMillis() - startedTime); } this.currentRoute = route; + + // sync the visited locations with the route + for (Location l : this.currentRoute.getLocations()) { + if (Data.INSTANCE.isVisited(l)) { + this.currentRoute.setLocationVisited(l); + } + } + setFollowingRoute(true); startedTime = System.currentTimeMillis(); } diff --git a/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java index da63fb0..b34f3ba 100644 --- a/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java @@ -263,7 +263,7 @@ public class HomeFragment extends Fragment implements LocationListener { for (com.a1.nextlocation.data.Location location : locations) { OverlayItem item = new OverlayItem(location.getName(), location.getDescription(), location.convertToGeoPoint()); Drawable marker = null; - if (location.isVisited() && Data.INSTANCE.isVisited(location)) { + if (location.isVisited()) { Log.d(TAG, "addLocations: location " + location.getName() + " is visited"); marker = ContextCompat.getDrawable(requireContext(), R.drawable.ic_baseline_location_on_24); marker.setAlpha(255);