From 6824ee229b2b1c2afb00c996dc37b02f17fa1739 Mon Sep 17 00:00:00 2001 From: Adrian Ulrich Date: Sun, 27 Mar 2016 18:15:43 +0200 Subject: [PATCH] handle back button for slide --- .../android/vanilla/FullPlaybackActivity.java | 15 ++++++++++----- .../android/vanilla/LibraryActivity.java | 8 +++++++- .../android/vanilla/SlidingView.java | 7 +++++++ 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/ch/blinkenlights/android/vanilla/FullPlaybackActivity.java b/src/ch/blinkenlights/android/vanilla/FullPlaybackActivity.java index d5d95248..e3476931 100644 --- a/src/ch/blinkenlights/android/vanilla/FullPlaybackActivity.java +++ b/src/ch/blinkenlights/android/vanilla/FullPlaybackActivity.java @@ -456,11 +456,16 @@ public class FullPlaybackActivity extends PlaybackActivity public boolean onKeyUp(int keyCode, KeyEvent event) { switch (keyCode) { - case KeyEvent.KEYCODE_DPAD_CENTER: - case KeyEvent.KEYCODE_ENTER: - setControlsVisible(!mControlsVisible); - mHandler.sendEmptyMessage(MSG_SAVE_CONTROLS); - return true; + case KeyEvent.KEYCODE_DPAD_CENTER: + case KeyEvent.KEYCODE_ENTER: + setControlsVisible(!mControlsVisible); + mHandler.sendEmptyMessage(MSG_SAVE_CONTROLS); + return true; + case KeyEvent.KEYCODE_BACK: + if (mSlidingView.isHidden() == false) { + mSlidingView.hideSlide(); + return true; + } } return super.onKeyUp(keyCode, event); diff --git a/src/ch/blinkenlights/android/vanilla/LibraryActivity.java b/src/ch/blinkenlights/android/vanilla/LibraryActivity.java index 8b5956fa..cec08ede 100644 --- a/src/ch/blinkenlights/android/vanilla/LibraryActivity.java +++ b/src/ch/blinkenlights/android/vanilla/LibraryActivity.java @@ -281,8 +281,14 @@ public class LibraryActivity case KeyEvent.KEYCODE_BACK: Limiter limiter = mPagerAdapter.getCurrentLimiter(); - if (mBottomBarControls.showSearch(false)) + if (mSlidingView.isHidden() == false) { + mSlidingView.hideSlide(); break; + } + + if (mBottomBarControls.showSearch(false)) { + break; + } if (limiter != null) { int pos = -1; diff --git a/src/ch/blinkenlights/android/vanilla/SlidingView.java b/src/ch/blinkenlights/android/vanilla/SlidingView.java index d349bb83..a0c37662 100644 --- a/src/ch/blinkenlights/android/vanilla/SlidingView.java +++ b/src/ch/blinkenlights/android/vanilla/SlidingView.java @@ -136,6 +136,13 @@ public class SlidingView extends FrameLayout setExpansionStage(0); } + /** + * Returns true if the slide is fully hidden + */ + public boolean isHidden() { + return mCurrentStage == 0; + } + /** * Transforms to the new expansion state *