Skip to content

Commit 5d14caf

Browse files
committed
ui: move default style to Material3 with Dynamic Colors
The TV theme has been kept as-is since Material You guidance around this is a bit scarce at the moment. Signed-off-by: Harsh Shandilya <[email protected]>
1 parent 81c571f commit 5d14caf

File tree

5 files changed

+23
-22
lines changed

5 files changed

+23
-22
lines changed

ui/src/main/java/com/wireguard/android/Application.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import androidx.datastore.core.DataStore
1616
import androidx.datastore.preferences.core.PreferenceDataStoreFactory
1717
import androidx.datastore.preferences.core.Preferences
1818
import androidx.datastore.preferences.preferencesDataStoreFile
19+
import com.google.android.material.color.DynamicColors
1920
import com.wireguard.android.backend.Backend
2021
import com.wireguard.android.backend.GoBackend
2122
import com.wireguard.android.backend.WgQuickBackend
@@ -86,6 +87,7 @@ class Application : android.app.Application() {
8687
override fun onCreate() {
8788
Log.i(TAG, USER_AGENT)
8889
super.onCreate()
90+
DynamicColors.applyToActivitiesIfAvailable(this)
8991
rootShell = RootShell(applicationContext)
9092
toolsInstaller = ToolsInstaller(applicationContext, rootShell)
9193
preferencesDataStore = PreferenceDataStoreFactory.create { applicationContext.preferencesDataStoreFile("settings") }

ui/src/main/java/com/wireguard/android/fragment/AppListDialogFragment.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import androidx.databinding.Observable
1515
import androidx.fragment.app.DialogFragment
1616
import androidx.fragment.app.setFragmentResult
1717
import androidx.lifecycle.lifecycleScope
18+
import com.google.android.material.dialog.MaterialAlertDialogBuilder
1819
import com.google.android.material.tabs.TabLayout
1920
import com.wireguard.android.BR
2021
import com.wireguard.android.R
@@ -88,7 +89,7 @@ class AppListDialogFragment : DialogFragment() {
8889
}
8990

9091
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
91-
val alertDialogBuilder = AlertDialog.Builder(requireActivity())
92+
val alertDialogBuilder = MaterialAlertDialogBuilder(requireActivity())
9293
val binding = AppListDialogFragmentBinding.inflate(requireActivity().layoutInflater, null, false)
9394
binding.executePendingBindings()
9495
alertDialogBuilder.setView(binding.root)

ui/src/main/java/com/wireguard/android/fragment/ConfigNamingDialogFragment.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import androidx.appcompat.app.AlertDialog
1212
import androidx.core.content.getSystemService
1313
import androidx.fragment.app.DialogFragment
1414
import androidx.lifecycle.lifecycleScope
15+
import com.google.android.material.dialog.MaterialAlertDialogBuilder
1516
import com.google.android.material.textfield.TextInputEditText
1617
import com.wireguard.android.Application
1718
import com.wireguard.android.R
@@ -64,7 +65,7 @@ class ConfigNamingDialogFragment : DialogFragment() {
6465
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
6566
val activity = requireActivity()
6667
imm = activity.getSystemService()
67-
val alertDialogBuilder = AlertDialog.Builder(activity)
68+
val alertDialogBuilder = MaterialAlertDialogBuilder(activity)
6869
alertDialogBuilder.setTitle(R.string.import_from_qr_code)
6970
binding = ConfigNamingDialogFragmentBinding.inflate(activity.layoutInflater, null, false)
7071
binding?.apply {

ui/src/main/res/values/styles.xml

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources xmlns:android="http://schemas.android.com/apk/res/android">
33

4-
<style name="WireGuardTheme" parent="Theme.MaterialComponents.DayNight">
4+
<style name="WireGuardTheme" parent="Theme.Material3.DayNight">
55
<item name="colorPrimary">@color/primary_color</item>
66
<item name="colorOnPrimary">@color/color_control_normal</item>
77
<item name="colorPrimaryDark">@color/primary_color</item>
@@ -17,9 +17,6 @@
1717
<item name="elevationOverlayEnabled">true</item>
1818
<item name="android:statusBarColor">@color/status_bar_color</item>
1919
<item name="android:windowBackground">@color/primary_color</item>
20-
<item name="alertDialogTheme">@style/AppTheme.Dialog</item>
21-
<item name="materialAlertDialogTheme">@style/AppTheme.Dialog</item>
22-
<item name="textInputStyle">@style/TextInputLayoutBase</item>
2320
<item name="materialCardViewStyle">@style/AppTheme.MaterialCardView</item>
2421
</style>
2522

@@ -32,12 +29,6 @@
3229
<item name="cardBackgroundColor">?attr/elevationOverlayColor</item>
3330
</style>
3431

35-
<style name="AppTheme.Dialog" parent="Theme.MaterialComponents.DayNight.Dialog.Alert">
36-
<item name="colorPrimary">@color/secondary_color</item>
37-
<item name="colorSecondary">@color/secondary_color</item>
38-
<item name="android:windowBackground">?attr/colorBackground</item>
39-
</style>
40-
4132
<style name="BottomSheetDialogTheme" parent="ThemeOverlay.MaterialComponents.BottomSheetDialog">
4233
<item name="android:windowIsFloating">false</item>
4334
<item name="android:navigationBarColor">?attr/colorBackground</item>
@@ -70,12 +61,4 @@
7061
<style name="ThemeOverlay.AppTheme.TextInputEditText.OutlinedBox" parent="ThemeOverlay.MaterialComponents.TextInputEditText.OutlinedBox">
7162
<item name="colorControlActivated">@color/color_control_normal</item>
7263
</style>
73-
74-
<style name="TextInputLayoutBase" parent="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
75-
<item name="boxStrokeColor">?attr/colorSecondary</item>
76-
<item name="hintTextColor">?attr/colorOnPrimary</item>
77-
<item name="materialThemeOverlay">
78-
@style/ThemeOverlay.AppTheme.TextInputEditText.OutlinedBox
79-
</item>
80-
</style>
8164
</resources>

ui/src/main/res/values/tv_styles.xml

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,26 @@
1616
<item name="elevationOverlayEnabled">false</item>
1717
<item name="android:statusBarColor">@color/tv_primary_color</item>
1818
<item name="android:windowBackground">@color/tv_primary_color</item>
19-
<item name="alertDialogTheme">@style/AppTheme.Dialog</item>
20-
<item name="materialAlertDialogTheme">@style/AppTheme.Dialog</item>
19+
<item name="alertDialogTheme">@style/TvTheme.Dialog</item>
20+
<item name="materialAlertDialogTheme">@style/TvTheme.Dialog</item>
2121
<item name="textInputStyle">@style/TextInputLayoutBase</item>
2222
<item name="materialCardViewStyle">@style/TvTheme.MaterialCardView</item>
2323
</style>
2424

25+
<style name="TextInputLayoutBase" parent="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">
26+
<item name="boxStrokeColor">?attr/colorSecondary</item>
27+
<item name="hintTextColor">?attr/colorOnPrimary</item>
28+
<item name="materialThemeOverlay">
29+
@style/ThemeOverlay.AppTheme.TextInputEditText.OutlinedBox
30+
</item>
31+
</style>
32+
33+
<style name="TvTheme.Dialog" parent="Theme.MaterialComponents.DayNight.Dialog.Alert">
34+
<item name="colorPrimary">@color/secondary_color</item>
35+
<item name="colorSecondary">@color/secondary_color</item>
36+
<item name="android:windowBackground">?attr/colorBackground</item>
37+
</style>
38+
2539
<style name="TvTheme.MaterialCardView" parent="Widget.MaterialComponents.CardView">
2640
<item name="cornerRadius">4dp</item>
2741
<item name="cardElevation">8dp</item>

0 commit comments

Comments
 (0)