Skip to content

Commit e4e4ed4

Browse files
Merge pull request #290 from BURG3R5/feature/hide_kiosk
Add "Show kiosks in drawer" toggle
2 parents 2c56173 + c2f69e3 commit e4e4ed4

File tree

6 files changed

+46
-9
lines changed

6 files changed

+46
-9
lines changed

app/src/main/java/org/schabi/newpipe/MainActivity.java

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -284,15 +284,18 @@ private void addDrawerMenuForCurrentService() throws ExtractionException {
284284
//Kiosks
285285
final int currentServiceId = ServiceHelper.getSelectedServiceId(this);
286286
final StreamingService service = NewPipe.getService(currentServiceId);
287-
288-
int kioskMenuItemId = 0;
289-
290-
for (final String ks : service.getKioskList().getAvailableKiosks()) {
291-
drawerLayoutBinding.navigation.getMenu()
292-
.add(R.id.menu_kiosks_group, kioskMenuItemId, 0, KioskTranslator
293-
.getTranslatedKioskName(ks, this))
294-
.setIcon(KioskTranslator.getKioskIcon(ks));
295-
kioskMenuItemId++;
287+
final boolean showKiosks = sharedPreferences.getBoolean(
288+
getString(R.string.show_kiosks_key), true);
289+
290+
if (showKiosks) {
291+
int kioskMenuItemId = 0;
292+
for (final String ks : service.getKioskList().getAvailableKiosks()) {
293+
drawerLayoutBinding.navigation.getMenu()
294+
.add(R.id.menu_kiosks_group, kioskMenuItemId, 0, KioskTranslator
295+
.getTranslatedKioskName(ks, this))
296+
.setIcon(KioskTranslator.getKioskIcon(ks));
297+
kioskMenuItemId++;
298+
}
296299
}
297300

298301
//Settings and About
@@ -547,6 +550,19 @@ protected void onResume() {
547550
NavigationHelper.openMainActivity(this);
548551
}
549552

553+
if (sharedPreferences.getBoolean(Constants.KEY_DRAWER_CHANGE, false)) {
554+
if (DEBUG) {
555+
Log.d(TAG, "Drawer settings have changed, recreating drawer menu...");
556+
}
557+
sharedPreferences.edit().putBoolean(Constants.KEY_DRAWER_CHANGE, false).apply();
558+
try {
559+
drawerLayoutBinding.navigation.getMenu().clear();
560+
addDrawerMenuForCurrentService();
561+
} catch (final Exception e) {
562+
ErrorUtil.showUiErrorSnackbar(this, "Rebuilding drawer menu", e);
563+
}
564+
}
565+
550566
final boolean isHistoryEnabled = sharedPreferences.getBoolean(
551567
getString(R.string.enable_watch_history_key), true);
552568
drawerLayoutBinding.navigation.getMenu().findItem(ITEM_ID_HISTORY)

app/src/main/java/org/schabi/newpipe/settings/AppearanceSettingsFragment.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,14 @@ public void onCreatePreferences(final Bundle savedInstanceState, final String ro
5252
getString(R.string.auto_device_theme_title)));
5353
}
5454
}
55+
56+
final String showKiosksKey = getString(R.string.show_kiosks_key);
57+
findPreference(showKiosksKey).setOnPreferenceChangeListener((preference, newValue) -> {
58+
defaultPreferences.edit()
59+
.putBoolean(Constants.KEY_DRAWER_CHANGE, true)
60+
.apply();
61+
return true;
62+
});
5563
}
5664

5765
@Override

app/src/main/java/org/schabi/newpipe/util/Constants.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@ const val KEY_SEARCH_STRING = "key_search_string"
1616

1717
const val KEY_THEME_CHANGE = "key_theme_change"
1818
const val KEY_MAIN_PAGE_CHANGE = "key_main_page_change"
19+
const val KEY_DRAWER_CHANGE = "key_drawer_change"
1920

2021
const val NO_SERVICE_ID = -1

app/src/main/res/values/settings_keys.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1564,6 +1564,8 @@
15641564
<item>@string/image_quality_high_key</item>
15651565
</string-array>
15661566

1567+
<string name="show_kiosks_key">show_kiosks</string>
1568+
15671569
<!-- SponsorBlock -->
15681570
<string name="sponsor_block_home_page_key" translatable="false">sponsor_block_home_page</string>
15691571
<string name="sponsor_block_enable_key" translatable="false">sponsor_block_enable</string>

app/src/main/res/values/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -886,6 +886,8 @@
886886
<string name="trending_podcasts">Trending podcasts</string>
887887
<string name="trending_movies">Trending movies and shows</string>
888888
<string name="trending_music">Trending music</string>
889+
<string name="show_kiosks_title">Show kiosks in drawer</string>
890+
<string name="show_kiosks_summary">Show trending, most liked, and other kiosks</string>
889891
<string name="entry_deleted">Entry deleted</string>
890892
<string name="player_http_403">HTTP error 403 received from server while playing, likely caused by streaming URL expiration or an IP ban</string>
891893
<string name="player_http_invalid_status">HTTP error %1$s received from server while playing</string>

app/src/main/res/xml/appearance_settings.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,12 @@
6666
app:singleLineTitle="false"
6767
app:iconSpaceReserved="false" />
6868

69+
<SwitchPreferenceCompat
70+
android:defaultValue="true"
71+
android:key="@string/show_kiosks_key"
72+
android:summary="@string/show_kiosks_summary"
73+
android:title="@string/show_kiosks_title"
74+
app:iconSpaceReserved="false"
75+
app:singleLineTitle="false" />
76+
6977
</PreferenceScreen>

0 commit comments

Comments
 (0)