Merge branch 'follow-route' of https://github.com/SemvdH/Next-Location into follow-route

This commit is contained in:
Sem van der Hoeven
2021-01-06 14:33:38 +01:00
5 changed files with 46 additions and 17 deletions

View File

@@ -28,8 +28,9 @@ import java.io.File;
import java.util.Arrays; import java.util.Arrays;
import java.util.Locale; import java.util.Locale;
public class MainActivity extends AppCompatActivity { public class MainActivity extends AppCompatActivity implements Refreshable{
private static final String TAG = MainActivity.class.getName(); private static final String TAG = MainActivity.class.getName();
private BottomNavigationView bottomNav;
/** /**
* onCreate method that creates the main activity * onCreate method that creates the main activity
@@ -38,12 +39,14 @@ public class MainActivity extends AppCompatActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
// initialize saved language from sharedPreferences
setLocale(loadLocale());
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);
bottomNav = findViewById(R.id.navigation_bar);
BottomNavigationView bottomNav = findViewById(R.id.navigation_bar);
bottomNav.setOnNavigationItemSelectedListener(navListener); bottomNav.setOnNavigationItemSelectedListener(navListener);
/*System.out.println(Arrays.toString(getFilesDir().listFiles())); /*System.out.println(Arrays.toString(getFilesDir().listFiles()));
FileIO<Route> fileIO = new FileIO<>(); FileIO<Route> fileIO = new FileIO<>();
fileIO.writeFileData(new Route("TERSTSET"), getApplicationContext()); fileIO.writeFileData(new Route("TERSTSET"), getApplicationContext());
@@ -56,10 +59,9 @@ public class MainActivity extends AppCompatActivity {
RouteListManager.INSTANCE.setContext(this); RouteListManager.INSTANCE.setContext(this);
RouteListManager.INSTANCE.load(); RouteListManager.INSTANCE.load();
// initialize saved language from sharedPreferences if (savedInstanceState == null) {
setLocale(loadLocale()); getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, new HomeFragment()).commit();
}
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, new HomeFragment()).commit();
} }
/** /**
@@ -105,4 +107,14 @@ public class MainActivity extends AppCompatActivity {
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, selectedFragment).commit(); getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, selectedFragment).commit();
return true; return true;
}; };
/**
* refreshes bottom navigation
*/
@Override
public void refresh() {
bottomNav.getMenu().clear();
bottomNav.inflateMenu(R.menu.navmenu);
bottomNav.setSelectedItemId(R.id.settings);
}
} }

View File

@@ -0,0 +1,5 @@
package com.a1.nextlocation;
public interface Refreshable {
void refresh();
}

View File

@@ -22,16 +22,24 @@ import android.widget.Spinner;
import com.a1.nextlocation.MainActivity; import com.a1.nextlocation.MainActivity;
import com.a1.nextlocation.R; import com.a1.nextlocation.R;
import com.a1.nextlocation.Refreshable;
import org.jetbrains.annotations.NotNull;
import java.util.Locale; import java.util.Locale;
public class SettingsFragment extends Fragment { public class SettingsFragment extends Fragment {
private SharedPreferences.Editor editor; private SharedPreferences.Editor editor;
private ImageView imageButton; private ImageView imageButton;
SwitchCompat fontChanger; SwitchCompat fontChanger;
private Refreshable refreshable;
@Override
public void onAttach(@NotNull Context context) {
super.onAttach(context);
refreshable = (Refreshable) context;
}
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
@@ -87,7 +95,7 @@ public class SettingsFragment extends Fragment {
private void initializeLanguageDropdown(View view) { private void initializeLanguageDropdown(View view) {
Spinner languageDropdown = view.findViewById(R.id.dropdown_menu_Settings); Spinner languageDropdown = view.findViewById(R.id.dropdown_menu_Settings);
String[] items = new String[]{"Nederlands", "Engels", "Chinees"}; String[] items = new String[]{getResources().getString(R.string.Dutch), getResources().getString(R.string.English), getResources().getString(R.string.Chinese)};
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_dropdown_item, items); ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_dropdown_item, items);
languageDropdown.setAdapter(arrayAdapter); languageDropdown.setAdapter(arrayAdapter);
@@ -99,15 +107,11 @@ public class SettingsFragment extends Fragment {
@Override @Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
setLocale(dropdownPositionToLanguage(id)); setLocale(dropdownPositionToLanguage(id));
// refresh fragment on language change
if (id != previousID) { if (id != previousID) {
Fragment currentFragment = getActivity().getSupportFragmentManager().findFragmentById(R.id.fragment_layout); refresh();
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.detach(currentFragment);
fragmentTransaction.attach(currentFragment);
fragmentTransaction.commit();
} }
} }
@Override @Override
public void onNothingSelected(AdapterView<?> parent) { public void onNothingSelected(AdapterView<?> parent) {
} }
@@ -157,6 +161,8 @@ public class SettingsFragment extends Fragment {
fragmentTransaction.detach(currentFragment); fragmentTransaction.detach(currentFragment);
fragmentTransaction.attach(currentFragment); fragmentTransaction.attach(currentFragment);
fragmentTransaction.commit(); fragmentTransaction.commit();
refreshable.refresh();
} }
/** /**

View File

@@ -20,4 +20,7 @@
<string name="activate">activeren</string> <string name="activate">activeren</string>
<string name="done">Klaar</string> <string name="done">Klaar</string>
<string name="cancel">annuleren</string> <string name="cancel">annuleren</string>
<string name="English">Engels</string>
<string name="Dutch">Nederlands</string>
<string name="Chinese">Chinees</string>
</resources> </resources>

View File

@@ -19,4 +19,7 @@
<string name="done">Done</string> <string name="done">Done</string>
<string name="cancel">cancel</string> <string name="cancel">cancel</string>
<string name="route_stop_toast">Route stopped!</string> <string name="route_stop_toast">Route stopped!</string>
<string name="Dutch">Dutch</string>
<string name="English">English</string>
<string name="Chinese">Chinese</string>
</resources> </resources>