diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2023-04-04 19:34:00 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2023-04-04 20:53:42 +0200 |
commit | 75899594c35e0bd055cedd40f695fd6583a6b2dd (patch) | |
tree | f433bcfdd3b66925186409912fa466ff1d53d424 /ui/src/main/res | |
parent | 4944762d7c167da620b92914350421e5fce493be (diff) |
ui: use real M3 themeing on TV
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'ui/src/main/res')
-rw-r--r-- | ui/src/main/res/color/tv_list_item_tint.xml | 7 | ||||
-rw-r--r-- | ui/src/main/res/layout/tv_activity.xml | 2 | ||||
-rw-r--r-- | ui/src/main/res/layout/tv_file_list_item.xml | 2 | ||||
-rw-r--r-- | ui/src/main/res/layout/tv_tunnel_list_item.xml | 9 | ||||
-rw-r--r-- | ui/src/main/res/values/attrs.xml | 4 | ||||
-rw-r--r-- | ui/src/main/res/values/colors.xml (renamed from ui/src/main/res/values/md_colors.xml) | 0 | ||||
-rw-r--r-- | ui/src/main/res/values/styles.xml | 7 | ||||
-rw-r--r-- | ui/src/main/res/values/tv_colors.xml | 8 | ||||
-rw-r--r-- | ui/src/main/res/values/tv_styles.xml | 31 |
9 files changed, 22 insertions, 48 deletions
diff --git a/ui/src/main/res/color/tv_list_item_tint.xml b/ui/src/main/res/color/tv_list_item_tint.xml new file mode 100644 index 00000000..08e833a7 --- /dev/null +++ b/ui/src/main/res/color/tv_list_item_tint.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<selector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto"> + <item app:state_isUp="true" app:state_isDeleting="false" android:color="?attr/colorPrimaryInverse" /> + <item android:state_focused="true" app:state_isDeleting="true" android:color="?attr/colorErrorContainer" /> + <item android:color="?attr/colorOnSurfaceInverse" /> +</selector>
\ No newline at end of file diff --git a/ui/src/main/res/layout/tv_activity.xml b/ui/src/main/res/layout/tv_activity.xml index 8e66c4e3..2ea80e41 100644 --- a/ui/src/main/res/layout/tv_activity.xml +++ b/ui/src/main/res/layout/tv_activity.xml @@ -135,7 +135,6 @@ android:visibility="@{isDeleting ? View.GONE : View.VISIBLE}" app:icon="@{filesRoot.isEmpty ? @drawable/ic_action_add_white : @drawable/ic_arrow_back}" app:iconPadding="0dp" - app:iconTint="?attr/colorOnPrimary" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" /> @@ -149,7 +148,6 @@ android:visibility="@{((tunnels.isEmpty && !isDeleting) || !filesRoot.isEmpty) ? View.GONE : View.VISIBLE}" app:icon="@{isDeleting ? @drawable/ic_arrow_back : @drawable/ic_action_delete}" app:iconPadding="0dp" - app:iconTint="?attr/colorOnPrimary" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> diff --git a/ui/src/main/res/layout/tv_file_list_item.xml b/ui/src/main/res/layout/tv_file_list_item.xml index 3fab318a..d5afa0a4 100644 --- a/ui/src/main/res/layout/tv_file_list_item.xml +++ b/ui/src/main/res/layout/tv_file_list_item.xml @@ -21,7 +21,6 @@ android:layout_margin="8dp" android:layout_marginTop="4dp" android:layout_marginBottom="0dp" - android:backgroundTint="@color/tv_card_background" android:checkable="true" android:focusable="true" app:contentPadding="8dp"> @@ -35,7 +34,6 @@ android:layout_height="wrap_content" android:text="@{key}" android:textAppearance="?attr/textAppearanceTitleLarge" - android:textColor="?attr/colorOnPrimary" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/ui/src/main/res/layout/tv_tunnel_list_item.xml b/ui/src/main/res/layout/tv_tunnel_list_item.xml index 29656f2e..2d6039f1 100644 --- a/ui/src/main/res/layout/tv_tunnel_list_item.xml +++ b/ui/src/main/res/layout/tv_tunnel_list_item.xml @@ -28,16 +28,18 @@ type="com.wireguard.android.model.ObservableTunnel" /> </data> - <com.google.android.material.card.MaterialCardView + <com.wireguard.android.widget.TvCardView android:layout_width="225dp" android:layout_height="110dp" android:layout_margin="8dp" android:layout_marginTop="4dp" android:layout_marginBottom="0dp" + android:backgroundTint="@color/tv_list_item_tint" android:checkable="true" android:focusable="true" app:contentPadding="8dp" - android:backgroundTint="@{(item.state == State.UP && !isDeleting) ? @color/tv_secondary_dark_color : (isDeleting && isFocused) ? @color/tv_card_delete_background : @color/tv_card_background}"> + app:isDeleting="@{isDeleting}" + app:isUp="@{item.state == State.UP}"> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" @@ -49,7 +51,6 @@ android:layout_height="wrap_content" android:text="@{item.name}" android:textAppearance="?attr/textAppearanceTitleLarge" - android:textColor="?attr/colorOnPrimary" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" tools:text="@sample/interface_names.json/names/names/name" /> @@ -76,6 +77,6 @@ </androidx.constraintlayout.widget.ConstraintLayout> - </com.google.android.material.card.MaterialCardView> + </com.wireguard.android.widget.TvCardView> </layout> diff --git a/ui/src/main/res/values/attrs.xml b/ui/src/main/res/values/attrs.xml index 903ac008..9ba1eea5 100644 --- a/ui/src/main/res/values/attrs.xml +++ b/ui/src/main/res/values/attrs.xml @@ -4,4 +4,8 @@ <attr name="state_multiselected" format="boolean" /> <attr name="colorMultiselectActiveBackground" format="reference|color" /> </declare-styleable> + <declare-styleable name="TvCardView"> + <attr name="state_isUp" format="boolean" /> + <attr name="state_isDeleting" format="boolean" /> + </declare-styleable> </resources> diff --git a/ui/src/main/res/values/md_colors.xml b/ui/src/main/res/values/colors.xml index 65e82389..65e82389 100644 --- a/ui/src/main/res/values/md_colors.xml +++ b/ui/src/main/res/values/colors.xml diff --git a/ui/src/main/res/values/styles.xml b/ui/src/main/res/values/styles.xml index 74b4e80c..ea36784b 100644 --- a/ui/src/main/res/values/styles.xml +++ b/ui/src/main/res/values/styles.xml @@ -12,7 +12,7 @@ </style> <!-- Various additional API-specific features in values-v*/styles.xml --> - <style name="AppTheme" parent="AppThemeBase"/> + <style name="AppTheme" parent="AppThemeBase" /> <style name="WireGuardTheme.MaterialCardView" parent="Widget.Material3.CardView.Elevated"> <item name="cornerRadius">4dp</item> @@ -36,4 +36,9 @@ <item name="android:windowEnterAnimation">@android:anim/fade_in</item> <item name="android:windowExitAnimation">@android:anim/fade_out</item> </style> + + <style name="TvTheme" parent="AppTheme"> + <item name="windowActionBar">false</item> + <item name="windowNoTitle">true</item> + </style> </resources> diff --git a/ui/src/main/res/values/tv_colors.xml b/ui/src/main/res/values/tv_colors.xml deleted file mode 100644 index dc4e6a01..00000000 --- a/ui/src/main/res/values/tv_colors.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<resources> - <color name="tv_primary_color">#ff212121</color> - <color name="tv_secondary_dark_color">#ff0059c1</color> - <color name="tv_card_background">@color/tv_primary_color</color> - <color name="tv_card_delete_background">#b00020</color> - <color name="tv_list_multiselect_background">#ffeeeeee</color> -</resources> diff --git a/ui/src/main/res/values/tv_styles.xml b/ui/src/main/res/values/tv_styles.xml deleted file mode 100644 index 07565a72..00000000 --- a/ui/src/main/res/values/tv_styles.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<resources xmlns:android="http://schemas.android.com/apk/res/android"> - - <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> - <item name="colorPrimaryVariant">#ff484848</item> - <item name="colorSecondary">#ff4285f4</item> - <item name="colorOnSecondary">#ff0059c1</item> - <item name="colorSurface">@color/tv_primary_color</item> - <item name="colorOnSurface">#fffafafa</item> - <item name="colorMultiselectActiveBackground">@color/tv_list_multiselect_background</item> - <item name="colorControlNormal">#fffafafa</item> - <item name="elevationOverlayEnabled">false</item> - <item name="android:statusBarColor">@color/tv_primary_color</item> - <item name="android:windowBackground">@color/tv_primary_color</item> - <item name="alertDialogTheme">@style/TvTheme.Dialog</item> - <item name="materialAlertDialogTheme">@style/TvTheme.Dialog</item> - <item name="materialCardViewStyle">@style/TvTheme.MaterialCardView</item> - </style> - - <style name="TvTheme.Dialog" parent="Theme.Material3.DayNight.Dialog.Alert"> - <item name="android:windowBackground">?attr/colorSurface</item> - </style> - - <style name="TvTheme.MaterialCardView" parent="Widget.Material3.CardView.Elevated"> - <item name="cornerRadius">4dp</item> - <item name="contentPadding">8dp</item> - </style> -</resources> |