Fixed Splash screen when theme settings are changed

This commit is contained in:
Prathamesh More 2022-06-05 22:31:29 +05:30
parent ad04c4e2ed
commit 7186071772
10 changed files with 14 additions and 50 deletions

View file

@ -24,7 +24,6 @@ import androidx.navigation.ui.setupWithNavController
import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.activities.base.AbsCastActivity
import code.name.monkey.retromusic.extensions.*
import code.name.monkey.retromusic.fragments.settings.OnThemeChangedListener
import code.name.monkey.retromusic.helper.MusicPlayerRemote
import code.name.monkey.retromusic.helper.SearchQueryHelper.getSongs
import code.name.monkey.retromusic.interfaces.IScrollHelper
@ -39,14 +38,14 @@ import kotlinx.coroutines.Dispatchers.IO
import kotlinx.coroutines.launch
import org.koin.android.ext.android.get
class MainActivity : AbsCastActivity(), OnThemeChangedListener {
class MainActivity : AbsCastActivity() {
companion object {
const val TAG = "MainActivity"
const val EXPAND_PANEL = "expand_panel"
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(extra<Bundle>(TAG).value ?: savedInstanceState)
super.onCreate(savedInstanceState)
setTaskDescriptionColorAuto()
hideStatusBar()
updateTabs()
@ -132,19 +131,6 @@ class MainActivity : AbsCastActivity(), OnThemeChangedListener {
}
}
override fun onThemeValuesChanged() {
restart()
}
private fun restart() {
val savedInstanceState = Bundle()
onSaveInstanceState(savedInstanceState)
finish()
val intent = Intent(this, this::class.java).putExtra(TAG, savedInstanceState)
startActivity(intent)
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out)
}
override fun onServiceConnected() {
super.onServiceConnected()
intent ?: return

View file

@ -265,6 +265,7 @@ class PlayerAlbumCoverFragment : AbsMusicServiceFragment(R.layout.fragment_playe
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {}
override fun onPageSelected(position: Int) {
logD("Page Selected $position")
currentPosition = position
if (binding.viewPager.adapter != null) {
(binding.viewPager.adapter as AlbumCoverPagerAdapter).receiveColor(

View file

@ -108,10 +108,6 @@ abstract class AbsSettingsFragment : ATEPreferenceFragmentCompat() {
}
fun restartActivity() {
if (activity is OnThemeChangedListener && !VersionUtils.hasS()) {
(activity as OnThemeChangedListener).onThemeValuesChanged()
} else {
activity?.recreate()
}
activity?.recreate()
}
}

View file

@ -25,7 +25,6 @@ import code.name.monkey.retromusic.R
import code.name.monkey.retromusic.appshortcuts.DynamicShortcutManager
import code.name.monkey.retromusic.databinding.FragmentSettingsBinding
import code.name.monkey.retromusic.extensions.applyToolbar
import code.name.monkey.retromusic.extensions.extra
import code.name.monkey.retromusic.extensions.findNavController
import com.afollestad.materialdialogs.MaterialDialog
import com.afollestad.materialdialogs.color.ColorCallback
@ -34,11 +33,6 @@ class SettingsFragment : Fragment(R.layout.fragment_settings), ColorCallback {
private var _binding: FragmentSettingsBinding? = null
private val binding get() = _binding!!
override fun onCreate(savedInstanceState: Bundle?) {
val mSavedInstanceState = extra<Bundle>(TAG).value ?: savedInstanceState
super.onCreate(mSavedInstanceState)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
_binding = FragmentSettingsBinding.bind(view)
setupToolbar()
@ -77,15 +71,7 @@ class SettingsFragment : Fragment(R.layout.fragment_settings), ColorCallback {
ThemeStore.editTheme(requireContext()).accentColor(color).commit()
if (VersionUtils.hasNougatMR())
DynamicShortcutManager(requireContext()).updateDynamicShortcuts()
restartActivity()
}
fun restartActivity() {
if (activity is OnThemeChangedListener && !VersionUtils.hasS()) {
(activity as OnThemeChangedListener).onThemeValuesChanged()
} else {
activity?.recreate()
}
activity?.recreate()
}
override fun onDestroyView() {
@ -97,7 +83,3 @@ class SettingsFragment : Fragment(R.layout.fragment_settings), ColorCallback {
val TAG: String = SettingsFragment::class.java.simpleName
}
}
interface OnThemeChangedListener {
fun onThemeValuesChanged()
}