From 1b56144d2b18f7330c0d79e847b52ceafdf53de6 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Sat, 8 Sep 2012 21:44:56 -0700 Subject: Revert "Revert "Started to work on move to ActionBarSherlock"" This reverts commit 00646f4aacd09c24d13170fe78bb144f1a98c4f6. --- subsonic-android/AndroidManifest.xml | 4 +- subsonic-android/project.properties | 1 + subsonic-android/res/layout/main.xml | 6 -- subsonic-android/res/layout/select_album.xml | 2 - subsonic-android/res/layout/select_artist.xml | 2 - subsonic-android/res/layout/select_playlist.xml | 2 - subsonic-android/res/menu/main.xml | 38 +++++--- subsonic-android/res/menu/select_album.xml | 30 ++++++ subsonic-android/res/menu/select_artist.xml | 30 ++++++ subsonic-android/res/menu/select_playlist.xml | 24 +++++ subsonic-android/res/values/strings.xml | 4 + .../dsub/activity/DownloadActivity.java | 15 +-- .../daneren2005/dsub/activity/MainActivity.java | 103 ++++++++++----------- .../dsub/activity/SelectAlbumActivity.java | 70 +++++++------- .../dsub/activity/SelectArtistActivity.java | 76 +++++++-------- .../dsub/activity/SelectPlaylistActivity.java | 61 ++++++------ .../dsub/activity/SubsonicTabActivity.java | 61 ++---------- 17 files changed, 276 insertions(+), 253 deletions(-) create mode 100644 subsonic-android/res/menu/select_album.xml create mode 100644 subsonic-android/res/menu/select_artist.xml create mode 100644 subsonic-android/res/menu/select_playlist.xml diff --git a/subsonic-android/AndroidManifest.xml b/subsonic-android/AndroidManifest.xml index 8956ef8d..04136ffc 100644 --- a/subsonic-android/AndroidManifest.xml +++ b/subsonic-android/AndroidManifest.xml @@ -14,11 +14,11 @@ - + - + - - - - - - - - + + + - + - + - + diff --git a/subsonic-android/res/menu/select_album.xml b/subsonic-android/res/menu/select_album.xml new file mode 100644 index 00000000..a5f2a3a9 --- /dev/null +++ b/subsonic-android/res/menu/select_album.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + diff --git a/subsonic-android/res/menu/select_artist.xml b/subsonic-android/res/menu/select_artist.xml new file mode 100644 index 00000000..42916622 --- /dev/null +++ b/subsonic-android/res/menu/select_artist.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + diff --git a/subsonic-android/res/menu/select_playlist.xml b/subsonic-android/res/menu/select_playlist.xml new file mode 100644 index 00000000..46d863cd --- /dev/null +++ b/subsonic-android/res/menu/select_playlist.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + diff --git a/subsonic-android/res/values/strings.xml b/subsonic-android/res/values/strings.xml index 7f9f6728..ea926fd9 100644 --- a/subsonic-android/res/values/strings.xml +++ b/subsonic-android/res/values/strings.xml @@ -33,6 +33,10 @@ Top rated Random + Search + Shuffle + Refresh + Play Exit Settings Help diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java index a657b7eb..4a3dd9bc 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java @@ -40,9 +40,6 @@ import android.view.Display; import android.view.GestureDetector; import android.view.GestureDetector.OnGestureListener; import android.view.LayoutInflater; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; @@ -58,6 +55,10 @@ import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; import android.widget.ViewFlipper; +import com.actionbarsherlock.app.SherlockActivity; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; +import com.actionbarsherlock.view.MenuInflater; import github.daneren2005.dsub.R; import github.daneren2005.dsub.domain.MusicDirectory; import github.daneren2005.dsub.domain.PlayerState; @@ -487,7 +488,7 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi @Override public boolean onCreateOptionsMenu(Menu menu) { - MenuInflater inflater = getMenuInflater(); + MenuInflater inflater = getSupportMenuInflater(); inflater.inflate(R.menu.nowplaying, menu); return true; } @@ -507,14 +508,14 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi return super.onPrepareOptionsMenu(menu); } - @Override + /*@Override public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, view, menuInfo); if (view == playlistView) { AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo; DownloadFile downloadFile = (DownloadFile) playlistView.getItemAtPosition(info.position); - MenuInflater inflater = getMenuInflater(); + MenuInflater inflater = getSupportMenuInflater(); inflater.inflate(R.menu.nowplaying_context, menu); if (downloadFile.getSong().getParent() == null) { @@ -532,7 +533,7 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuItem.getMenuInfo(); DownloadFile downloadFile = (DownloadFile) playlistView.getItemAtPosition(info.position); return menuItemSelected(menuItem.getItemId(), downloadFile) || super.onContextItemSelected(menuItem); - } + }*/ @Override public boolean onOptionsItemSelected(MenuItem menuItem) { diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/MainActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/MainActivity.java index e5958e57..60532868 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/MainActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/MainActivity.java @@ -28,6 +28,9 @@ import github.daneren2005.dsub.util.Constants; import github.daneren2005.dsub.util.MergeAdapter; import github.daneren2005.dsub.util.Util; import github.daneren2005.dsub.util.FileUtil; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; +import com.actionbarsherlock.view.MenuInflater; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; @@ -35,7 +38,6 @@ import android.os.Bundle; import android.preference.PreferenceManager; import android.view.ContextMenu; import android.view.LayoutInflater; -import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ImageButton; @@ -115,63 +117,52 @@ public class MainActivity extends SubsonicTabActivity { } } }); - - // Title: Subsonic + + // Title: Subsonic setTitle(R.string.common_appname); - // Button 1: shuffle - ImageButton actionShuffleButton = (ImageButton)findViewById(R.id.action_button_1); - actionShuffleButton.setImageResource(R.drawable.action_shuffle); - actionShuffleButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent intent = new Intent(MainActivity.this, DownloadActivity.class); + // Remember the current theme. + theme = Util.getTheme(this); + + showInfoDialog(); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater inflater = getSupportMenuInflater(); + inflater.inflate(R.menu.main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + Intent intent; + switch (item.getItemId()) { + case R.id.menu_shuffle: + intent = new Intent(MainActivity.this, DownloadActivity.class); intent.putExtra(Constants.INTENT_EXTRA_NAME_SHUFFLE, true); Util.startActivityWithoutTransition(MainActivity.this, intent); - } - }); - - // Button 2: search - ImageButton actionSearchButton = (ImageButton)findViewById(R.id.action_button_2); - actionSearchButton.setImageResource(R.drawable.action_search); - actionSearchButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent intent = new Intent(MainActivity.this, SearchActivity.class); + return true; + case R.id.menu_search: + intent = new Intent(MainActivity.this, SearchActivity.class); intent.putExtra(Constants.INTENT_EXTRA_REQUEST_SEARCH, true); Util.startActivityWithoutTransition(MainActivity.this, intent); - } - }); - - // Button 3: Help - ImageButton actionHelpButton = (ImageButton)findViewById(R.id.action_button_3); - actionHelpButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - startActivity(new Intent(MainActivity.this, HelpActivity.class)); - } - }); - - // Button 4: Settings - ImageButton actionSettingsButton = (ImageButton)findViewById(R.id.action_button_4); - actionSettingsButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - startActivity(new Intent(MainActivity.this, SettingsActivity.class)); - - /*LayoutInflater inflater = (LayoutInflater)MainActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); - PopupWindow pw = new PopupWindow(inflater.inflate(R.layout.overflow_menu, null, false), 100, 100, true); - pw.showAsDropDown(findViewById(R.id.action_button_4));*/ - - /*PopupWindow window = new PopupWindow(findViewById(R.layout.overflow_menu)); - window.showAsDropDown(findViewById(R.id.action_button_2));*/ - } - }); - - // Remember the current theme. - theme = Util.getTheme(this); + return true; + case R.id.menu_exit: + intent = new Intent(this, MainActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + intent.putExtra(Constants.INTENT_EXTRA_NAME_EXIT, true); + Util.startActivityWithoutTransition(this, intent); + return true; + case R.id.menu_settings: + startActivity(new Intent(this, SettingsActivity.class)); + return true; + case R.id.menu_help: + startActivity(new Intent(this, HelpActivity.class)); + return true; + } - showInfoDialog(); + return false; } private void loadSettings() { @@ -198,10 +189,10 @@ public class MainActivity extends SubsonicTabActivity { public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, view, menuInfo); - MenuItem menuItem1 = menu.add(MENU_GROUP_SERVER, MENU_ITEM_SERVER_1, MENU_ITEM_SERVER_1, Util.getServerName(this, 1)); - MenuItem menuItem2 = menu.add(MENU_GROUP_SERVER, MENU_ITEM_SERVER_2, MENU_ITEM_SERVER_2, Util.getServerName(this, 2)); - MenuItem menuItem3 = menu.add(MENU_GROUP_SERVER, MENU_ITEM_SERVER_3, MENU_ITEM_SERVER_3, Util.getServerName(this, 3)); - MenuItem menuItem4 = menu.add(MENU_GROUP_SERVER, MENU_ITEM_OFFLINE, MENU_ITEM_OFFLINE, Util.getServerName(this, 0)); + android.view.MenuItem menuItem1 = menu.add(MENU_GROUP_SERVER, MENU_ITEM_SERVER_1, MENU_ITEM_SERVER_1, Util.getServerName(this, 1)); + android.view.MenuItem menuItem2 = menu.add(MENU_GROUP_SERVER, MENU_ITEM_SERVER_2, MENU_ITEM_SERVER_2, Util.getServerName(this, 2)); + android.view.MenuItem menuItem3 = menu.add(MENU_GROUP_SERVER, MENU_ITEM_SERVER_3, MENU_ITEM_SERVER_3, Util.getServerName(this, 3)); + android.view.MenuItem menuItem4 = menu.add(MENU_GROUP_SERVER, MENU_ITEM_OFFLINE, MENU_ITEM_OFFLINE, Util.getServerName(this, 0)); menu.setGroupCheckable(MENU_GROUP_SERVER, true, true); menu.setHeaderTitle(R.string.main_select_server); @@ -222,7 +213,7 @@ public class MainActivity extends SubsonicTabActivity { } @Override - public boolean onContextItemSelected(MenuItem menuItem) { + public boolean onContextItemSelected(android.view.MenuItem menuItem) { switch (menuItem.getItemId()) { case MENU_ITEM_OFFLINE: setActiveServer(0); diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SelectAlbumActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SelectAlbumActivity.java index 108dcf9c..31c4e728 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/SelectAlbumActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/SelectAlbumActivity.java @@ -34,6 +34,7 @@ import android.widget.Button; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.ListView; +import com.actionbarsherlock.view.Menu; import github.daneren2005.dsub.R; import github.daneren2005.dsub.domain.MusicDirectory; import github.daneren2005.dsub.service.DownloadFile; @@ -177,45 +178,40 @@ public class SelectAlbumActivity extends SubsonicTabActivity { } else { getMusicDirectory(id, name); } + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater(); + inflater.inflate(R.menu.select_album, menu); + return true; + } - // Button 1: play all - playAllButton = (ImageButton) findViewById(R.id.action_button_1); - playAllButton.setImageResource(R.drawable.action_play_all); - playAllButton.setVisibility(View.GONE); - playAllButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - playAll(false); - } - }); + @Override + public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) { + Intent intent; + switch (item.getItemId()) { + case R.id.menu_play_all: + playAll(false); + return true; + case R.id.menu_refresh: + refresh(); + return true; + case R.id.menu_exit: + intent = new Intent(this, MainActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + intent.putExtra(Constants.INTENT_EXTRA_NAME_EXIT, true); + Util.startActivityWithoutTransition(this, intent); + return true; + case R.id.menu_settings: + startActivity(new Intent(this, SettingsActivity.class)); + return true; + case R.id.menu_help: + startActivity(new Intent(this, HelpActivity.class)); + return true; + } - // Button 2: refresh - ImageButton refreshButton = (ImageButton) findViewById(R.id.action_button_2); - refreshButton.setImageResource(R.drawable.action_refresh); - refreshButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - refresh(); - } - }); - - // Button 3: Help - ImageButton actionHelpButton = (ImageButton)findViewById(R.id.action_button_3); - actionHelpButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - startActivity(new Intent(SelectAlbumActivity.this, HelpActivity.class)); - } - }); - - // Button 4: Settings - ImageButton actionSettingsButton = (ImageButton)findViewById(R.id.action_button_4); - actionSettingsButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - startActivity(new Intent(SelectAlbumActivity.this, SettingsActivity.class)); - } - }); + return false; } private void playAll(final boolean shuffle) { diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SelectArtistActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SelectArtistActivity.java index 8b32ff3a..bee76641 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/SelectArtistActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/SelectArtistActivity.java @@ -30,6 +30,7 @@ import android.widget.AdapterView; import android.widget.ImageButton; import android.widget.ListView; import android.widget.TextView; +import com.actionbarsherlock.view.Menu; import github.daneren2005.dsub.R; import github.daneren2005.dsub.domain.Artist; import github.daneren2005.dsub.domain.Indexes; @@ -73,51 +74,46 @@ public class SelectArtistActivity extends SubsonicTabActivity implements Adapter } registerForContextMenu(artistList); + setTitle(Util.isOffline(this) ? R.string.music_library_label_offline : R.string.music_library_label); - setTitle(Util.isOffline(this) ? R.string.music_library_label_offline : R.string.music_library_label); + musicFolders = null; + load(); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater(); + inflater.inflate(R.menu.select_artist, menu); + return true; + } - // Button 1: shuffle - ImageButton shuffleButton = (ImageButton) findViewById(R.id.action_button_1); - shuffleButton.setImageResource(R.drawable.action_shuffle); - shuffleButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - Intent intent = new Intent(SelectArtistActivity.this, DownloadActivity.class); + @Override + public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) { + Intent intent; + switch (item.getItemId()) { + case R.id.menu_refresh: + refresh(); + return true; + case R.id.menu_shuffle: + intent = new Intent(SelectArtistActivity.this, DownloadActivity.class); intent.putExtra(Constants.INTENT_EXTRA_NAME_SHUFFLE, true); Util.startActivityWithoutTransition(SelectArtistActivity.this, intent); - } - }); - - // Button 2: refresh - ImageButton refreshButton = (ImageButton) findViewById(R.id.action_button_2); - refreshButton.setImageResource(R.drawable.action_refresh); - refreshButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - refresh(); - } - }); - - // Button 3: Help - ImageButton actionHelpButton = (ImageButton)findViewById(R.id.action_button_3); - actionHelpButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - startActivity(new Intent(SelectArtistActivity.this, HelpActivity.class)); - } - }); - - // Button 4: Settings - ImageButton actionSettingsButton = (ImageButton)findViewById(R.id.action_button_4); - actionSettingsButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - startActivity(new Intent(SelectArtistActivity.this, SettingsActivity.class)); - } - }); + return true; + case R.id.menu_exit: + intent = new Intent(this, MainActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + intent.putExtra(Constants.INTENT_EXTRA_NAME_EXIT, true); + Util.startActivityWithoutTransition(this, intent); + return true; + case R.id.menu_settings: + startActivity(new Intent(this, SettingsActivity.class)); + return true; + case R.id.menu_help: + startActivity(new Intent(this, HelpActivity.class)); + return true; + } - musicFolders = null; - load(); + return false; } private void refresh() { diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SelectPlaylistActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SelectPlaylistActivity.java index a299b84b..f515d5be 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/SelectPlaylistActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/SelectPlaylistActivity.java @@ -61,39 +61,38 @@ public class SelectPlaylistActivity extends SubsonicTabActivity implements Adapt // Title: Playlists setTitle(R.string.playlist_label); - // Button 1: gone - ImageButton searchButton = (ImageButton)findViewById(R.id.action_button_1); - searchButton.setVisibility(View.GONE); - - // Button 2: refresh - ImageButton refreshButton = (ImageButton) findViewById(R.id.action_button_2); - refreshButton.setImageResource(R.drawable.action_refresh); - refreshButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { + load(); + } + + @Override + public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) { + com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater(); + inflater.inflate(R.menu.select_playlist, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) { + Intent intent; + switch (item.getItemId()) { + case R.id.menu_refresh: refresh(); - } - }); - - // Button 3: Help - ImageButton actionHelpButton = (ImageButton)findViewById(R.id.action_button_3); - actionHelpButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - startActivity(new Intent(SelectPlaylistActivity.this, HelpActivity.class)); - } - }); - - // Button 4: Settings - ImageButton actionSettingsButton = (ImageButton)findViewById(R.id.action_button_4); - actionSettingsButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - startActivity(new Intent(SelectPlaylistActivity.this, SettingsActivity.class)); - } - }); + return true; + case R.id.menu_exit: + intent = new Intent(this, MainActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + intent.putExtra(Constants.INTENT_EXTRA_NAME_EXIT, true); + Util.startActivityWithoutTransition(this, intent); + return true; + case R.id.menu_settings: + startActivity(new Intent(this, SettingsActivity.class)); + return true; + case R.id.menu_help: + startActivity(new Intent(this, HelpActivity.class)); + return true; + } - load(); + return false; } private void refresh() { diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java index 6afe842b..7d303a8d 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java @@ -34,13 +34,12 @@ import android.os.Bundle; import android.os.Environment; import android.util.Log; import android.view.KeyEvent; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; import android.view.View; import android.view.Window; import android.widget.TextView; import github.daneren2005.dsub.R; +import com.actionbarsherlock.app.ActionBar; +import com.actionbarsherlock.app.SherlockActivity; import github.daneren2005.dsub.domain.MusicDirectory; import github.daneren2005.dsub.service.DownloadService; import github.daneren2005.dsub.service.DownloadServiceImpl; @@ -54,7 +53,7 @@ import github.daneren2005.dsub.util.Util; /** * @author Sindre Mehus */ -public class SubsonicTabActivity extends Activity { +public class SubsonicTabActivity extends SherlockActivity { private static final String TAG = SubsonicTabActivity.class.getSimpleName(); private static ImageLoader IMAGE_LOADER; @@ -68,9 +67,9 @@ public class SubsonicTabActivity extends Activity { @Override protected void onCreate(Bundle bundle) { setUncaughtExceptionHandler(); - applyTheme(); + // applyTheme(); super.onCreate(bundle); - requestWindowFeature(Window.FEATURE_NO_TITLE); + // requestWindowFeature(Window.FEATURE_NO_TITLE); startService(new Intent(this, DownloadServiceImpl.class)); setVolumeControlStream(AudioManager.STREAM_MUSIC); } @@ -78,6 +77,9 @@ public class SubsonicTabActivity extends Activity { @Override protected void onPostCreate(Bundle bundle) { super.onPostCreate(bundle); + + ActionBar actionBar = getSupportActionBar(); + // actionBar.setDisplayHomeAsUpEnabled(true); homeButton = findViewById(R.id.button_bar_home); homeButton.setOnClickListener(new View.OnClickListener() { @@ -136,36 +138,6 @@ public class SubsonicTabActivity extends Activity { Util.registerMediaButtonEventReceiver(this); } - @Override - public boolean onCreateOptionsMenu(Menu menu) { - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.main, menu); - return true; - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - - case R.id.menu_exit: - Intent intent = new Intent(this, MainActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); - intent.putExtra(Constants.INTENT_EXTRA_NAME_EXIT, true); - Util.startActivityWithoutTransition(this, intent); - return true; - - case R.id.menu_settings: - startActivity(new Intent(this, SettingsActivity.class)); - return true; - - case R.id.menu_help: - startActivity(new Intent(this, HelpActivity.class)); - return true; - } - - return false; - } - @Override protected void onDestroy() { super.onDestroy(); @@ -194,23 +166,6 @@ public class SubsonicTabActivity extends Activity { Util.disablePendingTransition(this); } - @Override - public void setTitle(CharSequence title) { - super.setTitle(title); - - // Set the font of title in the action bar. - TextView text = (TextView) findViewById(R.id.actionbar_title_text); - Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/Storopia.ttf"); - text.setTypeface(typeface); - - text.setText(title); - } - - @Override - public void setTitle(int titleId) { - setTitle(getString(titleId)); - } - private void applyTheme() { String theme = Util.getTheme(this); if ("dark".equals(theme)) { -- cgit v1.2.3 From e0c9d73c2bff11d3f8ee20a33ff6a75d087d7c65 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Sun, 9 Sep 2012 14:28:22 -0700 Subject: Fix for album list not showing up --- .../dsub/activity/SelectAlbumActivity.java | 10 +- .../github/daneren2005/dsub/util/ImageLoader.java | 144 +++++++++++++++------ 2 files changed, 108 insertions(+), 46 deletions(-) diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SelectAlbumActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SelectAlbumActivity.java index 31c4e728..c0013d6f 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/SelectAlbumActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/SelectAlbumActivity.java @@ -64,9 +64,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity { private Button unpinButton; private Button deleteButton; private Button moreButton; - private ImageView coverArtView; private boolean licenseValid; - private ImageButton playAllButton; /** * Called when the activity is first created. @@ -98,8 +96,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity { } } }); - - coverArtView = (ImageView) findViewById(R.id.actionbar_home_icon); + selectButton = (Button) findViewById(R.id.select_album_select); playNowButton = (Button) findViewById(R.id.select_album_play_now); playShuffledButton = (Button) findViewById(R.id.select_album_play_shuffled); @@ -568,7 +565,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity { } if (songCount > 0) { - getImageLoader().loadImage(coverArtView, entries.get(0), false, true); + getImageLoader().loadImage(getSupportActionBar(), entries.get(0)); entryList.addFooterView(footer); selectButton.setVisibility(View.VISIBLE); playNowButton.setVisibility(View.VISIBLE); @@ -579,10 +576,7 @@ public class SelectAlbumActivity extends SubsonicTabActivity { deleteButton.setVisibility(View.VISIBLE); } - boolean isAlbumList = getIntent().hasExtra(Constants.INTENT_EXTRA_NAME_ALBUM_LIST_TYPE); - emptyView.setVisibility(entries.isEmpty() ? View.VISIBLE : View.GONE); - playAllButton.setVisibility(isAlbumList || entries.isEmpty() ? View.GONE : View.VISIBLE); entryList.setAdapter(new EntryAdapter(SelectAlbumActivity.this, getImageLoader(), entries, true)); licenseValid = result.getSecond(); diff --git a/subsonic-android/src/github/daneren2005/dsub/util/ImageLoader.java b/subsonic-android/src/github/daneren2005/dsub/util/ImageLoader.java index 0c4bc215..e1a9d86a 100644 --- a/subsonic-android/src/github/daneren2005/dsub/util/ImageLoader.java +++ b/subsonic-android/src/github/daneren2005/dsub/util/ImageLoader.java @@ -44,6 +44,8 @@ import github.daneren2005.dsub.service.MusicServiceFactory; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; +import com.actionbarsherlock.app.ActionBar; + /** * Asynchronous loading of images, with caching. *

