diff --git a/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java b/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java
index 8a88052..8afb0f3 100644
--- a/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java
+++ b/app/src/main/java/de/jg_cody/Teraplex/MainActivity.java
@@ -1,53 +1,41 @@
package de.jg_cody.Teraplex;
-import android.content.Context;
+import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.content.res.Configuration;
import android.content.res.Resources;
-import android.graphics.Color;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
-import android.preference.Preference;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.util.Log;
import android.util.TypedValue;
+import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
-import android.view.Menu;
-import android.widget.ArrayAdapter;
-import android.widget.Button;
-import android.widget.EditText;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
import android.widget.Toast;
-import com.google.android.material.floatingactionbutton.FloatingActionButton;
-import com.google.android.material.navigation.NavigationView;
-import com.google.android.material.snackbar.Snackbar;
-
-import androidx.appcompat.widget.AppCompatSpinner;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
+import androidx.drawerlayout.widget.DrawerLayout;
import androidx.fragment.app.FragmentTransaction;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;
-import androidx.drawerlayout.widget.DrawerLayout;
-import androidx.appcompat.app.AppCompatActivity;
-import androidx.appcompat.widget.Toolbar;
-import java.util.ArrayList;
-import java.util.List;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
+import com.google.android.material.navigation.NavigationView;
+
+import java.util.Locale;
import de.jg_cody.Teraplex.ui.Credits.CreditsFragment;
import de.jg_cody.Teraplex.ui.Einstellungen.EinstellungenFragment;
import de.jg_cody.Teraplex.ui.Konsole.KonsoleFragment;
import de.jg_cody.Teraplex.ui.home.HomeFragment;
-import static java.security.AccessController.getContext;
-
public class MainActivity extends AppCompatActivity implements AddButtonDialog.AddButtonDialogListener {
@@ -62,6 +50,14 @@ public class MainActivity extends AppCompatActivity implements AddButtonDialog.A
.commit();
NonDeveloperMessage.maybeShow(this);*/
}
+ SharedPreferences p = getSharedPreferences("SETTINGS", Activity.MODE_PRIVATE);
+ String Language = p.getString("My_Lang", "");
+ Locale locale = new Locale(Language);
+ Locale.setDefault(locale);
+ Configuration config = new Configuration();
+ config.locale = locale;
+ getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
+
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
@@ -73,6 +69,7 @@ public class MainActivity extends AppCompatActivity implements AddButtonDialog.A
openDialog1();
}
});
+
FloatingActionButton removefab = findViewById(R.id.removebutton_fab);
removefab.setOnClickListener(new View.OnClickListener() {
@Override
@@ -106,6 +103,7 @@ public class MainActivity extends AppCompatActivity implements AddButtonDialog.A
}
+
/*static public class DemoPreferenceFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
@@ -159,6 +157,7 @@ public class MainActivity extends AppCompatActivity implements AddButtonDialog.A
AddButtonsDialog AddButtonsDialog = new AddButtonsDialog();
AddButtonsDialog.show(getSupportFragmentManager(), "example dialog");
}
+
public void openDialog2() {
AddButtonDialog AddButtonDialog = new AddButtonDialog();
AddButtonDialog.show(getSupportFragmentManager(), "example dialog");
diff --git a/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenFragment.java b/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenFragment.java
index 6676545..2835c63 100644
--- a/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenFragment.java
+++ b/app/src/main/java/de/jg_cody/Teraplex/ui/Einstellungen/EinstellungenFragment.java
@@ -2,6 +2,8 @@ package de.jg_cody.Teraplex.ui.Einstellungen;
import android.app.AlertDialog;
import android.content.DialogInterface;
+import android.content.SharedPreferences;
+import android.content.res.Configuration;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -18,8 +20,12 @@ import androidx.lifecycle.ViewModelProvider;
import com.rarepebble.colorpicker.ColorPickerView;
+import java.util.Locale;
+
import de.jg_cody.Teraplex.R;
+import static android.content.Context.MODE_PRIVATE;
+
public class EinstellungenFragment extends Fragment {
private EinstellungenViewModel einstellungenViewModel;
@@ -56,7 +62,53 @@ public class EinstellungenFragment extends Fragment {
}
}
});
+ Button Language = root.findViewById(R.id.button_language);
+ Language.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ showChangeLanguageDialog();
+
+ }
+ });
+
return root;
}
+ private void showChangeLanguageDialog() {
+ final String[] listItems = {"GERMAN", "ENGLISCH", "KLINGONISCH"};
+ AlertDialog.Builder mBuilder = new AlertDialog.Builder(getContext());
+ mBuilder.setTitle("CHOOSE LANGUAGE");
+ mBuilder.setSingleChoiceItems(listItems, -5, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialogInterface, int i) {
+ if (i == 0) {
+ setLocale("de");
+ startActivity(getActivity().getIntent());
+ getActivity().finish();
+ } else if (i == 1) {
+ setLocale("en");
+ startActivity(getActivity().getIntent());
+ getActivity().finish();
+ } else if (i == 2) {
+ setLocale("tlh");
+ startActivity(getActivity().getIntent());
+ getActivity().finish();
+ }
+ dialogInterface.dismiss();
+ }
+ });
+ AlertDialog mDialog = mBuilder.create();
+ mDialog.show();
+ }
+
+ private void setLocale(String lang) {
+ Locale locale = new Locale(lang);
+ Locale.setDefault(locale);
+ Configuration config = new Configuration();
+ config.locale = locale;
+ getContext().getResources().updateConfiguration(config, getContext().getResources().getDisplayMetrics());
+ SharedPreferences.Editor editor = getContext().getSharedPreferences("SETTINGS", MODE_PRIVATE).edit();
+ editor.putString("My_Lang", lang);
+ editor.apply();
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_einstellungen.xml b/app/src/main/res/layout/fragment_einstellungen.xml
index d427e14..3dc09bc 100644
--- a/app/src/main/res/layout/fragment_einstellungen.xml
+++ b/app/src/main/res/layout/fragment_einstellungen.xml
@@ -15,10 +15,10 @@
android:src="@drawable/background"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintHorizontal_bias="0.5"
+ app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintVertical_bias="0.0" />
+ app:layout_constraintVertical_bias="1.0" />
@@ -80,15 +80,15 @@
android:id="@+id/reset_settings"
android:layout_width="225dp"
android:layout_height="51dp"
- android:layout_marginTop="50dp"
android:gravity="center_horizontal"
android:text="EINSTELLUNGEN ZURÜCKSETZEN"
android:textAlignment="center"
android:textColor="#FFFFFF"
android:textSize="20dp"
+ app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/spSprachen" />
+ app:layout_constraintTop_toTopOf="@+id/Background" />
-
-
-
-
+ app:layout_constraintTop_toBottomOf="@+id/colors" />
+
+