From 4b08919d7d4f0a642c8d66203c0e1a237d4652ef Mon Sep 17 00:00:00 2001 From: Prathamesh More Date: Thu, 12 May 2022 09:50:34 +0530 Subject: [PATCH] Added an option to enable/disable swipe --- .../main/java/code/name/monkey/retromusic/Constants.kt | 3 ++- .../name/monkey/retromusic/activities/MainActivity.kt | 2 +- .../activities/base/AbsSlidingMusicPanelActivity.kt | 8 ++++---- .../code/name/monkey/retromusic/util/PreferenceUtil.kt | 9 ++++++--- app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/pref_now_playing_screen.xml | 7 +++++++ 6 files changed, 22 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/code/name/monkey/retromusic/Constants.kt b/app/src/main/java/code/name/monkey/retromusic/Constants.kt index 04f7a0e2f..59532ab49 100644 --- a/app/src/main/java/code/name/monkey/retromusic/Constants.kt +++ b/app/src/main/java/code/name/monkey/retromusic/Constants.kt @@ -167,4 +167,5 @@ const val SCREEN_ON_LYRICS = "screen_on_lyrics" const val CIRCLE_PLAY_BUTTON = "circle_play_button" const val SWIPE_ANYWHERE_NOW_PLAYING = "swipe_anywhere_now_playing" const val PAUSE_HISTORY = "pause_history" -const val MANAGE_AUDIO_FOCUS = "manage_audio_focus" \ No newline at end of file +const val MANAGE_AUDIO_FOCUS = "manage_audio_focus" +const val SWIPE_DOWN_DISMISS = "swipe_to_dismiss" \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt index 74d173fc5..b338915ea 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/MainActivity.kt @@ -148,7 +148,7 @@ class MainActivity : AbsCastActivity(), OnSharedPreferenceChangeListener { } override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) { - if (key == GENERAL_THEME || key == MATERIAL_YOU || key == WALLPAPER_ACCENT || key == BLACK_THEME || key == ADAPTIVE_COLOR_APP || key == USER_NAME || key == TOGGLE_FULL_SCREEN || key == TOGGLE_VOLUME || key == ROUND_CORNERS || key == CAROUSEL_EFFECT || key == NOW_PLAYING_SCREEN_ID || key == TOGGLE_GENRE || key == BANNER_IMAGE_PATH || key == PROFILE_IMAGE_PATH || key == CIRCULAR_ALBUM_ART || key == KEEP_SCREEN_ON || key == TOGGLE_SEPARATE_LINE || key == TOGGLE_HOME_BANNER || key == TOGGLE_ADD_CONTROLS || key == ALBUM_COVER_STYLE || key == HOME_ARTIST_GRID_STYLE || key == ALBUM_COVER_TRANSFORM || key == DESATURATED_COLOR || key == EXTRA_SONG_INFO || key == TAB_TEXT_MODE || key == LANGUAGE_NAME || key == LIBRARY_CATEGORIES || key == CUSTOM_FONT || key == APPBAR_MODE || key == CIRCLE_PLAY_BUTTON) { + if (key == GENERAL_THEME || key == MATERIAL_YOU || key == WALLPAPER_ACCENT || key == BLACK_THEME || key == ADAPTIVE_COLOR_APP || key == USER_NAME || key == TOGGLE_FULL_SCREEN || key == TOGGLE_VOLUME || key == ROUND_CORNERS || key == CAROUSEL_EFFECT || key == NOW_PLAYING_SCREEN_ID || key == TOGGLE_GENRE || key == BANNER_IMAGE_PATH || key == PROFILE_IMAGE_PATH || key == CIRCULAR_ALBUM_ART || key == KEEP_SCREEN_ON || key == TOGGLE_SEPARATE_LINE || key == TOGGLE_HOME_BANNER || key == TOGGLE_ADD_CONTROLS || key == ALBUM_COVER_STYLE || key == HOME_ARTIST_GRID_STYLE || key == ALBUM_COVER_TRANSFORM || key == DESATURATED_COLOR || key == EXTRA_SONG_INFO || key == TAB_TEXT_MODE || key == LANGUAGE_NAME || key == LIBRARY_CATEGORIES || key == CUSTOM_FONT || key == APPBAR_MODE || key == CIRCLE_PLAY_BUTTON || key == SWIPE_DOWN_DISMISS) { postRecreate() } } diff --git a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt index d26e25015..917685cfd 100644 --- a/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt +++ b/app/src/main/java/code/name/monkey/retromusic/activities/base/AbsSlidingMusicPanelActivity.kt @@ -160,7 +160,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { private fun setupBottomSheet() { bottomSheetBehavior = from(binding.slidingPanel) bottomSheetBehavior.addBottomSheetCallback(bottomSheetCallbackList) - bottomSheetBehavior.isHideable = true + if (PreferenceUtil.swipeDownToDismiss) bottomSheetBehavior.isHideable = true setMiniPlayerAlphaProgress(0F) } @@ -298,7 +298,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { navigationBarColor = surfaceColor() setTaskDescColor(paletteColor) val isColorLight = paletteColor.isColorLight - if (PreferenceUtil.isAdaptiveColor && (nowPlayingScreen == Normal || nowPlayingScreen == Flat || nowPlayingScreen == Material)) { + if (PreferenceUtil.isAdaptiveColor && (nowPlayingScreen == Normal || nowPlayingScreen == Flat || nowPlayingScreen == Material)) { setLightNavigationBar(true) setLightStatusBar(isColorLight) } else if (nowPlayingScreen == Card || nowPlayingScreen == Blur || nowPlayingScreen == BlurCard) { @@ -357,7 +357,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { fun setBottomNavVisibility( visible: Boolean, animate: Boolean = false, - hideBottomSheet: Boolean = MusicPlayerRemote.playingQueue.isEmpty() + hideBottomSheet: Boolean = MusicPlayerRemote.playingQueue.isEmpty(), ) { if (isInOneTabMode) { hideBottomSheet( @@ -391,7 +391,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity() { fun hideBottomSheet( hide: Boolean, animate: Boolean = false, - isBottomNavVisible: Boolean = bottomNavigationView.isVisible + isBottomNavVisible: Boolean = bottomNavigationView.isVisible, ) { val heightOfBar = windowInsets.safeGetBottomInsets() + diff --git a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt index c46a169fb..ffdee11b6 100644 --- a/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt +++ b/app/src/main/java/code/name/monkey/retromusic/util/PreferenceUtil.kt @@ -67,12 +67,12 @@ object PreferenceUtil { } fun registerOnSharedPreferenceChangedListener( - listener: OnSharedPreferenceChangeListener + listener: OnSharedPreferenceChangeListener, ) = sharedPreferences.registerOnSharedPreferenceChangeListener(listener) fun unregisterOnSharedPreferenceChangedListener( - changeListener: OnSharedPreferenceChangeListener + changeListener: OnSharedPreferenceChangeListener, ) = sharedPreferences.unregisterOnSharedPreferenceChangeListener(changeListener) @@ -394,7 +394,7 @@ object PreferenceUtil { val filterLength get() = sharedPreferences.getInt(FILTER_SONG, 20) var lastVersion - // This was stored as an integer before now it's a long, so avoid a ClassCastException + // This was stored as an integer before now it's a long, so avoid a ClassCastException get() = try { sharedPreferences.getLong(LAST_CHANGELOG_VERSION, 0) } catch (e: ClassCastException) { @@ -725,6 +725,9 @@ object PreferenceUtil { val swipeAnywhereToChangeSong get() = sharedPreferences.getBoolean(SWIPE_ANYWHERE_NOW_PLAYING, true) + + val swipeDownToDismiss + get() = sharedPreferences.getBoolean(SWIPE_DOWN_DISMISS, true) } enum class LyricsType { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index be912dd6d..38100d4f9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -553,4 +553,6 @@ You have to select at least one category. You will be forwarded to the issue tracker website. Your account data is only used for authentication. + Swipe down to dismiss mini player + Dismiss with swipe down diff --git a/app/src/main/res/xml/pref_now_playing_screen.xml b/app/src/main/res/xml/pref_now_playing_screen.xml index 82db63d13..63f4e7403 100644 --- a/app/src/main/res/xml/pref_now_playing_screen.xml +++ b/app/src/main/res/xml/pref_now_playing_screen.xml @@ -80,6 +80,13 @@ android:layout="@layout/preference_category_title" android:title="@string/pref_header_controls"> + +