From 4275183b7912d6f19c12c076a0a1c756db317338 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 27 Jun 2020 12:23:03 +0200 Subject: [PATCH] Some improvements --- .../app/fedilab/fedilabtube/MainActivity.java | 54 +++++++++++++++++++ .../fedilab/fedilabtube/helper/Helper.java | 5 +- .../drawable/ic_baseline_track_changes_24.xml | 10 ++++ app/src/main/res/menu/main_menu.xml | 15 ++++++ app/src/main/res/values/strings.xml | 3 ++ 5 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 app/src/main/res/drawable/ic_baseline_track_changes_24.xml create mode 100644 app/src/main/res/menu/main_menu.xml diff --git a/app/src/main/java/app/fedilab/fedilabtube/MainActivity.java b/app/src/main/java/app/fedilab/fedilabtube/MainActivity.java index f4ec908..88078b9 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/MainActivity.java +++ b/app/src/main/java/app/fedilab/fedilabtube/MainActivity.java @@ -1,8 +1,14 @@ package app.fedilab.fedilabtube; +import android.content.Context; +import android.content.DialogInterface; +import android.content.SharedPreferences; import android.os.AsyncTask; import android.os.Bundle; +import android.view.Menu; +import android.view.MenuItem; +import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.navigation.NavController; import androidx.navigation.Navigation; @@ -11,7 +17,13 @@ import androidx.navigation.ui.NavigationUI; import com.google.android.material.bottomnavigation.BottomNavigationView; +import org.jetbrains.annotations.NotNull; + import app.fedilab.fedilabtube.asynctasks.RetrievePeertubeInformationAsyncTask; +import app.fedilab.fedilabtube.helper.Helper; + +import static app.fedilab.fedilabtube.helper.Helper.academies; +import static app.fedilab.fedilabtube.helper.Helper.getLiveInstance; public class MainActivity extends AppCompatActivity { @@ -36,4 +48,46 @@ public class MainActivity extends AppCompatActivity { NavigationUI.setupWithNavController(navView, navController); } + @Override + public boolean onCreateOptionsMenu(@NotNull Menu menu) { + getMenuInflater().inflate(R.menu.main_menu, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == R.id.action_change_instance) { + showRadioButtonDialog(); + return true; + } + return super.onOptionsItemSelected(item); + } + + + private void showRadioButtonDialog() { + + AlertDialog.Builder alt_bld = new AlertDialog.Builder(this); + alt_bld.setTitle(R.string.instance_choice); + final SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); + String acad = sharedpreferences.getString(Helper.PREF_INSTANCE, "ac-lyon.fr"); + int i = 0; + for(String item: academies){ + if( item.compareTo(acad) == 0) { + break; + } + i++; + } + alt_bld.setSingleChoiceItems(academies, i, (dialog, item) -> { + String newInstance = academies[item]; + SharedPreferences.Editor editor = sharedpreferences.edit(); + editor.putString(Helper.PREF_INSTANCE, newInstance); + editor.commit(); + dialog.dismiss(); + recreate(); + + }); + AlertDialog alert = alt_bld.create(); + alert.show(); + + } } \ No newline at end of file diff --git a/app/src/main/java/app/fedilab/fedilabtube/helper/Helper.java b/app/src/main/java/app/fedilab/fedilabtube/helper/Helper.java index 53526d2..ab3f5f5 100644 --- a/app/src/main/java/app/fedilab/fedilabtube/helper/Helper.java +++ b/app/src/main/java/app/fedilab/fedilabtube/helper/Helper.java @@ -119,7 +119,8 @@ public class Helper { public static final String SET_DISPLAY_CONFIRM = "set_display_confirm"; public static final String INTENT_ADD_UPLOADED_MEDIA = "intent_add_uploaded_media"; //List of available academies - public static List academies = new ArrayList<>(Arrays.asList( + + public static String[] academies = { "ac-aix-marseille.fr", "ac-amiens.fr", "ac-besancon.fr", @@ -150,7 +151,7 @@ public class Helper { "ac-strasbourg.fr", "ac-toulouse.fr", "ac-versailles.fr" - )); + }; /** * Returns the peertube URL depending of the academic domain name diff --git a/app/src/main/res/drawable/ic_baseline_track_changes_24.xml b/app/src/main/res/drawable/ic_baseline_track_changes_24.xml new file mode 100644 index 0000000..0909be1 --- /dev/null +++ b/app/src/main/res/drawable/ic_baseline_track_changes_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/menu/main_menu.xml b/app/src/main/res/menu/main_menu.xml new file mode 100644 index 0000000..9a67115 --- /dev/null +++ b/app/src/main/res/menu/main_menu.xml @@ -0,0 +1,15 @@ + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0cad826..0765224 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -94,4 +94,7 @@ Afficher les vidéos sensibles Vous n\'avez aucune liste de lecture. Cliquez sur l\'icône « + » pour en ajouter une Vous devez être connecté.e pour effectuer cette action ! + Changer d\'instance + Compte + Choisissez une instance \ No newline at end of file