aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2015-06-05 17:39:57 -0700
committerScott Jackson <daneren2005@gmail.com>2015-06-05 17:39:57 -0700
commite62cbdae5a41909a03652ae4a967a4e72fe96748 (patch)
treecb8ab4ad69d8b6495ee1a8db079aa57159f76803 /app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java
parentd79f241c64ffa21ebbaacb918f50300515522bbd (diff)
downloaddsub-e62cbdae5a41909a03652ae4a967a4e72fe96748.tar.gz
dsub-e62cbdae5a41909a03652ae4a967a4e72fe96748.tar.bz2
dsub-e62cbdae5a41909a03652ae4a967a4e72fe96748.zip
#493 Switch from ListView to NavigationView + move server selection logic into drawer
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java')
-rw-r--r--app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java67
1 files changed, 48 insertions, 19 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java b/app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java
index f3d62999..08930ae7 100644
--- a/app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java
+++ b/app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java
@@ -112,9 +112,7 @@ public class SubsonicFragmentActivity extends SubsonicActivity {
getImageLoader().clearCache();
} else if(getIntent().hasExtra(Constants.INTENT_EXTRA_NAME_DOWNLOAD_VIEW)) {
getIntent().putExtra(Constants.INTENT_EXTRA_FRAGMENT_TYPE, "Download");
- if(drawerAdapter != null) {
- drawerAdapter.setDownloadVisible(true);
- }
+ lastSelectedPosition = R.id.drawer_downloading;
}
setContentView(R.layout.abstract_fragment_activity);
@@ -127,6 +125,37 @@ public class SubsonicFragmentActivity extends SubsonicActivity {
if(fragmentType != null) {
getIntent().putExtra(Constants.INTENT_EXTRA_FRAGMENT_TYPE, fragmentType);
firstRun = true;
+
+ switch(fragmentType) {
+ case "Home":
+ lastSelectedPosition = R.id.drawer_home;
+ break;
+ case "Artist":
+ lastSelectedPosition = R.id.drawer_library;
+ break;
+ case "Playlist":
+ lastSelectedPosition = R.id.drawer_playlists;
+ break;
+ case "Podcast":
+ lastSelectedPosition = R.id.drawer_podcasts;
+ break;
+ case "Bookmark":
+ lastSelectedPosition = R.id.drawer_bookmarks;
+ break;
+ case "Share":
+ lastSelectedPosition = R.id.drawer_shares;
+ break;
+ case "Chat":
+ lastSelectedPosition = R.id.drawer_chat;
+ break;
+ }
+ } else {
+ lastSelectedPosition = R.id.drawer_home;
+ }
+
+ MenuItem item = drawerList.getMenu().findItem(lastSelectedPosition);
+ if(item != null) {
+ item.setChecked(true);
}
}
currentFragment = getNewFragment(fragmentType);
@@ -394,9 +423,6 @@ public class SubsonicFragmentActivity extends SubsonicActivity {
replaceFragment(fragment, fragment.getSupportTag());
getIntent().removeExtra(Constants.INTENT_EXTRA_VIEW_ALBUM);
- if("Artist".equals(getIntent().getStringExtra(Constants.INTENT_EXTRA_FRAGMENT_TYPE))) {
- lastSelectedPosition = 1;
- }
}
createAccount();
@@ -480,8 +506,8 @@ public class SubsonicFragmentActivity extends SubsonicActivity {
}
@Override
- protected void drawerItemSelected(int position, View view) {
- super.drawerItemSelected(position, view);
+ protected void drawerItemSelected(String fragmentType) {
+ super.drawerItemSelected(fragmentType);
if(slideUpPanel.getPanelState() == SlidingUpPanelLayout.PanelState.EXPANDED) {
slideUpPanel.setPanelState(SlidingUpPanelLayout.PanelState.COLLAPSED);
@@ -577,19 +603,22 @@ public class SubsonicFragmentActivity extends SubsonicActivity {
artistView.setText(R.string.main_artist);
}
- SilentBackgroundTask task = getImageLoader().loadImage(coverArtView, song, false, coverArtView.getHeight(), false);
- if(slideUpPanel.getPanelState() == SlidingUpPanelLayout.PanelState.EXPANDED) {
- if(task == null) {
- getSupportActionBar().setHomeAsUpIndicator(coverArtView.getDrawable());
- } else {
- task.setOnCompletionListener(new Runnable() {
- @Override
- public void run() {
- getSupportActionBar().setHomeAsUpIndicator(coverArtView.getDrawable());
- }
- });
+ if(coverArtView != null && coverArtView.getHeight() != 0) {
+ SilentBackgroundTask task = getImageLoader().loadImage(coverArtView, song, false, coverArtView.getHeight(), false);
+ if (slideUpPanel.getPanelState() == SlidingUpPanelLayout.PanelState.EXPANDED) {
+ if (task == null) {
+ getSupportActionBar().setHomeAsUpIndicator(coverArtView.getDrawable());
+ } else {
+ task.setOnCompletionListener(new Runnable() {
+ @Override
+ public void run() {
+ getSupportActionBar().setHomeAsUpIndicator(coverArtView.getDrawable());
+ }
+ });
+ }
}
}
+
int[] attrs = new int[] {(state == PlayerState.STARTED) ? R.attr.media_button_pause : R.attr.media_button_start};
TypedArray typedArray = this.obtainStyledAttributes(attrs);
startButton.setImageResource(typedArray.getResourceId(0, 0));