2
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2025-08-22 10:09:39 +00:00

Show tabs above kiosks in drawer

This commit is contained in:
Stypox 2025-07-31 22:48:13 +02:00
parent 8400a9ae8e
commit d96c0aebb1
No known key found for this signature in database
GPG Key ID: 4BDF1B40A49FDD23
2 changed files with 34 additions and 27 deletions

View File

@ -263,19 +263,6 @@ public class MainActivity extends AppCompatActivity {
*/ */
private void addDrawerMenuForCurrentService() throws ExtractionException { private void addDrawerMenuForCurrentService() throws ExtractionException {
//Tabs //Tabs
final int currentServiceId = ServiceHelper.getSelectedServiceId(this);
final StreamingService service = NewPipe.getService(currentServiceId);
int kioskMenuItemId = 0;
for (final String ks : service.getKioskList().getAvailableKiosks()) {
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_tabs_group, kioskMenuItemId, 0, KioskTranslator
.getTranslatedKioskName(ks, this))
.setIcon(KioskTranslator.getKioskIcon(ks));
kioskMenuItemId++;
}
drawerLayoutBinding.navigation.getMenu() drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_tabs_group, ITEM_ID_SUBSCRIPTIONS, ORDER, .add(R.id.menu_tabs_group, ITEM_ID_SUBSCRIPTIONS, ORDER,
R.string.tab_subscriptions) R.string.tab_subscriptions)
@ -293,6 +280,20 @@ public class MainActivity extends AppCompatActivity {
.add(R.id.menu_tabs_group, ITEM_ID_HISTORY, ORDER, R.string.action_history) .add(R.id.menu_tabs_group, ITEM_ID_HISTORY, ORDER, R.string.action_history)
.setIcon(R.drawable.ic_history); .setIcon(R.drawable.ic_history);
//Kiosks
final int currentServiceId = ServiceHelper.getSelectedServiceId(this);
final StreamingService service = NewPipe.getService(currentServiceId);
int kioskMenuItemId = 0;
for (final String ks : service.getKioskList().getAvailableKiosks()) {
drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_kiosks_group, kioskMenuItemId, 0, KioskTranslator
.getTranslatedKioskName(ks, this))
.setIcon(KioskTranslator.getKioskIcon(ks));
kioskMenuItemId++;
}
//Settings and About //Settings and About
drawerLayoutBinding.navigation.getMenu() drawerLayoutBinding.navigation.getMenu()
.add(R.id.menu_options_about_group, ITEM_ID_SETTINGS, ORDER, R.string.settings) .add(R.id.menu_options_about_group, ITEM_ID_SETTINGS, ORDER, R.string.settings)
@ -312,10 +313,13 @@ public class MainActivity extends AppCompatActivity {
changeService(item); changeService(item);
break; break;
case R.id.menu_tabs_group: case R.id.menu_tabs_group:
try {
tabSelected(item); tabSelected(item);
break;
case R.id.menu_kiosks_group:
try {
kioskSelected(item);
} catch (final Exception e) { } catch (final Exception e) {
ErrorUtil.showUiErrorSnackbar(this, "Selecting main page tab", e); ErrorUtil.showUiErrorSnackbar(this, "Selecting drawer kiosk", e);
} }
break; break;
case R.id.menu_options_about_group: case R.id.menu_options_about_group:
@ -339,7 +343,7 @@ public class MainActivity extends AppCompatActivity {
.setChecked(true); .setChecked(true);
} }
private void tabSelected(final MenuItem item) throws ExtractionException { private void tabSelected(final MenuItem item) {
switch (item.getItemId()) { switch (item.getItemId()) {
case ITEM_ID_SUBSCRIPTIONS: case ITEM_ID_SUBSCRIPTIONS:
NavigationHelper.openSubscriptionFragment(getSupportFragmentManager()); NavigationHelper.openSubscriptionFragment(getSupportFragmentManager());
@ -356,7 +360,10 @@ public class MainActivity extends AppCompatActivity {
case ITEM_ID_HISTORY: case ITEM_ID_HISTORY:
NavigationHelper.openStatisticFragment(getSupportFragmentManager()); NavigationHelper.openStatisticFragment(getSupportFragmentManager());
break; break;
default: }
}
private void kioskSelected(final MenuItem item) throws ExtractionException {
final StreamingService currentService = ServiceHelper.getSelectedService(this); final StreamingService currentService = ServiceHelper.getSelectedService(this);
int kioskMenuItemId = 0; int kioskMenuItemId = 0;
for (final String kioskId : currentService.getKioskList().getAvailableKiosks()) { for (final String kioskId : currentService.getKioskList().getAvailableKiosks()) {
@ -367,8 +374,6 @@ public class MainActivity extends AppCompatActivity {
} }
kioskMenuItemId++; kioskMenuItemId++;
} }
break;
}
} }
private void optionsAboutSelected(final MenuItem item) { private void optionsAboutSelected(final MenuItem item) {
@ -408,6 +413,7 @@ public class MainActivity extends AppCompatActivity {
drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_services_group); drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_services_group);
drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_tabs_group); drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_tabs_group);
drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_kiosks_group);
drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_options_about_group); drawerLayoutBinding.navigation.getMenu().removeGroup(R.id.menu_options_about_group);
// Show up or down arrow // Show up or down arrow

View File

@ -2,5 +2,6 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:id="@+id/menu_services_group" /> <group android:id="@+id/menu_services_group" />
<group android:id="@+id/menu_tabs_group" /> <group android:id="@+id/menu_tabs_group" />
<group android:id="@+id/menu_kiosks_group" />
<group android:id="@+id/menu_options_about_group" /> <group android:id="@+id/menu_options_about_group" />
</menu> </menu>