From 9fd701b10274e501284c5f922f9eb6a33b17eb26 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sun, 19 Mar 2023 16:26:20 +0100 Subject: Add settings --- .../android/peertube/activities/PeertubeMainActivity.java | 7 +++++++ .../fedilab/android/peertube/fragment/SettingsFragment.java | 11 +++++++++++ app/src/main/res/menus/peertube/menu/main_menu_peertube.xml | 6 ++++++ app/src/main/res/xml/main_preferences.xml | 10 +++++++++- 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/app/fedilab/android/peertube/activities/PeertubeMainActivity.java b/app/src/main/java/app/fedilab/android/peertube/activities/PeertubeMainActivity.java index 5add6433b..15e9e18ef 100644 --- a/app/src/main/java/app/fedilab/android/peertube/activities/PeertubeMainActivity.java +++ b/app/src/main/java/app/fedilab/android/peertube/activities/PeertubeMainActivity.java @@ -665,6 +665,8 @@ public class PeertubeMainActivity extends PeertubeBaseMainActivity { MenuItem changeInstanceItem = menu.findItem(R.id.action_change_instance); MenuItem exitItem = menu.findItem(R.id.action_exit); MenuItem sepiaSearchItem = menu.findItem(R.id.action_sepia_search); + MenuItem settingsItem = menu.findItem(R.id.action_settings); + switch (typeOfConnection) { case NORMAL: incognitoItem.setVisible(true); @@ -674,6 +676,7 @@ public class PeertubeMainActivity extends PeertubeBaseMainActivity { changeInstanceItem.setVisible(false); exitItem.setVisible(false); sepiaSearchItem.setVisible(false); + settingsItem.setVisible(false); break; case REMOTE_ACCOUNT: case SURFING: @@ -681,6 +684,7 @@ public class PeertubeMainActivity extends PeertubeBaseMainActivity { changeInstanceItem.setVisible(true); exitItem.setVisible(true); sepiaSearchItem.setVisible(true); + settingsItem.setVisible(true); break; } @@ -759,6 +763,9 @@ public class PeertubeMainActivity extends PeertubeBaseMainActivity { } else if (item.getItemId() == R.id.action_sepia_search) { Intent intent = new Intent(PeertubeMainActivity.this, SepiaSearchActivity.class); startActivity(intent); + } else if (item.getItemId() == R.id.action_settings) { + Intent intent = new Intent(PeertubeMainActivity.this, SettingsActivity.class); + startActivity(intent); } return true; } diff --git a/app/src/main/java/app/fedilab/android/peertube/fragment/SettingsFragment.java b/app/src/main/java/app/fedilab/android/peertube/fragment/SettingsFragment.java index 5afa7ec9e..57b41d7ae 100644 --- a/app/src/main/java/app/fedilab/android/peertube/fragment/SettingsFragment.java +++ b/app/src/main/java/app/fedilab/android/peertube/fragment/SettingsFragment.java @@ -1,6 +1,7 @@ package app.fedilab.android.peertube.fragment; +import static app.fedilab.android.peertube.activities.PeertubeMainActivity.typeOfConnection; import static app.fedilab.android.peertube.activities.PeertubeMainActivity.userMe; import android.content.Intent; @@ -20,6 +21,7 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.preference.ListPreference; import androidx.preference.MultiSelectListPreference; import androidx.preference.Preference; +import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceFragmentCompat; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; @@ -278,6 +280,15 @@ public class SettingsFragment extends PreferenceFragmentCompat implements Shared return; } + + if (typeOfConnection == PeertubeMainActivity.TypeOfConnection.REMOTE_ACCOUNT) { + PreferenceCategory theming_category = findPreference("theming_category"); + if (theming_category != null) { + getPreferenceScreen().removePreference(theming_category); + } + } + + //****** My Account ****** Preference my_account = findPreference("my_account"); diff --git a/app/src/main/res/menus/peertube/menu/main_menu_peertube.xml b/app/src/main/res/menus/peertube/menu/main_menu_peertube.xml index 92c82aa23..2c0b2df5e 100644 --- a/app/src/main/res/menus/peertube/menu/main_menu_peertube.xml +++ b/app/src/main/res/menus/peertube/menu/main_menu_peertube.xml @@ -26,6 +26,12 @@ android:title="@string/sepia_search" android:visible="false" app:showAsAction="never" /> + + + + + - +