fix(theme): set correct surface color when using dynamic colors or amoled theme
Surface colors have changed in material components 1.11.0 Closes #673
This commit is contained in:
parent
c30b76d4f1
commit
0a1582f47b
4 changed files with 20 additions and 3 deletions
|
@ -10,9 +10,11 @@ import coil.decode.SvgDecoder
|
|||
import coil.disk.DiskCache
|
||||
import coil.request.CachePolicy
|
||||
import com.google.android.material.color.DynamicColors
|
||||
import com.google.android.material.color.DynamicColorsOptions
|
||||
import dagger.hilt.android.HiltAndroidApp
|
||||
import timber.log.Timber
|
||||
import javax.inject.Inject
|
||||
import dev.jdtech.jellyfin.core.R as CoreR
|
||||
|
||||
@HiltAndroidApp
|
||||
class BaseApplication : Application(), Configuration.Provider, ImageLoaderFactory {
|
||||
|
@ -40,7 +42,12 @@ class BaseApplication : Application(), Configuration.Provider, ImageLoaderFactor
|
|||
"dark" -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
|
||||
}
|
||||
|
||||
if (appPreferences.dynamicColors) DynamicColors.applyToActivitiesIfAvailable(this)
|
||||
if (appPreferences.dynamicColors) {
|
||||
val dynamicColorsOptions = DynamicColorsOptions.Builder()
|
||||
.setThemeOverlay(CoreR.style.ThemeOverlay_Findroid_DynamicColors)
|
||||
.build()
|
||||
DynamicColors.applyToActivitiesIfAvailable(this, dynamicColorsOptions)
|
||||
}
|
||||
}
|
||||
|
||||
override fun newImageLoader(): ImageLoader {
|
||||
|
|
|
@ -149,7 +149,7 @@ class MainActivity : AppCompatActivity() {
|
|||
|
||||
private fun applyTheme() {
|
||||
if (appPreferences.amoledTheme) {
|
||||
setTheme(CoreR.style.Theme_FindroidAMOLED)
|
||||
setTheme(CoreR.style.ThemeOverlay_Findroid_Amoled)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,9 +17,12 @@
|
|||
<item name="colorSurface">@color/neutral_900</item>
|
||||
</style>
|
||||
|
||||
<style name="Theme.FindroidAMOLED" parent="">
|
||||
<style name="ThemeOverlay.Findroid.Amoled" parent="">
|
||||
<!-- Surface -->
|
||||
<item name="android:colorBackground">@android:color/black</item>
|
||||
<item name="colorSurface">@android:color/black</item>
|
||||
<item name="colorSurfaceContainer">?attr/colorSurface</item>
|
||||
<item name="colorSurfaceContainerLow">?attr/colorSurface</item>
|
||||
<item name="colorSurfaceContainerHigh">?attr/colorSurface</item>
|
||||
</style>
|
||||
</resources>
|
|
@ -24,6 +24,9 @@
|
|||
<!-- Surface -->
|
||||
<item name="android:colorBackground">@color/neutral_50</item>
|
||||
<item name="colorSurface">@color/neutral_100</item>
|
||||
<item name="colorSurfaceContainer">?attr/colorSurface</item>
|
||||
<item name="colorSurfaceContainerLow">?attr/colorSurface</item>
|
||||
<item name="colorSurfaceContainerHigh">?attr/colorSurface</item>
|
||||
|
||||
<!-- Error -->
|
||||
<item name="colorError">@color/red</item>
|
||||
|
@ -53,6 +56,10 @@
|
|||
<item name="preferenceTheme">@style/ThemeOverlay.Findroid.Preference</item>
|
||||
</style>
|
||||
|
||||
<style name="ThemeOverlay.Findroid.DynamicColors" parent="ThemeOverlay.Material3.DynamicColors.DayNight">
|
||||
<item name="android:navigationBarColor">?attr/colorSurfaceContainer</item>
|
||||
</style>
|
||||
|
||||
<string-array name="themes">
|
||||
<item>@string/theme_system</item>
|
||||
<item>@string/theme_light</item>
|
||||
|
|
Loading…
Reference in a new issue