From a7495d24ad0ec04e629f36fa1b00bab59602e149 Mon Sep 17 00:00:00 2001 From: RemoMeijer Date: Tue, 12 Jan 2021 14:43:07 +0100 Subject: [PATCH] Route displays expected time --- .../java/com/a1/nextlocation/data/Route.java | 1 - .../fragments/RouteDetailFragment.java | 19 ++++++++++++++++--- app/src/main/res/values-nl/strings.xml | 2 ++ app/src/main/res/values/strings.xml | 2 ++ 4 files changed, 20 insertions(+), 4 deletions(-) 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 5f1f654..938793b 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Route.java +++ b/app/src/main/java/com/a1/nextlocation/data/Route.java @@ -81,7 +81,6 @@ public class Route implements Parcelable { public int getTotalTime() { - return totalTime; } diff --git a/app/src/main/java/com/a1/nextlocation/fragments/RouteDetailFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/RouteDetailFragment.java index c3f36b0..99086b3 100644 --- a/app/src/main/java/com/a1/nextlocation/fragments/RouteDetailFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/RouteDetailFragment.java @@ -31,6 +31,7 @@ public class RouteDetailFragment extends Fragment { private Route route; private Refreshable refreshable; + private String time; @Override public void onAttach(@NotNull Context context) { @@ -69,11 +70,11 @@ public class RouteDetailFragment extends Fragment { String detailText = this.route.getDescription() + "

" + getResources().getString(R.string.following_locations) + "" + locations + "

" + getResources().getString(R.string.start_location) + ": " + route.getLocations().get(0).getName() + "
" + "" + getResources().getString(R.string.end_location) + ": " + route.getLocations().get(route.getLocations().size()-1).getName(); routeDetailText.setText(Html.fromHtml(detailText)); - + //sets the text of the totaldistance TextView totalDistance = view.findViewById(R.id.total_distance); - String distance_tekst = getResources().getString(R.string.total_distance_route); + //looks if imperial units or metric boolean imperialChecked = getContext().getSharedPreferences("Settings", Context.MODE_PRIVATE).getBoolean("imperialSwitch", false); - totalDistance.setText(distance_tekst + " " + String.format("%.1f", calculateRoute(this.route.getLocations())) + (imperialChecked ? "yd" : "m")); + totalDistance.setText(getResources().getString(R.string.total_distance_route) + " " + String.format("%.1f", calculateRoute(this.route.getLocations())) + (imperialChecked ? "yd" : "m") + "\n" + getResources().getString(R.string.total_time) + " " + this.time); //Initialises the back button ImageButton backButton = view.findViewById(R.id.route_detail_back_button); @@ -123,6 +124,7 @@ public class RouteDetailFragment extends Fragment { } System.out.println("Total Distance: " + totalDistance); + calculateTime(totalDistance); // if the imperialSwitch is checked, return feet, if not, return meters if (getContext().getSharedPreferences("Settings", Context.MODE_PRIVATE).getBoolean("imperialSwitch", false)) return totalDistance * 1.0936133; @@ -130,4 +132,15 @@ public class RouteDetailFragment extends Fragment { return totalDistance; } + @SuppressLint("DefaultLocale") + public void calculateTime(double totalDistance){ + double totalTimeInMinutes = ((totalDistance / 1000) / 5) * 60; + if(totalTimeInMinutes > 60) { + int hours = (int)(totalTimeInMinutes / 60); + int minutes = (int)(totalTimeInMinutes % 60); + this.time = hours + " " + getResources().getString(R.string.hour) + " " + minutes + " " + getResources().getString(R.string.minutes); + } + else this.time = (int)(((totalDistance / 1000) / 5) * 60) + " " + getResources().getString(R.string.minutes); + } + } \ No newline at end of file diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index b6e9855..e0afd04 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -32,4 +32,6 @@ "Deze route bevat de volgende locaties: " Je bent dicht bij een locatie! Je bent bijna bij %1$s + uur + minuten \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fb2c733..e6b9709 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -30,4 +30,6 @@ This route contains the following locations: End location Start location + hour + minutes \ No newline at end of file