diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2023-03-30 13:40:05 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2023-03-30 13:40:05 +0200 |
commit | b734f44200c40fb630fbc566dd245693145f93ec (patch) | |
tree | 1cca8dea966bf271aa14fa15b485293292bfe02e | |
parent | ee16d1329b0807d7474bf0e2b4955a99e2a15403 (diff) |
ui: use M3 theme for TV to prevent crash
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r-- | ui/src/main/java/com/wireguard/android/Application.kt | 6 | ||||
-rw-r--r-- | ui/src/main/res/values/tv_styles.xml | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/ui/src/main/java/com/wireguard/android/Application.kt b/ui/src/main/java/com/wireguard/android/Application.kt index cac1f8d8..44199d9d 100644 --- a/ui/src/main/java/com/wireguard/android/Application.kt +++ b/ui/src/main/java/com/wireguard/android/Application.kt @@ -17,6 +17,8 @@ import androidx.datastore.preferences.core.PreferenceDataStoreFactory import androidx.datastore.preferences.core.Preferences import androidx.datastore.preferences.preferencesDataStoreFile import com.google.android.material.color.DynamicColors +import com.google.android.material.color.DynamicColorsOptions +import com.wireguard.android.activity.TvMainActivity import com.wireguard.android.backend.Backend import com.wireguard.android.backend.GoBackend import com.wireguard.android.backend.WgQuickBackend @@ -87,7 +89,9 @@ class Application : android.app.Application() { override fun onCreate() { Log.i(TAG, USER_AGENT) super.onCreate() - DynamicColors.applyToActivitiesIfAvailable(this) + DynamicColors.applyToActivitiesIfAvailable(this, + // TODO: Remove this second argument once the TV theme has a proper M3 color palette. + DynamicColorsOptions.Builder().setPrecondition { activity, _ -> activity !is TvMainActivity }.build()) rootShell = RootShell(applicationContext) toolsInstaller = ToolsInstaller(applicationContext, rootShell) preferencesDataStore = PreferenceDataStoreFactory.create { applicationContext.preferencesDataStoreFile("settings") } diff --git a/ui/src/main/res/values/tv_styles.xml b/ui/src/main/res/values/tv_styles.xml index 1d06b618..07565a72 100644 --- a/ui/src/main/res/values/tv_styles.xml +++ b/ui/src/main/res/values/tv_styles.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android"> - <style name="TvTheme" parent="Theme.MaterialComponents.NoActionBar"> + <style name="TvTheme" parent="Theme.Material3.DayNight.NoActionBar"> <item name="colorPrimary">@color/tv_primary_color</item> <item name="colorOnPrimary">#fffafafa</item> <item name="colorPrimaryDark">@color/tv_primary_color</item> @@ -20,7 +20,7 @@ <item name="materialCardViewStyle">@style/TvTheme.MaterialCardView</item> </style> - <style name="TvTheme.Dialog" parent="Theme.MaterialComponents.DayNight.Dialog.Alert"> + <style name="TvTheme.Dialog" parent="Theme.Material3.DayNight.Dialog.Alert"> <item name="android:windowBackground">?attr/colorSurface</item> </style> |