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.Locale;
public class MainActivity extends AppCompatActivity {
public class MainActivity extends AppCompatActivity implements Refreshable{
private static final String TAG = MainActivity.class.getName();
private BottomNavigationView bottomNav;
/**
* onCreate method that creates the main activity
@@ -38,12 +39,14 @@ public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// initialize saved language from sharedPreferences
setLocale(loadLocale());
setContentView(R.layout.activity_main);
BottomNavigationView bottomNav = findViewById(R.id.navigation_bar);
bottomNav = findViewById(R.id.navigation_bar);
bottomNav.setOnNavigationItemSelectedListener(navListener);
/*System.out.println(Arrays.toString(getFilesDir().listFiles()));
FileIO<Route> fileIO = new FileIO<>();
fileIO.writeFileData(new Route("TERSTSET"), getApplicationContext());
@@ -56,10 +59,9 @@ public class MainActivity extends AppCompatActivity {
RouteListManager.INSTANCE.setContext(this);
RouteListManager.INSTANCE.load();
// initialize saved language from sharedPreferences
setLocale(loadLocale());
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, new HomeFragment()).commit();
if (savedInstanceState == null) {
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();
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.R;
import com.a1.nextlocation.Refreshable;
import org.jetbrains.annotations.NotNull;
import java.util.Locale;
public class SettingsFragment extends Fragment {
private SharedPreferences.Editor editor;
private ImageView imageButton;
SwitchCompat fontChanger;
private Refreshable refreshable;
@Override
public void onAttach(@NotNull Context context) {
super.onAttach(context);
refreshable = (Refreshable) context;
}
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -87,7 +95,7 @@ public class SettingsFragment extends Fragment {
private void initializeLanguageDropdown(View view) {
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);
languageDropdown.setAdapter(arrayAdapter);
@@ -99,15 +107,11 @@ public class SettingsFragment extends Fragment {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
setLocale(dropdownPositionToLanguage(id));
// refresh fragment on language change
if (id != previousID) {
Fragment currentFragment = getActivity().getSupportFragmentManager().findFragmentById(R.id.fragment_layout);
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.detach(currentFragment);
fragmentTransaction.attach(currentFragment);
fragmentTransaction.commit();
refresh();
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
@@ -157,6 +161,8 @@ public class SettingsFragment extends Fragment {
fragmentTransaction.detach(currentFragment);
fragmentTransaction.attach(currentFragment);
fragmentTransaction.commit();
refreshable.refresh();
}
/**

View File

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

View File

@@ -19,4 +19,7 @@
<string name="done">Done</string>
<string name="cancel">cancel</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>