Merge branch 'languages' into follow-route
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
5
app/src/main/java/com/a1/nextlocation/Refreshable.java
Normal file
5
app/src/main/java/com/a1/nextlocation/Refreshable.java
Normal file
@@ -0,0 +1,5 @@
|
||||
package com.a1.nextlocation;
|
||||
|
||||
public interface Refreshable {
|
||||
void refresh();
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user