Share menu code between FullPlaybackActivity and SongSelector

This allows SongSelector to have a shuffle menu item
This commit is contained in:
Christopher Eby 2010-04-11 10:44:53 -05:00
parent 003014945a
commit 5f856b6148
2 changed files with 25 additions and 25 deletions

View File

@ -64,6 +64,7 @@ public class FullPlaybackActivity extends PlaybackActivity implements View.OnCli
private static final int MENU_PREFS = 2;
private static final int MENU_LIBRARY = 3;
private static final int MENU_SHUFFLE = 4;
private static final int MENU_PLAYBACK = 5;
@Override
public void onCreate(Bundle icicle)
@ -174,14 +175,23 @@ public class FullPlaybackActivity extends PlaybackActivity implements View.OnCli
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
public void fillMenu(Menu menu, boolean fromDialog)
{
menu.add(0, MENU_DISPLAY, 0, R.string.display_mode).setIcon(android.R.drawable.ic_menu_gallery);
menu.add(0, MENU_LIBRARY, 0, R.string.library).setIcon(android.R.drawable.ic_menu_add);
if (fromDialog) {
menu.add(0, MENU_PLAYBACK, 0, R.string.playback_view).setIcon(android.R.drawable.ic_menu_gallery);
} else {
menu.add(0, MENU_DISPLAY, 0, R.string.display_mode).setIcon(android.R.drawable.ic_menu_gallery);
menu.add(0, MENU_LIBRARY, 0, R.string.library).setIcon(android.R.drawable.ic_menu_add);
}
menu.add(0, MENU_SHUFFLE, 0, R.string.shuffle_enable).setIcon(R.drawable.ic_menu_shuffle);
menu.add(0, MENU_PREFS, 0, R.string.settings).setIcon(android.R.drawable.ic_menu_preferences);
menu.add(0, MENU_QUIT, 0, R.string.quit).setIcon(android.R.drawable.ic_menu_close_clear_cancel);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
fillMenu(menu, false);
return true;
}
@ -206,6 +216,9 @@ public class FullPlaybackActivity extends PlaybackActivity implements View.OnCli
case MENU_PREFS:
startActivity(new Intent(this, PreferencesActivity.class));
break;
case MENU_PLAYBACK:
dismissDialog(SONG_SELECTOR);
break;
case MENU_LIBRARY:
showDialog(SONG_SELECTOR);
break;

View File

@ -267,9 +267,6 @@ public class SongSelector extends Dialog implements AdapterView.OnItemClickListe
private static final int MENU_PLAY = 0;
private static final int MENU_ENQUEUE = 1;
private static final int MENU_EXPAND = 2;
private static final int MENU_PLAYBACK = 3;
private static final int MENU_PREFS = 4;
private static final int MENU_QUIT = 5;
@Override
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo absInfo)
@ -308,30 +305,20 @@ public class SongSelector extends Dialog implements AdapterView.OnItemClickListe
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
menu.add(0, MENU_PLAYBACK, 0, R.string.playback_view).setIcon(android.R.drawable.ic_menu_gallery);
menu.add(0, MENU_PREFS, 0, R.string.settings).setIcon(android.R.drawable.ic_menu_preferences);
menu.add(0, MENU_QUIT, 0, R.string.quit).setIcon(android.R.drawable.ic_menu_close_clear_cancel);
((FullPlaybackActivity)getOwnerActivity()).fillMenu(menu, true);
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu)
{
return ((FullPlaybackActivity)getOwnerActivity()).onPrepareOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId()) {
case MENU_QUIT:
ContextApplication.quit(getContext());
break;
case MENU_PREFS:
getContext().startActivity(new Intent(getContext(), PreferencesActivity.class));
break;
case MENU_PLAYBACK:
dismiss();
break;
default:
return false;
}
return true;
return ((FullPlaybackActivity)getOwnerActivity()).onOptionsItemSelected(item);
}
// onContextItemSelected and friends are not called when they should be. Do