@@ -101,7 +103,7 @@ public class ImageLoader implements Runnable { if (!large) { setUnknownImage(view, large); } - queue.offer(new Task(view.getContext(), view, null, entry, size, large, large, crossfade)); + queue.offer(new Task(view.getContext(), entry, size, large, large, new ViewTaskHandler(view, crossfade))); } public void loadImage(Context context, RemoteControlClient remoteControl, MusicDirectory.Entry entry) { @@ -117,7 +119,23 @@ public class ImageLoader implements Runnable { } setUnknownImage(remoteControl); - queue.offer(new Task(context, null, remoteControl, entry, imageSizeDefault, false, false, false)); + queue.offer(new Task(context, entry, imageSizeDefault, false, false, new RemoteControlClientTaskHandler(remoteControl))); + } + + public void loadImage(ActionBar actionBar, MusicDirectory.Entry entry) { + if (entry == null || entry.getCoverArt() == null) { + setUnknownImage(actionBar); + return; + } + + Drawable drawable = cache.get(getKey(entry.getCoverArt(), imageSizeDefault)); + if (drawable != null) { + setImage(actionBar, drawable); + return; + } + + setUnknownImage(actionBar); + queue.offer(new Task(actionBar.getThemedContext(), entry, imageSizeDefault, false, false, new ActionBarTaskHandler(actionBar))); } private String getKey(String coverArtId, int size) { @@ -158,6 +176,10 @@ public class ImageLoader implements Runnable { origBitmap.copy(origBitmap.getConfig(), true)) .apply(); } + + private void setImage(ActionBar actionBar, Drawable drawable) { + actionBar.setIcon(drawable); + } private void setUnknownImage(View view, boolean large) { if (large) { @@ -174,6 +196,10 @@ public class ImageLoader implements Runnable { private void setUnknownImage(RemoteControlClient remoteControl) { setImage(remoteControl, largeUnknownImage); } + + private void setUnknownImage(ActionBar actionBar) { + setImage(actionBar, largeUnknownImage); + } public void clear() { queue.clear(); @@ -240,53 +266,95 @@ public class ImageLoader implements Runnable { } private class Task { - private final Context context; - private final View view; - private final RemoteControlClient remoteControl; - private final MusicDirectory.Entry entry; - private final Handler handler; - private final int size; - private final boolean reflection; - private final boolean saveToFile; - private final boolean crossfade; - - public Task(Context context, View view, RemoteControlClient remoteControl, MusicDirectory.Entry entry, int size, boolean reflection, boolean saveToFile, boolean crossfade) { - this.context = context; - this.view = view; - this.remoteControl = remoteControl; - this.entry = entry; - this.size = size; - this.reflection = reflection; - this.saveToFile = saveToFile; - this.crossfade = crossfade; - handler = new Handler(); + private final Context mContext; + private final MusicDirectory.Entry mEntry; + private final Handler mHandler; + private final int mSize; + private final boolean mReflection; + private final boolean mSaveToFile; + private ImageLoaderTaskHandler mTaskHandler; + + public Task(Context context, MusicDirectory.Entry entry, int size, boolean reflection, boolean saveToFile, ImageLoaderTaskHandler taskHandler) { + mContext = context; + mEntry = entry; + mSize = size; + mReflection = reflection; + mSaveToFile = saveToFile; + mTaskHandler = taskHandler; + mHandler = new Handler(); } public void execute() { try { - MusicService musicService = MusicServiceFactory.getMusicService(context); - Bitmap bitmap = musicService.getCoverArt(context, entry, size, saveToFile, null); + MusicService musicService = MusicServiceFactory.getMusicService(mContext); + Bitmap bitmap = musicService.getCoverArt(mContext, mEntry, mSize, mSaveToFile, null); - if (reflection) { + if (mReflection) { bitmap = createReflection(bitmap); } - final Drawable drawable = Util.createDrawableFromBitmap(context, bitmap); - cache.put(getKey(entry.getCoverArt(), size), drawable); - - handler.post(new Runnable() { - @Override - public void run() { - if (view != null) { - setImage(view, drawable, crossfade); - } else if (remoteControl != null) { - setImage(remoteControl, drawable); - } - } - }); + final Drawable drawable = Util.createDrawableFromBitmap(mContext, bitmap); + cache.put(getKey(mEntry.getCoverArt(), mSize), drawable); + + mTaskHandler.setDrawable(drawable); + mHandler.post(mTaskHandler); } catch (Throwable x) { Log.e(TAG, "Failed to download album art.", x); } } } + + private abstract class ImageLoaderTaskHandler implements Runnable { + + protected Drawable mDrawable; + + public void setDrawable(Drawable drawable) { + mDrawable = drawable; + } + + } + + private class ViewTaskHandler extends ImageLoaderTaskHandler { + + protected boolean mCrossfade; + private View mView; + + public ViewTaskHandler(View view, boolean crossfade) { + mCrossfade = crossfade; + mView = view; + } + + @Override + public void run() { + setImage(mView, mDrawable, mCrossfade); + } + } + + private class RemoteControlClientTaskHandler extends ImageLoaderTaskHandler { + + private RemoteControlClient mRemoteControl; + + public RemoteControlClientTaskHandler(RemoteControlClient remoteControl) { + mRemoteControl = remoteControl; + } + + @Override + public void run() { + setImage(mRemoteControl, mDrawable); + } + } + + private class ActionBarTaskHandler extends ImageLoaderTaskHandler { + + private ActionBar mActionBar; + + public ActionBarTaskHandler(ActionBar actionBar) { + mActionBar = actionBar; + } + + @Override + public void run() { + setImage(mActionBar, mDrawable); + } + } } -- cgit v1.2.3 From b644ac5aa4278cfeaa337cbede7c3b240ff40da3 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Sun, 9 Sep 2012 14:33:31 -0700 Subject: Hide ActionBar for DownloadActivity --- .../src/github/daneren2005/dsub/activity/DownloadActivity.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java index 4a3dd9bc..40145fb4 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java @@ -123,6 +123,8 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.download); + + getSupportActionBar().hide(); WindowManager w = getWindowManager(); Display d = w.getDefaultDisplay(); -- cgit v1.2.3 From 89ebb04737aeefefd5081c4157de90c735eab80c Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Sun, 9 Sep 2012 14:54:11 -0700 Subject: Removed Wheat theme + re-added back dynamic themeing to activities --- subsonic-android/AndroidManifest.xml | 2 +- subsonic-android/res/values/arrays.xml | 1 - subsonic-android/res/values/colors.xml | 4 ---- subsonic-android/res/values/styles.xml | 14 +++----------- subsonic-android/res/xml/settings.xml | 2 +- .../daneren2005/dsub/activity/SubsonicTabActivity.java | 11 ++++++----- 6 files changed, 11 insertions(+), 23 deletions(-) diff --git a/subsonic-android/AndroidManifest.xml b/subsonic-android/AndroidManifest.xml index 04136ffc..ac786d26 100644 --- a/subsonic-android/AndroidManifest.xml +++ b/subsonic-android/AndroidManifest.xml @@ -18,7 +18,7 @@ - + - @string/settings.theme_wheat @string/settings.theme_light @string/settings.theme_dark diff --git a/subsonic-android/res/values/colors.xml b/subsonic-android/res/values/colors.xml index 69ab22a1..7a86d370 100644 --- a/subsonic-android/res/values/colors.xml +++ b/subsonic-android/res/values/colors.xml @@ -6,10 +6,6 @@ #FFFFFF #434343 #000000 - - #F1F0E6 - #494B26 - #830009 #8033b5e5 #ff0099cc diff --git a/subsonic-android/res/values/styles.xml b/subsonic-android/res/values/styles.xml index a970fe1b..9760bb0c 100644 --- a/subsonic-android/res/values/styles.xml +++ b/subsonic-android/res/values/styles.xml @@ -1,14 +1,6 @@ - - - - + + + diff --git a/subsonic-android/res/xml/settings.xml b/subsonic-android/res/xml/settings.xml index daa98b90..455a9dc0 100644 --- a/subsonic-android/res/xml/settings.xml +++ b/subsonic-android/res/xml/settings.xml @@ -109,7 +109,7 @@ diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java index 7d303a8d..03fcf357 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java @@ -67,9 +67,8 @@ public class SubsonicTabActivity extends SherlockActivity { @Override protected void onCreate(Bundle bundle) { setUncaughtExceptionHandler(); - // applyTheme(); + applyTheme(); super.onCreate(bundle); - // requestWindowFeature(Window.FEATURE_NO_TITLE); startService(new Intent(this, DownloadServiceImpl.class)); setVolumeControlStream(AudioManager.STREAM_MUSIC); } @@ -169,10 +168,12 @@ public class SubsonicTabActivity extends SherlockActivity { private void applyTheme() { String theme = Util.getTheme(this); if ("dark".equals(theme)) { - setTheme(android.R.style.Theme); + setTheme(R.style.Theme_DSub_Dark); } else if ("light".equals(theme)) { - setTheme(android.R.style.Theme_Light); - } + setTheme(R.style.Theme_DSub_Light); + } else { + setTheme(R.style.Theme_DSub_Light); + } } public boolean isDestroyed() { -- cgit v1.2.3 From 9fc7d00c27771367a0150a568b980de5c68a34a0 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Sun, 9 Sep 2012 15:49:05 -0700 Subject: Fixed theming --- subsonic-android/res/values/arrays.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/subsonic-android/res/values/arrays.xml b/subsonic-android/res/values/arrays.xml index e70b566f..aac7e74c 100644 --- a/subsonic-android/res/values/arrays.xml +++ b/subsonic-android/res/values/arrays.xml @@ -2,7 +2,6 @@ - wheat light dark -- cgit v1.2.3 From dae6e259f5a336df3b7a821ab9c05dd6e3df6bf4 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Sun, 9 Sep 2012 16:20:50 -0700 Subject: Themed ActionBar like old one --- subsonic-android/res/values/styles.xml | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/subsonic-android/res/values/styles.xml b/subsonic-android/res/values/styles.xml index 9760bb0c..bd76299a 100644 --- a/subsonic-android/res/values/styles.xml +++ b/subsonic-android/res/values/styles.xml @@ -1,6 +1,20 @@ - - - + + + + + -- cgit v1.2.3 From 8335fa5934a1afed90c2542e5749c4b46c54349d Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Sun, 9 Sep 2012 16:36:35 -0700 Subject: Converted SearchActivity --- subsonic-android/res/layout/action_bar.xml | 97 ---------------------- subsonic-android/res/layout/search.xml | 2 - subsonic-android/res/menu/search.xml | 24 ++++++ .../daneren2005/dsub/activity/SearchActivity.java | 62 +++++++------- 4 files changed, 55 insertions(+), 130 deletions(-) delete mode 100644 subsonic-android/res/layout/action_bar.xml create mode 100644 subsonic-android/res/menu/search.xml diff --git a/subsonic-android/res/layout/action_bar.xml b/subsonic-android/res/layout/action_bar.xml deleted file mode 100644 index 2aaa4116..00000000 --- a/subsonic-android/res/layout/action_bar.xml +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/subsonic-android/res/layout/search.xml b/subsonic-android/res/layout/search.xml index f65bcb36..5f5c26e0 100644 --- a/subsonic-android/res/layout/search.xml +++ b/subsonic-android/res/layout/search.xml @@ -4,8 +4,6 @@ android:layout_width="fill_parent" android:layout_height="fill_parent"> - - +

+ + + + + + + + + diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SearchActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SearchActivity.java index 3ea0cabf..4b9d844f 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/SearchActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/SearchActivity.java @@ -36,6 +36,7 @@ import android.widget.ListAdapter; import android.widget.ListView; import android.widget.TextView; import android.net.Uri; +import com.actionbarsherlock.view.Menu; import github.daneren2005.dsub.R; import github.daneren2005.dsub.domain.Artist; import github.daneren2005.dsub.domain.MusicDirectory; @@ -134,39 +135,38 @@ public class SearchActivity extends SubsonicTabActivity { } }); registerForContextMenu(list); + onNewIntent(getIntent()); + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater(); + inflater.inflate(R.menu.search, menu); + return true; + } - // Button 1: gone - findViewById(R.id.action_button_1).setVisibility(View.GONE); - - // Button 2: search - final ImageButton actionSearchButton = (ImageButton)findViewById(R.id.action_button_2); - actionSearchButton.setImageResource(R.drawable.action_search); - actionSearchButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - onSearchRequested(); - } - }); - - // Button 3: Help - ImageButton actionHelpButton = (ImageButton)findViewById(R.id.action_button_3); - actionHelpButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - startActivity(new Intent(SearchActivity.this, HelpActivity.class)); - } - }); - - // Button 4: Settings - ImageButton actionSettingsButton = (ImageButton)findViewById(R.id.action_button_4); - actionSettingsButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - startActivity(new Intent(SearchActivity.this, SettingsActivity.class)); - } - }); + @Override + public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) { + Intent intent; + switch (item.getItemId()) { + case R.id.menu_search: + onSearchRequested(); + return true; + case R.id.menu_exit: + intent = new Intent(this, MainActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + intent.putExtra(Constants.INTENT_EXTRA_NAME_EXIT, true); + Util.startActivityWithoutTransition(this, intent); + return true; + case R.id.menu_settings: + startActivity(new Intent(this, SettingsActivity.class)); + return true; + case R.id.menu_help: + startActivity(new Intent(this, HelpActivity.class)); + return true; + } - onNewIntent(getIntent()); + return false; } @Override -- cgit v1.2.3 From a2098549f5570da228c9c9548d27011956d0804f Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Sun, 9 Sep 2012 16:49:56 -0700 Subject: Cleanup --- .../src/github/daneren2005/dsub/activity/SubsonicTabActivity.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java index 03fcf357..49b3e2d8 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java @@ -76,9 +76,6 @@ public class SubsonicTabActivity extends SherlockActivity { @Override protected void onPostCreate(Bundle bundle) { super.onPostCreate(bundle); - - ActionBar actionBar = getSupportActionBar(); - // actionBar.setDisplayHomeAsUpEnabled(true); homeButton = findViewById(R.id.button_bar_home); homeButton.setOnClickListener(new View.OnClickListener() { -- cgit v1.2.3 From 959c6551d2ca834c88813e775c1209565d95a3e1 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Sun, 9 Sep 2012 17:15:19 -0700 Subject: Added a full set of actionbar icons --- subsonic-android/res/drawable-hdpi-v4/action_browse.png | Bin 0 -> 1673 bytes subsonic-android/res/drawable-hdpi-v4/action_compass.png | Bin 0 -> 2069 bytes subsonic-android/res/drawable-hdpi-v4/action_exit.png | Bin 0 -> 923 bytes subsonic-android/res/drawable-hdpi-v4/action_home.png | Bin 0 -> 1814 bytes .../res/drawable-hdpi-v4/action_moreoverflow.png | Bin 0 -> 126 bytes subsonic-android/res/drawable-hdpi-v4/action_offline.png | Bin 0 -> 1558 bytes .../res/drawable-hdpi-v4/action_playlists.png | Bin 0 -> 1158 bytes .../res/drawable-hdpi-v4/action_remove_all.png | Bin 0 -> 1201 bytes subsonic-android/res/drawable-hdpi-v4/action_save.png | Bin 0 -> 1044 bytes .../res/drawable-hdpi-v4/action_screen_on_off.png | Bin 0 -> 1525 bytes .../res/drawable-hdpi-v4/action_select_artist_folder.png | Bin 0 -> 1920 bytes subsonic-android/res/drawable-hdpi-v4/action_share.png | Bin 0 -> 1823 bytes subsonic-android/res/drawable/action_help.png | Bin 1197 -> 0 bytes subsonic-android/res/drawable/action_play_all.png | Bin 1359 -> 0 bytes subsonic-android/res/drawable/action_refresh.png | Bin 1820 -> 0 bytes subsonic-android/res/drawable/action_search.png | Bin 1592 -> 0 bytes subsonic-android/res/drawable/action_settings.png | Bin 1649 -> 0 bytes subsonic-android/res/drawable/action_shuffle.png | Bin 1386 -> 0 bytes 18 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 subsonic-android/res/drawable-hdpi-v4/action_browse.png create mode 100644 subsonic-android/res/drawable-hdpi-v4/action_compass.png create mode 100644 subsonic-android/res/drawable-hdpi-v4/action_exit.png create mode 100644 subsonic-android/res/drawable-hdpi-v4/action_home.png create mode 100644 subsonic-android/res/drawable-hdpi-v4/action_moreoverflow.png create mode 100644 subsonic-android/res/drawable-hdpi-v4/action_offline.png create mode 100644 subsonic-android/res/drawable-hdpi-v4/action_playlists.png create mode 100644 subsonic-android/res/drawable-hdpi-v4/action_remove_all.png create mode 100644 subsonic-android/res/drawable-hdpi-v4/action_save.png create mode 100644 subsonic-android/res/drawable-hdpi-v4/action_screen_on_off.png create mode 100644 subsonic-android/res/drawable-hdpi-v4/action_select_artist_folder.png create mode 100644 subsonic-android/res/drawable-hdpi-v4/action_share.png delete mode 100644 subsonic-android/res/drawable/action_help.png delete mode 100644 subsonic-android/res/drawable/action_play_all.png delete mode 100644 subsonic-android/res/drawable/action_refresh.png delete mode 100644 subsonic-android/res/drawable/action_search.png delete mode 100644 subsonic-android/res/drawable/action_settings.png delete mode 100644 subsonic-android/res/drawable/action_shuffle.png diff --git a/subsonic-android/res/drawable-hdpi-v4/action_browse.png b/subsonic-android/res/drawable-hdpi-v4/action_browse.png new file mode 100644 index 00000000..54296909 Binary files /dev/null and b/subsonic-android/res/drawable-hdpi-v4/action_browse.png differ diff --git a/subsonic-android/res/drawable-hdpi-v4/action_compass.png b/subsonic-android/res/drawable-hdpi-v4/action_compass.png new file mode 100644 index 00000000..39760f89 Binary files /dev/null and b/subsonic-android/res/drawable-hdpi-v4/action_compass.png differ diff --git a/subsonic-android/res/drawable-hdpi-v4/action_exit.png b/subsonic-android/res/drawable-hdpi-v4/action_exit.png new file mode 100644 index 00000000..09e18dee Binary files /dev/null and b/subsonic-android/res/drawable-hdpi-v4/action_exit.png differ diff --git a/subsonic-android/res/drawable-hdpi-v4/action_home.png b/subsonic-android/res/drawable-hdpi-v4/action_home.png new file mode 100644 index 00000000..3cec6246 Binary files /dev/null and b/subsonic-android/res/drawable-hdpi-v4/action_home.png differ diff --git a/subsonic-android/res/drawable-hdpi-v4/action_moreoverflow.png b/subsonic-android/res/drawable-hdpi-v4/action_moreoverflow.png new file mode 100644 index 00000000..cb6ebdaf Binary files /dev/null and b/subsonic-android/res/drawable-hdpi-v4/action_moreoverflow.png differ diff --git a/subsonic-android/res/drawable-hdpi-v4/action_offline.png b/subsonic-android/res/drawable-hdpi-v4/action_offline.png new file mode 100644 index 00000000..a85f0931 Binary files /dev/null and b/subsonic-android/res/drawable-hdpi-v4/action_offline.png differ diff --git a/subsonic-android/res/drawable-hdpi-v4/action_playlists.png b/subsonic-android/res/drawable-hdpi-v4/action_playlists.png new file mode 100644 index 00000000..e9e83e3d Binary files /dev/null and b/subsonic-android/res/drawable-hdpi-v4/action_playlists.png differ diff --git a/subsonic-android/res/drawable-hdpi-v4/action_remove_all.png b/subsonic-android/res/drawable-hdpi-v4/action_remove_all.png new file mode 100644 index 00000000..97b88837 Binary files /dev/null and b/subsonic-android/res/drawable-hdpi-v4/action_remove_all.png differ diff --git a/subsonic-android/res/drawable-hdpi-v4/action_save.png b/subsonic-android/res/drawable-hdpi-v4/action_save.png new file mode 100644 index 00000000..7bda97d6 Binary files /dev/null and b/subsonic-android/res/drawable-hdpi-v4/action_save.png differ diff --git a/subsonic-android/res/drawable-hdpi-v4/action_screen_on_off.png b/subsonic-android/res/drawable-hdpi-v4/action_screen_on_off.png new file mode 100644 index 00000000..c7168563 Binary files /dev/null and b/subsonic-android/res/drawable-hdpi-v4/action_screen_on_off.png differ diff --git a/subsonic-android/res/drawable-hdpi-v4/action_select_artist_folder.png b/subsonic-android/res/drawable-hdpi-v4/action_select_artist_folder.png new file mode 100644 index 00000000..c2cefead Binary files /dev/null and b/subsonic-android/res/drawable-hdpi-v4/action_select_artist_folder.png differ diff --git a/subsonic-android/res/drawable-hdpi-v4/action_share.png b/subsonic-android/res/drawable-hdpi-v4/action_share.png new file mode 100644 index 00000000..28376157 Binary files /dev/null and b/subsonic-android/res/drawable-hdpi-v4/action_share.png differ diff --git a/subsonic-android/res/drawable/action_help.png b/subsonic-android/res/drawable/action_help.png deleted file mode 100644 index aaf8304c..00000000 Binary files a/subsonic-android/res/drawable/action_help.png and /dev/null differ diff --git a/subsonic-android/res/drawable/action_play_all.png b/subsonic-android/res/drawable/action_play_all.png deleted file mode 100644 index 6ce5629a..00000000 Binary files a/subsonic-android/res/drawable/action_play_all.png and /dev/null differ diff --git a/subsonic-android/res/drawable/action_refresh.png b/subsonic-android/res/drawable/action_refresh.png deleted file mode 100644 index 9f30dc95..00000000 Binary files a/subsonic-android/res/drawable/action_refresh.png and /dev/null differ diff --git a/subsonic-android/res/drawable/action_search.png b/subsonic-android/res/drawable/action_search.png deleted file mode 100644 index 6bc3d426..00000000 Binary files a/subsonic-android/res/drawable/action_search.png and /dev/null differ diff --git a/subsonic-android/res/drawable/action_settings.png b/subsonic-android/res/drawable/action_settings.png deleted file mode 100644 index 1ab7722b..00000000 Binary files a/subsonic-android/res/drawable/action_settings.png and /dev/null differ diff --git a/subsonic-android/res/drawable/action_shuffle.png b/subsonic-android/res/drawable/action_shuffle.png deleted file mode 100644 index 0613965c..00000000 Binary files a/subsonic-android/res/drawable/action_shuffle.png and /dev/null differ -- cgit v1.2.3 From 5eadac48eb97f7480e2629e46a6159cdcb21e1a2 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Tue, 11 Sep 2012 21:36:52 -0700 Subject: Merged Play Now/Shuffle/Select All into action bar, updated help/settings/exist icons for all menus --- .../res/drawable-hdpi-v4/action_playlists.png | Bin 1158 -> 0 bytes .../res/drawable-hdpi-v4/action_select.png | Bin 0 -> 1158 bytes subsonic-android/res/layout/select_album.xml | 45 ++----------------- subsonic-android/res/menu/main.xml | 6 +-- subsonic-android/res/menu/select_album.xml | 18 ++++++-- subsonic-android/res/menu/select_artist.xml | 2 +- subsonic-android/res/menu/select_playlist.xml | 2 +- subsonic-android/res/values/strings.xml | 1 + .../dsub/activity/SelectAlbumActivity.java | 50 +++++++-------------- 9 files changed, 41 insertions(+), 83 deletions(-) delete mode 100644 subsonic-android/res/drawable-hdpi-v4/action_playlists.png create mode 100644 subsonic-android/res/drawable-hdpi-v4/action_select.png diff --git a/subsonic-android/res/drawable-hdpi-v4/action_playlists.png b/subsonic-android/res/drawable-hdpi-v4/action_playlists.png deleted file mode 100644 index e9e83e3d..00000000 Binary files a/subsonic-android/res/drawable-hdpi-v4/action_playlists.png and /dev/null differ diff --git a/subsonic-android/res/drawable-hdpi-v4/action_select.png b/subsonic-android/res/drawable-hdpi-v4/action_select.png new file mode 100644 index 00000000..e9e83e3d Binary files /dev/null and b/subsonic-android/res/drawable-hdpi-v4/action_select.png differ diff --git a/subsonic-android/res/layout/select_album.xml b/subsonic-android/res/layout/select_album.xml index d5a4d0d1..59860e28 100644 --- a/subsonic-android/res/layout/select_album.xml +++ b/subsonic-android/res/layout/select_album.xml @@ -62,47 +62,8 @@ android:layout_width="0dp" android:layout_height="fill_parent" android:visibility="gone"/> - - - - - -