From 41c20a9feba2d30b0c6c5ffaf096ff0a81b415d2 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Wed, 24 Oct 2012 20:30:55 -0700 Subject: Moved all the menus to separate online/offline menus --- .../res/menu/nowplaying_context_offline.xml | 14 ++++++ .../res/menu/nowplaying_downloading.xml | 27 +++++++++++ subsonic-android/res/menu/nowplaying_offline.xml | 24 ++++++++++ subsonic-android/res/menu/select_album.xml | 34 -------------- .../res/menu/select_album_context_offline.xml | 17 +++++++ .../res/menu/select_artist_context_offline.xml | 18 ++++++++ .../res/menu/select_playlist_context_offline.xml | 17 +++++++ subsonic-android/res/menu/select_song.xml | 54 ++++++++++++++++++++++ .../res/menu/select_song_context_offline.xml | 17 +++++++ subsonic-android/res/menu/select_song_offline.xml | 38 +++++++++++++++ .../dsub/activity/DownloadActivity.java | 46 ++++++------------ .../dsub/activity/SelectAlbumActivity.java | 48 +++++++------------ .../dsub/activity/SelectArtistActivity.java | 5 +- .../dsub/activity/SelectPlaylistActivity.java | 11 ++--- 14 files changed, 266 insertions(+), 104 deletions(-) create mode 100644 subsonic-android/res/menu/nowplaying_context_offline.xml create mode 100644 subsonic-android/res/menu/nowplaying_downloading.xml create mode 100644 subsonic-android/res/menu/nowplaying_offline.xml create mode 100644 subsonic-android/res/menu/select_album_context_offline.xml create mode 100644 subsonic-android/res/menu/select_artist_context_offline.xml create mode 100644 subsonic-android/res/menu/select_playlist_context_offline.xml create mode 100644 subsonic-android/res/menu/select_song.xml create mode 100644 subsonic-android/res/menu/select_song_context_offline.xml create mode 100644 subsonic-android/res/menu/select_song_offline.xml (limited to 'subsonic-android') diff --git a/subsonic-android/res/menu/nowplaying_context_offline.xml b/subsonic-android/res/menu/nowplaying_context_offline.xml new file mode 100644 index 00000000..25d5031b --- /dev/null +++ b/subsonic-android/res/menu/nowplaying_context_offline.xml @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/subsonic-android/res/menu/nowplaying_downloading.xml b/subsonic-android/res/menu/nowplaying_downloading.xml new file mode 100644 index 00000000..60b81a7c --- /dev/null +++ b/subsonic-android/res/menu/nowplaying_downloading.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + diff --git a/subsonic-android/res/menu/nowplaying_offline.xml b/subsonic-android/res/menu/nowplaying_offline.xml new file mode 100644 index 00000000..677f654f --- /dev/null +++ b/subsonic-android/res/menu/nowplaying_offline.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + diff --git a/subsonic-android/res/menu/select_album.xml b/subsonic-android/res/menu/select_album.xml index cd49e44f..5ca9c537 100644 --- a/subsonic-android/res/menu/select_album.xml +++ b/subsonic-android/res/menu/select_album.xml @@ -17,38 +17,4 @@ android:icon="@drawable/action_shuffle" android:title="@string/menu.shuffle" android:showAsAction="ifRoom|withText"/> - - - - - - - - - - - - diff --git a/subsonic-android/res/menu/select_album_context_offline.xml b/subsonic-android/res/menu/select_album_context_offline.xml new file mode 100644 index 00000000..801b6c5d --- /dev/null +++ b/subsonic-android/res/menu/select_album_context_offline.xml @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/subsonic-android/res/menu/select_artist_context_offline.xml b/subsonic-android/res/menu/select_artist_context_offline.xml new file mode 100644 index 00000000..2a6ed744 --- /dev/null +++ b/subsonic-android/res/menu/select_artist_context_offline.xml @@ -0,0 +1,18 @@ + + + + + + + + + diff --git a/subsonic-android/res/menu/select_playlist_context_offline.xml b/subsonic-android/res/menu/select_playlist_context_offline.xml new file mode 100644 index 00000000..90ce9573 --- /dev/null +++ b/subsonic-android/res/menu/select_playlist_context_offline.xml @@ -0,0 +1,17 @@ + + + + + + + + \ No newline at end of file diff --git a/subsonic-android/res/menu/select_song.xml b/subsonic-android/res/menu/select_song.xml new file mode 100644 index 00000000..cd49e44f --- /dev/null +++ b/subsonic-android/res/menu/select_song.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/subsonic-android/res/menu/select_song_context_offline.xml b/subsonic-android/res/menu/select_song_context_offline.xml new file mode 100644 index 00000000..97f24319 --- /dev/null +++ b/subsonic-android/res/menu/select_song_context_offline.xml @@ -0,0 +1,17 @@ + + + + + + + + diff --git a/subsonic-android/res/menu/select_song_offline.xml b/subsonic-android/res/menu/select_song_offline.xml new file mode 100644 index 00000000..6ed43b71 --- /dev/null +++ b/subsonic-android/res/menu/select_song_offline.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java index 604966a9..0fa1ac94 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java @@ -513,32 +513,17 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getSupportMenuInflater(); - inflater.inflate(R.menu.nowplaying, menu); + if(Util.isOffline(this)) { + inflater.inflate(R.menu.nowplaying_offline, menu); + } else { + if(nowPlaying) + inflater.inflate(R.menu.nowplaying, menu); + else + inflater.inflate(R.menu.nowplaying_downloading, menu); + } return true; } - @Override - public boolean onPrepareOptionsMenu(Menu menu) { - MenuItem savePlaylist = menu.findItem(R.id.menu_save_playlist); - boolean enabled = !Util.isOffline(this); - savePlaylist.setEnabled(enabled && nowPlaying); - savePlaylist.setVisible(enabled && nowPlaying); - MenuItem screenOption = menu.findItem(R.id.menu_screen_on_off); - if (getDownloadService() != null && getDownloadService().getKeepScreenOn()) { - screenOption.setTitle(R.string.download_menu_screen_off); - } else { - screenOption.setTitle(R.string.download_menu_screen_on); - } - MenuItem togglePlaying = menu.findItem(R.id.menu_toggle_now_playing); - togglePlaying.setVisible(enabled); - togglePlaying.setTitle(nowPlaying ? R.string.download_show_downloading : R.string.download_show_now_playing); - MenuItem shuffle = menu.findItem(R.id.menu_shuffle); - shuffle.setVisible(nowPlaying); - MenuItem timer = menu.findItem(R.id.menu_toggle_timer); - timer.setTitle(getDownloadService().getSleepTimer() ? R.string.download_stop_timer : R.string.download_start_timer); - return super.onPrepareOptionsMenu(menu); - } - @Override public void onCreateContextMenu(android.view.ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, view, menuInfo); @@ -547,19 +532,16 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi DownloadFile downloadFile = (DownloadFile) playlistView.getItemAtPosition(info.position); android.view.MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.nowplaying_context, menu); + if(Util.isOffline(this)) { + inflater.inflate(R.menu.nowplaying_context_offline, menu); + } else { + inflater.inflate(R.menu.nowplaying_context, menu); + menu.findItem(R.id.menu_star).setTitle(downloadFile.getSong().isStarred() ? R.string.common_unstar : R.string.common_star); + } if (downloadFile.getSong().getParent() == null) { menu.findItem(R.id.menu_show_album).setVisible(false); } - if (Util.isOffline(this)) { - menu.findItem(R.id.menu_lyrics).setVisible(false); - menu.findItem(R.id.menu_save_playlist).setVisible(false); - menu.findItem(R.id.menu_star).setVisible(false); - menu.findItem(R.id.menu_toggle_now_playing).setVisible(false); - } else { - menu.findItem(R.id.menu_star).setTitle(downloadFile.getSong().isStarred() ? R.string.common_unstar : R.string.common_star); - } } } diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SelectAlbumActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SelectAlbumActivity.java index 82405f51..7d9d7df2 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/SelectAlbumActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/SelectAlbumActivity.java @@ -51,12 +51,6 @@ public class SelectAlbumActivity extends SubsonicTabActivity { private View footer; private View emptyView; private boolean hideButtons = false; - private com.actionbarsherlock.view.MenuItem selectAll; - private com.actionbarsherlock.view.MenuItem download; - private com.actionbarsherlock.view.MenuItem cache; - private com.actionbarsherlock.view.MenuItem delete; - private com.actionbarsherlock.view.MenuItem addToPlaylist; - private com.actionbarsherlock.view.MenuItem playLast; private Button moreButton; private boolean licenseValid; @@ -114,20 +108,14 @@ public class SelectAlbumActivity extends SubsonicTabActivity { @Override public boolean onCreateOptionsMenu(Menu menu) { com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater(); - inflater.inflate(R.menu.select_album, menu); - selectAll = menu.findItem(R.id.menu_select); - download = menu.findItem(R.id.menu_download); - cache = menu.findItem(R.id.menu_cache); - delete = menu.findItem(R.id.menu_delete); - addToPlaylist = menu.findItem(R.id.menu_add_playlist); - playLast = menu.findItem(R.id.menu_play_last); if(hideButtons) { - selectAll.setVisible(false); - cache.setVisible(false); - delete.setVisible(false); - playLast.setVisible(false); - addToPlaylist.setVisible(false); + inflater.inflate(R.menu.select_album, menu); hideButtons = false; + } else { + if(Util.isOffline(this)) + inflater.inflate(R.menu.select_song_offline, menu); + else + inflater.inflate(R.menu.select_song, menu); } return true; } @@ -230,15 +218,19 @@ public class SelectAlbumActivity extends SubsonicTabActivity { if (entry.isDirectory()) { MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.select_album_context, menu); + if(Util.isOffline(this)) + inflater.inflate(R.menu.select_album_context_offline, menu); + else + inflater.inflate(R.menu.select_album_context, menu); } else { MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.select_song_context, menu); + if(Util.isOffline(this)) + inflater.inflate(R.menu.select_song_context_offline, menu); + else + inflater.inflate(R.menu.select_song_context, menu); } - if (Util.isOffline(this)) { - menu.findItem(entry.isDirectory() ? R.id.album_menu_star : R.id.song_menu_star).setVisible(false); - } else { + if (!Util.isOffline(this)) { menu.findItem(entry.isDirectory() ? R.id.album_menu_star : R.id.song_menu_star).setTitle(entry.isStarred() ? R.string.common_unstar : R.string.common_star); } } @@ -627,15 +619,9 @@ public class SelectAlbumActivity extends SubsonicTabActivity { if (songCount > 0) { getImageLoader().loadImage(getSupportActionBar(), entries.get(0)); entryList.addFooterView(footer); - } else if(selectAll != null) { - selectAll.setVisible(false); - download.setVisible(false); - cache.setVisible(false); - delete.setVisible(false); - playLast.setVisible(false); - addToPlaylist.setVisible(false); - } else { + } else { hideButtons = true; + invalidateOptionsMenu(); } emptyView.setVisibility(entries.isEmpty() ? View.VISIBLE : View.GONE); diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SelectArtistActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SelectArtistActivity.java index 16e00cc2..f9d45ac8 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/SelectArtistActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/SelectArtistActivity.java @@ -186,7 +186,10 @@ public class SelectArtistActivity extends SubsonicTabActivity implements Adapter if (artistList.getItemAtPosition(info.position) instanceof Artist) { MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.select_artist_context, menu); + if(Util.isOffline(this)) + inflater.inflate(R.menu.select_artist_context_offline, menu); + else + inflater.inflate(R.menu.select_artist_context, menu); } else if (info.position == 0) { String musicFolderId = Util.getSelectedMusicFolderId(this); MenuItem menuItem = menu.add(MENU_GROUP_MUSIC_FOLDER, -1, 0, R.string.select_artist_all_folders); diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SelectPlaylistActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SelectPlaylistActivity.java index 9aa13070..d667d3ff 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/SelectPlaylistActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/SelectPlaylistActivity.java @@ -118,12 +118,11 @@ public class SelectPlaylistActivity extends SubsonicTabActivity implements Adapt public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, view, menuInfo); - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.select_playlist_context, menu); - - if (Util.isOffline(this)) { - menu.findItem(R.id.playlist_menu_delete).setVisible(false); - } + MenuInflater inflater = getMenuInflater(); + if (Util.isOffline(this)) + inflater.inflate(R.menu.select_playlist_context_offline, menu); + else + inflater.inflate(R.menu.select_playlist_context, menu); } @Override -- cgit v1.2.3