diff --git a/app/src/main/java/com/a1/nextlocation/fragments/CouponFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/CouponFragment.java
index f8ac19b..eadebbf 100644
--- a/app/src/main/java/com/a1/nextlocation/fragments/CouponFragment.java
+++ b/app/src/main/java/com/a1/nextlocation/fragments/CouponFragment.java
@@ -53,7 +53,8 @@ public class CouponFragment extends Fragment {
this.backButton = view.findViewById(R.id.coupon_back_button);
this.backButton.setOnClickListener(v -> {
StatisticFragment statisticFragment = new StatisticFragment();
- ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, statisticFragment).addToBackStack(null).commit();
+ if (getActivity() != null)
+ getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, statisticFragment).addToBackStack(null).commit();
});
this.couponRecyclerView.setLayoutManager(this.layoutManager);
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 082b306..95fc7d5 100644
--- a/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java
+++ b/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java
@@ -91,7 +91,8 @@ public class HomeFragment extends Fragment implements LocationListener {
this.imageButton = view.findViewById(R.id.location_list_button);
this.imageButton.setOnClickListener(v -> {
LocationFragment locationFragment = new LocationFragment();
- ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, locationFragment).addToBackStack(null).commit();
+ if (getActivity() != null)
+ getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, locationFragment).addToBackStack(null).commit();
});
// set up the route stop button
diff --git a/app/src/main/java/com/a1/nextlocation/fragments/LocationDetailFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/LocationDetailFragment.java
index 88b9eb2..1b531a4 100644
--- a/app/src/main/java/com/a1/nextlocation/fragments/LocationDetailFragment.java
+++ b/app/src/main/java/com/a1/nextlocation/fragments/LocationDetailFragment.java
@@ -12,7 +12,6 @@ import android.widget.ImageView;
import android.widget.TextView;
import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
import com.a1.nextlocation.R;
import com.a1.nextlocation.data.Data;
@@ -50,20 +49,20 @@ public class LocationDetailFragment extends Fragment {
this.titelText.setText(location.getName());
double currentDistanceToLocation = 0.0;
- if(Data.INSTANCE.getLocation() != null){
+ if (Data.INSTANCE.getLocation() != null) {
currentDistanceToLocation = Location.getDistance(Data.INSTANCE.getLocation().getLatitude(), Data.INSTANCE.getLocation().getLongitude(), this.location.getLat(), this.location.getLong());
}
//Adds distance text from the current distance of the user to the opened location
String detailText;
- if(getContext().getSharedPreferences("Settings", Context.MODE_PRIVATE).getBoolean("imperialSwitch", false)){
- if(currentDistanceToLocation > 1609)
- detailText = location.getDescription() + String.format("%.3f",currentDistanceToLocation * 0.000621371192) + "mi";
+ if (getContext().getSharedPreferences("Settings", Context.MODE_PRIVATE).getBoolean("imperialSwitch", false)) {
+ if (currentDistanceToLocation > 1609)
+ detailText = location.getDescription() + String.format("%.3f", currentDistanceToLocation * 0.000621371192) + "mi";
else
- detailText = location.getDescription() + String.format("%.2f",currentDistanceToLocation * 1.0936133) + "yd";
+ detailText = location.getDescription() + String.format("%.2f", currentDistanceToLocation * 1.0936133) + "yd";
} else {
- if(currentDistanceToLocation > 1000)
- detailText = location.getDescription() + String.format("%.3f",currentDistanceToLocation / 1000) + "km";
+ if (currentDistanceToLocation > 1000)
+ detailText = location.getDescription() + String.format("%.3f", currentDistanceToLocation / 1000) + "km";
else
detailText = location.getDescription() + currentDistanceToLocation + "m";
}
@@ -74,7 +73,8 @@ public class LocationDetailFragment extends Fragment {
this.backButton = view.findViewById(R.id.detail_location_back_button);
this.backButton.setOnClickListener(v -> {
LocationFragment locationFragment = new LocationFragment();
- ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, locationFragment).addToBackStack(null).commit();
+ if (getActivity() != null)
+ getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, locationFragment).addToBackStack(null).commit();
});
//Logs the location
diff --git a/app/src/main/java/com/a1/nextlocation/fragments/LocationFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/LocationFragment.java
index 88cdde4..45767b9 100644
--- a/app/src/main/java/com/a1/nextlocation/fragments/LocationFragment.java
+++ b/app/src/main/java/com/a1/nextlocation/fragments/LocationFragment.java
@@ -43,7 +43,8 @@ public class LocationFragment extends Fragment {
this.backButton = view.findViewById(R.id.location_back_button);
this.backButton.setOnClickListener(v -> {
HomeFragment homeFragment = new HomeFragment();
- ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, homeFragment).addToBackStack(null).commit();
+ if (getActivity() != null)
+ getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, homeFragment).addToBackStack(null).commit();
});
//Loads the location list
@@ -58,7 +59,8 @@ public class LocationFragment extends Fragment {
//Gives the clicked location to the adapter
locationBundle.putParcelable("location", this.locationList.get(clickedPosition));
locationDetailFragment.setArguments(locationBundle);
- ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, locationDetailFragment).addToBackStack(null).commit();
+ if (getActivity() != null)
+ getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, locationDetailFragment).addToBackStack(null).commit();
});
this.locationRecyclerView.setLayoutManager(this.layoutManager);
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 99086b3..7194086 100644
--- a/app/src/main/java/com/a1/nextlocation/fragments/RouteDetailFragment.java
+++ b/app/src/main/java/com/a1/nextlocation/fragments/RouteDetailFragment.java
@@ -14,7 +14,6 @@ import android.widget.TextView;
import android.widget.Toast;
import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
import com.a1.nextlocation.R;
import com.a1.nextlocation.data.Location;
@@ -64,10 +63,10 @@ public class RouteDetailFragment extends Fragment {
TextView routeDetailText = view.findViewById(R.id.route_detail_tekst);
StringBuilder locations = new StringBuilder();
- for(Location location : this.route.getLocations()){
+ for (Location location : this.route.getLocations()) {
locations.append("
•").append(location.getName());
}
- 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();
+ 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
@@ -80,7 +79,8 @@ public class RouteDetailFragment extends Fragment {
ImageButton backButton = view.findViewById(R.id.route_detail_back_button);
backButton.setOnClickListener(v -> {
RouteFragment routeFragment = new RouteFragment();
- ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, routeFragment).addToBackStack(null).commit();
+ if (getActivity() != null)
+ getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, routeFragment).addToBackStack(null).commit();
});
Button startButton = view.findViewById(R.id.start_route_button);
diff --git a/app/src/main/java/com/a1/nextlocation/fragments/RouteFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/RouteFragment.java
index 00675de..e0cea4f 100644
--- a/app/src/main/java/com/a1/nextlocation/fragments/RouteFragment.java
+++ b/app/src/main/java/com/a1/nextlocation/fragments/RouteFragment.java
@@ -9,7 +9,6 @@ import android.widget.ImageButton;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -49,13 +48,15 @@ public class RouteFragment extends Fragment {
Bundle routeBundle = new Bundle();
routeBundle.putParcelable("route", this.routeList.get(clickedPosition));
routeDetailFragment.setArguments(routeBundle);
- ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, routeDetailFragment).addToBackStack(null).commit();
+ if (getActivity() != null)
+ getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, routeDetailFragment).addToBackStack(null).commit();
});
ImageButton backButton = view.findViewById(R.id.route_back_button);
backButton.setOnClickListener(v -> {
HomeFragment homeFragment = new HomeFragment();
- ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, homeFragment).addToBackStack(null).commit();
+ if (getActivity() != null)
+ getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, homeFragment).addToBackStack(null).commit();
});
routeRecyclerView.setLayoutManager(layoutManager);
diff --git a/app/src/main/java/com/a1/nextlocation/fragments/SettingsFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/SettingsFragment.java
index ecc623d..401f70e 100644
--- a/app/src/main/java/com/a1/nextlocation/fragments/SettingsFragment.java
+++ b/app/src/main/java/com/a1/nextlocation/fragments/SettingsFragment.java
@@ -5,7 +5,6 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.os.Bundle;
-import android.preference.PreferenceManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -17,10 +16,8 @@ import android.widget.Spinner;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.appcompat.widget.SwitchCompat;
import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentTransaction;
-import com.a1.nextlocation.MainActivity;
import com.a1.nextlocation.R;
import org.jetbrains.annotations.NotNull;
@@ -66,7 +63,8 @@ public class SettingsFragment extends Fragment {
ImageView backButton = view.findViewById(R.id.settings_back_button);
backButton.setOnClickListener(v -> {
HomeFragment homeFragment = new HomeFragment();
- ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, homeFragment).addToBackStack(null).commit();
+ if (getActivity() != null)
+ getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, homeFragment).addToBackStack(null).commit();
});
SharedPreferences sharedPreferences = getContext().getSharedPreferences("Settings", Context.MODE_PRIVATE);
@@ -87,24 +85,25 @@ public class SettingsFragment extends Fragment {
fontSwitch.setChecked(sharedPreferences.getBoolean("fontSwitch", false));
//Initial check to see what setting was last chosen
- if (fontSwitch.isChecked()){
+ if (fontSwitch.isChecked()) {
requireActivity().setTheme(R.style.Theme_NextLocationBig);
- }else if (!fontSwitch.isChecked()){
+ } else if (!fontSwitch.isChecked()) {
requireActivity().setTheme(R.style.Theme_NextLocation);
}
//Changes the font settings depending on the state of the toggle
fontSwitch.setOnClickListener(view1 -> {
- if(fontSwitch.isChecked())
- {
+ if (fontSwitch.isChecked()) {
requireActivity().setTheme(R.style.Theme_NextLocationBig);
+ getActivity().recreate();
}
if(!fontSwitch.isChecked())
{
- requireActivity().setTheme(R.style.Theme_NextLocation);;
+ requireActivity().setTheme(R.style.Theme_NextLocation);
+ getActivity().recreate();
}
- editor.putBoolean("fontSwitch",fontSwitch.isChecked());
+ editor.putBoolean("fontSwitch", fontSwitch.isChecked());
editor.apply();
editor.commit();
});
@@ -117,12 +116,12 @@ public class SettingsFragment extends Fragment {
editor.apply();
editor.commit();
- if (colorBlindMode.isChecked()){
+ if (colorBlindMode.isChecked()) {
requireActivity().setTheme(R.style.Theme_NextLocation);
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
getActivity().recreate();
System.out.println("AAN");
- }else if (!colorBlindMode.isChecked()){
+ } else if (!colorBlindMode.isChecked()) {
requireActivity().setTheme(R.style.Theme_NextLocation);
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
getActivity().recreate();
diff --git a/app/src/main/java/com/a1/nextlocation/fragments/StatisticFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/StatisticFragment.java
index 854213e..8d18b5a 100644
--- a/app/src/main/java/com/a1/nextlocation/fragments/StatisticFragment.java
+++ b/app/src/main/java/com/a1/nextlocation/fragments/StatisticFragment.java
@@ -58,21 +58,24 @@ public class StatisticFragment extends Fragment {
ImageView backButton = view.findViewById(R.id.statistics_back_button);
backButton.setOnClickListener(v -> {
HomeFragment homeFragment = new HomeFragment();
- ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, homeFragment).addToBackStack(null).commit();
+ if (getActivity() != null)
+ getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, homeFragment).addToBackStack(null).commit();
});
//Initialises the coupon button
ImageView couponButton = view.findViewById(R.id.coupon_button);
couponButton.setOnClickListener(v -> {
CouponFragment couponFragment = new CouponFragment();
- ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, couponFragment).addToBackStack(null).commit();
+ if (getActivity() != null)
+ getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, couponFragment).addToBackStack(null).commit();
});
//Makes the constraintlayout clickable and opens the same layout as the coupon button
ConstraintLayout constraintLayout = view.findViewById(R.id.Box4);
constraintLayout.setOnClickListener(v -> {
CouponFragment couponFragment = new CouponFragment();
- ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, couponFragment).addToBackStack(null).commit();
+ if (getActivity() != null)
+ getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, couponFragment).addToBackStack(null).commit();
});
return view;
}
diff --git a/app/src/main/res/layout/coupon_item.xml b/app/src/main/res/layout/coupon_item.xml
index 9a9a437..3616344 100644
--- a/app/src/main/res/layout/coupon_item.xml
+++ b/app/src/main/res/layout/coupon_item.xml
@@ -5,6 +5,15 @@
android:id="@+id/couponItem"
android:layout_height="wrap_content">
+
+
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
index d71b96b..240c76e 100644
--- a/app/src/main/res/layout/fragment_settings.xml
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -15,8 +15,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
- android:backgroundTint="@color/primaryColour"
- android:src="@drawable/ic_back_button_24"
+ android:background="@drawable/ic_back_button_24"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
diff --git a/app/src/main/res/layout/fragment_statistic.xml b/app/src/main/res/layout/fragment_statistic.xml
index 48e16cc..61e16ab 100644
--- a/app/src/main/res/layout/fragment_statistic.xml
+++ b/app/src/main/res/layout/fragment_statistic.xml
@@ -267,8 +267,6 @@
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/ic_back_button_24"
- android:backgroundTint="@color/buttonColour"
- android:src="@drawable/ic_back_button_24"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
diff --git a/app/src/main/res/layout/help_popup.xml b/app/src/main/res/layout/help_popup.xml
index fda4ba9..144a348 100644
--- a/app/src/main/res/layout/help_popup.xml
+++ b/app/src/main/res/layout/help_popup.xml
@@ -22,24 +22,28 @@
android:paddingVertical="10dp"/>
+ android:layout_height="400dp"
+ android:layout_marginHorizontal="10dp"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/helpPopTitle"
+ app:layout_constraintBottom_toTopOf="@id/help_ok_button"
+ >
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@id/helpPopTitle" />
@@ -48,11 +52,13 @@
android:id="@+id/help_ok_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginEnd="16dp"
android:backgroundTint="@color/buttonColour"
+ android:textColor="@color/primaryColour"
android:text="ok"
+ app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toTopOf="@+id/helpPopTitle" />
+ app:layout_constraintTop_toBottomOf="@id/scrollView2"
+ app:layout_constraintStart_toStartOf="parent" />
diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml
index 5306d31..2d9f2ee 100644
--- a/app/src/main/res/values-night/themes.xml
+++ b/app/src/main/res/values-night/themes.xml
@@ -2,7 +2,7 @@