diff --git a/app/src/main/java/code/name/monkey/retromusic/LanguageContextWrapper.kt b/app/src/main/java/code/name/monkey/retromusic/LanguageContextWrapper.kt index a14c8fdd5..d6bb6f1c4 100644 --- a/app/src/main/java/code/name/monkey/retromusic/LanguageContextWrapper.kt +++ b/app/src/main/java/code/name/monkey/retromusic/LanguageContextWrapper.kt @@ -3,17 +3,15 @@ package code.name.monkey.retromusic import android.content.Context import android.content.ContextWrapper import android.os.LocaleList -import code.name.monkey.appthemehelper.util.VersionUtils.hasNougatMR -import com.google.android.gms.common.annotation.KeepName +import code.name.monkey.appthemehelper.util.VersionUtils.hasNougat import java.util.* class LanguageContextWrapper(base: Context?) : ContextWrapper(base) { companion object { - @KeepName fun wrap(context: Context?, newLocale: Locale?): LanguageContextWrapper { if (context == null) return LanguageContextWrapper(context) val configuration = context.resources.configuration - if (hasNougatMR()) { + if (hasNougat()) { configuration.setLocale(newLocale) val localeList = LocaleList(newLocale) LocaleList.setDefault(localeList) 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 9bff94d81..1207dadf9 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 @@ -206,7 +206,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(), onServiceConnected() } SWIPE_ANYWHERE_NOW_PLAYING -> { - playerFragment.onResume() + playerFragment.addSwipeDetector() } ADAPTIVE_COLOR_APP -> { if (PreferenceUtil.nowPlayingScreen in listOf(Normal, Material, Flat)) { @@ -310,15 +310,7 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(), override fun onServiceConnected() { super.onServiceConnected() - if (MusicPlayerRemote.playingQueue.isNotEmpty()) { - binding.slidingPanel.viewTreeObserver.addOnGlobalLayoutListener(object : - ViewTreeObserver.OnGlobalLayoutListener { - override fun onGlobalLayout() { - binding.slidingPanel.viewTreeObserver.removeOnGlobalLayoutListener(this) - hideBottomSheet(false) - } - }) - } // don't call hideBottomSheet(true) here as it causes a bug with the SlidingUpPanelLayout + hideBottomSheet(false) } override fun onQueueChanged() { @@ -514,7 +506,8 @@ abstract class AbsSlidingMusicPanelActivity : AbsMusicServiceActivity(), supportFragmentManager.commit { replace(R.id.playerFragmentContainer, fragment) } - playerFragment = fragment + supportFragmentManager.executePendingTransactions() + playerFragment = whichFragment(R.id.playerFragmentContainer) miniPlayerFragment = whichFragment(R.id.miniPlayerFragment) miniPlayerFragment?.view?.setOnClickListener { expandPanel() } } diff --git a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt index 20e1ccceb..4cae40e66 100644 --- a/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt +++ b/app/src/main/java/code/name/monkey/retromusic/fragments/base/AbsPlayerFragment.kt @@ -327,7 +327,15 @@ abstract class AbsPlayerFragment(@LayoutRes layout: Int) : AbsMusicServiceFragme showLyricsIcon(this) } } - requireView().setOnTouchListener( + } + + override fun onStart() { + super.onStart() + addSwipeDetector() + } + + fun addSwipeDetector() { + view?.setOnTouchListener( if (PreferenceUtil.swipeAnywhereToChangeSong) { SwipeDetector( requireContext(),