diff options
author | Scott Jackson <daneren2005@gmail.com> | 2015-07-07 19:13:03 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2015-07-07 19:13:03 -0700 |
commit | 4676b6ab68acd6d601958b1b4df45953b8dd090b (patch) | |
tree | becc6629b012b90f709f3e931a6b7c8be50b8196 /app | |
parent | d1f764cf95fbd4d1bb6c051f3f26e074f4fff646 (diff) | |
download | dsub-4676b6ab68acd6d601958b1b4df45953b8dd090b.tar.gz dsub-4676b6ab68acd6d601958b1b4df45953b8dd090b.tar.bz2 dsub-4676b6ab68acd6d601958b1b4df45953b8dd090b.zip |
Fix panel state when rotating with panel expanded
Diffstat (limited to 'app')
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java | 13 | ||||
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/util/Constants.java | 1 |
2 files changed, 10 insertions, 4 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 0e9101f8..276a89d0 100644 --- a/app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java +++ b/app/src/main/java/github/daneren2005/dsub/activity/SubsonicFragmentActivity.java @@ -90,12 +90,12 @@ public class SubsonicFragmentActivity extends SubsonicActivity { private Handler handler = new Handler(); private SlidingUpPanelLayout slideUpPanel; + private SlidingUpPanelLayout.PanelSlideListener panelSlideListener; private NowPlayingFragment nowPlayingFragment; private Toolbar mainToolbar; private Toolbar nowPlayingToolbar; private ScheduledExecutorService executorService; - private View slideUpFrame; private View bottomBar; private ImageView coverArtView; private TextView trackView; @@ -201,7 +201,7 @@ public class SubsonicFragmentActivity extends SubsonicActivity { } slideUpPanel = (SlidingUpPanelLayout) findViewById(R.id.slide_up_panel); - slideUpPanel.setPanelSlideListener(new SlidingUpPanelLayout.PanelSlideListener() { + panelSlideListener = new SlidingUpPanelLayout.PanelSlideListener() { @Override public void onPanelSlide(View panel, float slideOffset) { @@ -248,7 +248,8 @@ public class SubsonicFragmentActivity extends SubsonicActivity { public void onPanelHidden(View panel) { } - }); + }; + slideUpPanel.setPanelSlideListener(panelSlideListener); if(getIntent().hasExtra(Constants.INTENT_EXTRA_NAME_DOWNLOAD)) { // Post this later so it actually runs @@ -260,7 +261,6 @@ public class SubsonicFragmentActivity extends SubsonicActivity { }, 200); } - slideUpFrame = findViewById(R.id.slide_up_frame); bottomBar = findViewById(R.id.bottom_bar); mainToolbar = (Toolbar) findViewById(R.id.main_toolbar); nowPlayingToolbar = (Toolbar) findViewById(R.id.now_playing_toolbar); @@ -451,6 +451,7 @@ public class SubsonicFragmentActivity extends SubsonicActivity { public void onSaveInstanceState(Bundle savedInstanceState) { super.onSaveInstanceState(savedInstanceState); savedInstanceState.putString(Constants.MAIN_NOW_PLAYING, nowPlayingFragment.getTag()); + savedInstanceState.putInt(Constants.MAIN_SLIDE_PANEL_STATE, slideUpPanel.getPanelState().hashCode()); } @Override public void onRestoreInstanceState(Bundle savedInstanceState) { @@ -462,6 +463,10 @@ public class SubsonicFragmentActivity extends SubsonicActivity { if(drawerToggle != null && backStack.size() > 0) { drawerToggle.setDrawerIndicatorEnabled(false); } + + if(savedInstanceState.getInt(Constants.MAIN_SLIDE_PANEL_STATE, -1) == SlidingUpPanelLayout.PanelState.EXPANDED.hashCode()) { + panelSlideListener.onPanelExpanded(null); + } } @Override diff --git a/app/src/main/java/github/daneren2005/dsub/util/Constants.java b/app/src/main/java/github/daneren2005/dsub/util/Constants.java index 6252d0e4..95fabc23 100644 --- a/app/src/main/java/github/daneren2005/dsub/util/Constants.java +++ b/app/src/main/java/github/daneren2005/dsub/util/Constants.java @@ -173,6 +173,7 @@ public final class Constants { public static final String MAIN_BACK_STACK = "backStackIds"; public static final String MAIN_BACK_STACK_SIZE = "backStackIdsSize"; public static final String MAIN_NOW_PLAYING = "nowPlayingId"; + public static final String MAIN_SLIDE_PANEL_STATE = "slidePanelState"; public static final String FRAGMENT_LIST = "fragmentList"; public static final String FRAGMENT_LIST2 = "fragmentList2"; public static final String FRAGMENT_EXTRA = "fragmentExtra"; |