diff --git a/app/src/main/java/com/a1/nextlocation/MainActivity.java b/app/src/main/java/com/a1/nextlocation/MainActivity.java index 9097ac9..b9e5747 100644 --- a/app/src/main/java/com/a1/nextlocation/MainActivity.java +++ b/app/src/main/java/com/a1/nextlocation/MainActivity.java @@ -113,10 +113,10 @@ public class MainActivity extends AppCompatActivity implements Refreshable { * refreshes bottom navigation */ @Override - public void refresh() { + public void refreshAndNavigateTo(int id) { bottomNav.getMenu().clear(); bottomNav.inflateMenu(R.menu.navmenu); - bottomNav.setSelectedItemId(R.id.settings); + bottomNav.setSelectedItemId(id); } private View.OnClickListener onInfoClickListener = new View.OnClickListener() { diff --git a/app/src/main/java/com/a1/nextlocation/fragments/Refreshable.java b/app/src/main/java/com/a1/nextlocation/fragments/Refreshable.java index 2d4be7b..bbedd3b 100644 --- a/app/src/main/java/com/a1/nextlocation/fragments/Refreshable.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/Refreshable.java @@ -1,5 +1,5 @@ package com.a1.nextlocation.fragments; public interface Refreshable { - void refresh(); + void refreshAndNavigateTo(int id); } 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 1c258e9..c2b0fde 100644 --- a/app/src/main/java/com/a1/nextlocation/fragments/RouteDetailFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/RouteDetailFragment.java @@ -29,7 +29,14 @@ public class RouteDetailFragment extends Fragment { private Route route; private ImageView imageView; + private Refreshable refreshable; + @Override + public void onAttach(Context context) { + super.onAttach(context); + if (context instanceof Refreshable) + this.refreshable = (Refreshable) context; + } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -79,7 +86,8 @@ public class RouteDetailFragment extends Fragment { ApiHandler.INSTANCE.getDirections(route); RouteHandler.INSTANCE.followRoute(route); Toast.makeText(requireContext(),"Route started!",Toast.LENGTH_SHORT).show(); - ((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, new HomeFragment()).addToBackStack(null).commit(); + // navigates to the HomeFragment and refreshes the BottomNavigation + refreshable.refreshAndNavigateTo(R.id.locations); } /** 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 3bdb3d4..c1e9ddd 100644 --- a/app/src/main/java/com/a1/nextlocation/fragments/SettingsFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/SettingsFragment.java @@ -158,7 +158,7 @@ public class SettingsFragment extends Fragment { fragmentTransaction.attach(currentFragment); fragmentTransaction.commit(); - refreshable.refresh(); + refreshable.refreshAndNavigateTo(R.id.settings); } /**