diff --git a/src/ch/blinkenlights/android/vanilla/FullPlaybackActivity.java b/src/ch/blinkenlights/android/vanilla/FullPlaybackActivity.java index b4854019..d5d95248 100644 --- a/src/ch/blinkenlights/android/vanilla/FullPlaybackActivity.java +++ b/src/ch/blinkenlights/android/vanilla/FullPlaybackActivity.java @@ -353,7 +353,6 @@ public class FullPlaybackActivity extends PlaybackActivity public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); - menu.add(0, MENU_CLEAR_QUEUE, 0, R.string.dequeue_rest); menu.add(0, MENU_DELETE, 0, R.string.delete); menu.add(0, MENU_ENQUEUE_ALBUM, 0, R.string.enqueue_current_album).setIcon(R.drawable.ic_menu_add); menu.add(0, MENU_ENQUEUE_ARTIST, 0, R.string.enqueue_current_artist).setIcon(R.drawable.ic_menu_add); diff --git a/src/ch/blinkenlights/android/vanilla/PlaybackActivity.java b/src/ch/blinkenlights/android/vanilla/PlaybackActivity.java index 97e34d98..7ec5c446 100644 --- a/src/ch/blinkenlights/android/vanilla/PlaybackActivity.java +++ b/src/ch/blinkenlights/android/vanilla/PlaybackActivity.java @@ -382,6 +382,8 @@ public abstract class PlaybackActivity extends Activity menu.add(0, MENU_PREFS, 0, R.string.settings).setIcon(R.drawable.ic_menu_preferences); menu.add(0, MENU_SHOW_QUEUE, 0, R.string.show_queue); menu.add(0, MENU_HIDE_QUEUE, 0, R.string.hide_queue); + menu.add(0, MENU_CLEAR_QUEUE, 0, R.string.dequeue_rest); + onSlideFullyExpanded(false); return true; } @@ -408,14 +410,30 @@ public abstract class PlaybackActivity extends Activity /** - * Called by SlidingView to signal a visibility change + * Called by SlidingView to signal a visibility change. + * Toggles the visibility of menu items + * + * @param expanded true if slide fully expanded */ @Override - public void onSlideFullyExpanded(boolean visible) { + public void onSlideFullyExpanded(boolean expanded) { if (mMenu == null) return; // not initialized yet - mMenu.findItem(MENU_HIDE_QUEUE).setVisible(visible); - mMenu.findItem(MENU_SHOW_QUEUE).setVisible(!visible); + + final int[] slide_visible = {MENU_HIDE_QUEUE, MENU_CLEAR_QUEUE}; + final int[] slide_hidden = {MENU_SHOW_QUEUE, MENU_SORT}; + + for (int id : slide_visible) { + MenuItem item = mMenu.findItem(id); + if (item != null) + item.setVisible(expanded); + } + + for (int id : slide_hidden) { + MenuItem item = mMenu.findItem(id); + if (item != null) + item.setVisible(!expanded); + } } /** diff --git a/src/ch/blinkenlights/android/vanilla/SlidingView.java b/src/ch/blinkenlights/android/vanilla/SlidingView.java index b97eb803..d349bb83 100644 --- a/src/ch/blinkenlights/android/vanilla/SlidingView.java +++ b/src/ch/blinkenlights/android/vanilla/SlidingView.java @@ -85,7 +85,7 @@ public class SlidingView extends FrameLayout */ private Callback mCallback; public interface Callback { - public abstract void onSlideFullyExpanded(boolean visible); + public abstract void onSlideFullyExpanded(boolean expanded); }