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

@ -14,7 +14,7 @@ android {
vectorDrawables.useSupportLibrary = true
applicationId "code.name.monkey.retromusic"
versionCode 10585
versionCode 10587
versionName '5.9.0'
buildConfigField("String", "GOOGLE_PLAY_LICENSING_KEY", "\"${getProperty(getProperties('../public.properties'), 'GOOGLE_PLAY_LICENSE_KEY')}\"")
@ -92,7 +92,7 @@ dependencies {
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation "androidx.preference:preference-ktx:$preference_version"
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.core:core-ktx:1.8.0'
implementation 'androidx.palette:palette-ktx:1.0.0'
//Cast Dependencies

View file

@ -39,13 +39,12 @@
android:supportsRtl="true"
android:theme="@style/Theme.RetroMusic.FollowSystem"
android:usesCleartextTraffic="true"
tools:ignore="AllowBackup,GoogleAppIndexingWarning"
tools:targetApi="m">
<activity
android:name=".activities.MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/SplashTheme">
android:theme="@style/Theme.RetroMusic.SplashScreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.MUSIC_PLAYER" />

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()
}

View file

@ -72,7 +72,7 @@
android:paddingHorizontal="16dp"
android:scrollHorizontally="true"
android:singleLine="true"
android:textAppearance="@style/TextViewHeadline6"
android:textAppearance="@style/TextViewHeadline5"
android:textColor="?android:attr/textColorPrimary"
android:textStyle="bold"
tools:text="@tools:sample/lorem/random" />
@ -91,7 +91,7 @@
android:paddingHorizontal="16dp"
android:scrollHorizontally="true"
android:singleLine="true"
android:textAppearance="@style/TextViewBody1"
android:textAppearance="@style/TextViewSubtitle2"
android:textColor="?android:attr/textColorSecondary"
app:layout_constrainedWidth="true"
tools:text="@tools:sample/full_names" />

View file

@ -17,9 +17,9 @@
<item name="colorSurface">@android:color/system_accent1_50</item>
</style>
<style name="SplashTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<item name="android:windowSplashScreenAnimatedIcon">@drawable/ic_splash_anim</item>
<style name="Theme.RetroMusic.SplashScreen" parent="Theme.SplashScreen">
<item name="android:windowSplashScreenAnimatedIcon">@drawable/avd_splash</item>
<item name="android:windowSplashScreenAnimationDuration">1000</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="postSplashScreenTheme">@style/Theme.RetroMusic.FollowSystem</item>
</style>
</resources>

View file

@ -6,7 +6,7 @@ buildscript {
navigation_version = '2.5.0-rc01'
mdc_version = '1.7.0-alpha02'
preference_version = '1.2.0'
appcompat_version = '1.4.1'
appcompat_version = '1.4.2'
}
repositories {