summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--ui/src/main/java/com/wireguard/android/activity/TvMainActivity.kt4
-rw-r--r--ui/src/main/res/layout/tv_tunnel_list_item.xml10
-rw-r--r--ui/src/main/res/values/tv_colors.xml1
3 files changed, 11 insertions, 4 deletions
diff --git a/ui/src/main/java/com/wireguard/android/activity/TvMainActivity.kt b/ui/src/main/java/com/wireguard/android/activity/TvMainActivity.kt
index 2b12d545..1528ac95 100644
--- a/ui/src/main/java/com/wireguard/android/activity/TvMainActivity.kt
+++ b/ui/src/main/java/com/wireguard/android/activity/TvMainActivity.kt
@@ -79,6 +79,10 @@ class TvMainActivity : AppCompatActivity() {
binding.rowConfigurationHandler = object : ObservableKeyedRecyclerViewAdapter.RowConfigurationHandler<TvTunnelListItemBinding, ObservableTunnel> {
override fun onConfigureRow(binding: TvTunnelListItemBinding, item: ObservableTunnel, position: Int) {
binding.isDeleting = isDeleting
+ binding.isFocused = ObservableBoolean()
+ binding.root.setOnFocusChangeListener { _, focused ->
+ binding.isFocused?.set(focused)
+ }
binding.root.setOnClickListener {
lifecycleScope.launch {
if (isDeleting.get()) {
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 0eedd87c..c45abd08 100644
--- a/ui/src/main/res/layout/tv_tunnel_list_item.xml
+++ b/ui/src/main/res/layout/tv_tunnel_list_item.xml
@@ -16,6 +16,10 @@
type="androidx.databinding.ObservableBoolean" />
<variable
+ name="isFocused"
+ type="androidx.databinding.ObservableBoolean" />
+
+ <variable
name="key"
type="String" />
@@ -24,16 +28,15 @@
type="com.wireguard.android.model.ObservableTunnel" />
</data>
- <!-- Rather than changing the background tint to red for deleting mode, it should instead just change the selection color -->
<com.google.android.material.card.MaterialCardView
android:layout_width="225dp"
android:layout_height="110dp"
android:layout_margin="8dp"
android:layout_marginTop="4dp"
android:layout_marginBottom="0dp"
- android:backgroundTint="@{isDeleting ? @color/error_tag_color : item.state == State.UP ? @color/secondary_dark_color : @color/tv_card_background}"
android:checkable="true"
android:focusable="true"
+ android:backgroundTint="@{(item.state == State.UP &amp;&amp; !isDeleting) ? @color/secondary_dark_color : (isDeleting &amp;&amp; isFocused) ? @color/tv_card_delete_background : @color/tv_card_background}"
app:contentPadding="8dp">
<androidx.constraintlayout.widget.ConstraintLayout
@@ -61,13 +64,12 @@
app:layout_constraintStart_toStartOf="parent"
tools:text="rx: 200 MB, tx: 100 MB" />
- <!-- TODO: replace the "&amp;&amp; true" stuff with && isSelected() -->
<com.google.android.material.textview.MaterialTextView
android:id="@+id/tunnel_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tv_delete"
- android:visibility="@{isDeleting &amp;&amp; true ? View.VISIBLE : View.GONE}"
+ android:visibility="@{(isDeleting &amp;&amp; isFocused) ? View.VISIBLE : View.GONE}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:visibility="gone" />
diff --git a/ui/src/main/res/values/tv_colors.xml b/ui/src/main/res/values/tv_colors.xml
index b202d2a2..f330bedc 100644
--- a/ui/src/main/res/values/tv_colors.xml
+++ b/ui/src/main/res/values/tv_colors.xml
@@ -2,4 +2,5 @@
<resources>
<color name="tv_primary_color">#ff212121</color>
<color name="tv_card_background">@color/tv_primary_color</color>
+ <color name="tv_card_delete_background">#b00020</color>
</resources>