Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29b87435 authored by Chelsea Hao's avatar Chelsea Hao Committed by Android (Google) Code Review
Browse files

Merge "Make talkback to announce "double-tap to disconnect" for active devices." into main

parents 3da365b1 f61d6ecb
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
    style="@style/BluetoothTileDialog.Device"
    android:layout_width="match_parent"
    android:layout_height="@dimen/bluetooth_dialog_device_height"
    android:paddingEnd="24dp"
    android:paddingEnd="0dp"
    android:paddingStart="20dp"
    android:layout_marginBottom="4dp">

@@ -86,6 +86,7 @@
        android:id="@+id/gear_icon_image"
        android:layout_width="0dp"
        android:layout_height="24dp"
        android:paddingEnd="24dp"
        android:src="@drawable/ic_settings_24dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
+24 −0
Original line number Diff line number Diff line
@@ -120,6 +120,16 @@
                android:visibility="gone"
                app:constraint_referenced_ids="ic_arrow,see_all_text" />

            <View
                android:id="@+id/see_all_clickable_row"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:contentDescription="@string/accessibility_bluetooth_device_settings_see_all"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/device_list"
                app:layout_constraintBottom_toTopOf="@+id/pair_new_device_text" />

            <ImageView
                android:id="@+id/ic_arrow"
                android:layout_marginStart="36dp"
@@ -141,6 +151,8 @@
                android:maxLines="1"
                android:ellipsize="end"
                android:gravity="center_vertical"
                android:importantForAccessibility="no"
                android:clickable="false"
                android:layout_marginStart="0dp"
                android:paddingStart="20dp"
                android:text="@string/see_all_bluetooth_devices"
@@ -158,6 +170,16 @@
                android:visibility="gone"
                app:constraint_referenced_ids="ic_add,pair_new_device_text" />

            <View
                android:id="@+id/pair_new_device_clickable_row"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:contentDescription="@string/accessibility_bluetooth_device_settings_pair_new_device"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/see_all_text"
                app:layout_constraintBottom_toTopOf="@+id/done_button" />

            <ImageView
                android:id="@+id/ic_add"
                android:layout_width="24dp"
@@ -180,6 +202,8 @@
                android:maxLines="1"
                android:ellipsize="end"
                android:gravity="center_vertical"
                android:importantForAccessibility="no"
                android:clickable="false"
                android:layout_marginStart="0dp"
                android:paddingStart="20dp"
                android:text="@string/pair_new_bluetooth_devices"
+8 −0
Original line number Diff line number Diff line
@@ -467,6 +467,10 @@

    <!-- Content description of the bluetooth device settings gear icon. [CHAR LIMIT=NONE] -->
    <string name="accessibility_bluetooth_device_settings_gear">Click to configure device detail</string>
    <!-- Content description of the bluetooth device settings see all. [CHAR LIMIT=NONE] -->
    <string name="accessibility_bluetooth_device_settings_see_all">Click to see all devices</string>
    <!-- Content description of the bluetooth device settings pair new device. [CHAR LIMIT=NONE] -->
    <string name="accessibility_bluetooth_device_settings_pair_new_device">Click to pair new device</string>

    <!-- Content description of the battery when battery state is unknown for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
    <string name="accessibility_battery_unknown">Battery percentage unknown.</string>
@@ -640,6 +644,10 @@
    <string name="quick_settings_bluetooth_device_connected">Connected</string>
    <!-- QuickSettings: Bluetooth dialog device saved default summary [CHAR LIMIT=NONE]-->
    <string name="quick_settings_bluetooth_device_saved">Saved</string>
    <!-- QuickSettings: Accessibility label to disconnect a device [CHAR LIMIT=NONE]-->
    <string name="accessibility_quick_settings_bluetooth_device_tap_to_disconnect">disconnect</string>
    <!-- QuickSettings: Accessibility label to activate a device [CHAR LIMIT=NONE]-->
    <string name="accessibility_quick_settings_bluetooth_device_tap_to_activate">activate</string>

    <!-- QuickSettings: Bluetooth secondary label for the battery level of a connected device [CHAR LIMIT=20]-->
    <string name="quick_settings_bluetooth_secondary_label_battery_level"><xliff:g id="battery_level_as_percentage">%s</xliff:g> battery</string>
+26 −7
Original line number Diff line number Diff line
@@ -20,9 +20,12 @@ import android.content.Context
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.View.AccessibilityDelegate
import android.view.View.GONE
import android.view.View.VISIBLE
import android.view.ViewGroup
import android.view.accessibility.AccessibilityNodeInfo
import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction
import android.widget.ImageView
import android.widget.Switch
import android.widget.TextView
@@ -80,8 +83,8 @@ constructor(
    private lateinit var doneButton: View
    private lateinit var seeAllViewGroup: View
    private lateinit var pairNewDeviceViewGroup: View
    private lateinit var seeAllText: View
    private lateinit var pairNewDeviceText: View
    private lateinit var seeAllRow: View
    private lateinit var pairNewDeviceRow: View
    private lateinit var deviceListView: RecyclerView

    override fun onCreate(savedInstanceState: Bundle?) {
@@ -98,8 +101,8 @@ constructor(
        doneButton = requireViewById(R.id.done_button)
        seeAllViewGroup = requireViewById(R.id.see_all_layout_group)
        pairNewDeviceViewGroup = requireViewById(R.id.pair_new_device_layout_group)
        seeAllText = requireViewById(R.id.see_all_text)
        pairNewDeviceText = requireViewById(R.id.pair_new_device_text)
        seeAllRow = requireViewById(R.id.see_all_clickable_row)
        pairNewDeviceRow = requireViewById(R.id.pair_new_device_clickable_row)
        deviceListView = requireViewById<RecyclerView>(R.id.device_list)

        setupToggle()
@@ -107,8 +110,8 @@ constructor(

        subtitleTextView.text = context.getString(subtitleResIdInitialValue)
        doneButton.setOnClickListener { dismiss() }
        seeAllText.setOnClickListener { bluetoothTileDialogCallback.onSeeAllClicked(it) }
        pairNewDeviceText.setOnClickListener {
        seeAllRow.setOnClickListener { bluetoothTileDialogCallback.onSeeAllClicked(it) }
        pairNewDeviceRow.setOnClickListener {
            bluetoothTileDialogCallback.onPairNewDeviceClicked(it)
        }
    }
@@ -194,7 +197,8 @@ constructor(
                        deviceItem1.iconWithDescription?.second ==
                            deviceItem2.iconWithDescription?.second &&
                        deviceItem1.background == deviceItem2.background &&
                        deviceItem1.isEnabled == deviceItem2.isEnabled
                        deviceItem1.isEnabled == deviceItem2.isEnabled &&
                        deviceItem1.actionAccessibilityLabel == deviceItem2.actionAccessibilityLabel
                }
            }

@@ -238,6 +242,21 @@ constructor(
                        mutableDeviceItemClick.tryEmit(item)
                        uiEventLogger.log(BluetoothTileDialogUiEvent.DEVICE_CLICKED)
                    }
                    accessibilityDelegate =
                        object : AccessibilityDelegate() {
                            override fun onInitializeAccessibilityNodeInfo(
                                host: View,
                                info: AccessibilityNodeInfo
                            ) {
                                super.onInitializeAccessibilityNodeInfo(host, info)
                                info.addAction(
                                    AccessibilityAction(
                                        AccessibilityAction.ACTION_CLICK.id,
                                        item.actionAccessibilityLabel
                                    )
                                )
                            }
                        }
                }
                nameView.text = item.deviceName
                summaryView.text = item.connectionSummary
+2 −1
Original line number Diff line number Diff line
@@ -49,5 +49,6 @@ data class DeviceItem(
    val connectionSummary: String = "",
    val iconWithDescription: Pair<Drawable, String>? = null,
    val background: Int? = null,
    var isEnabled: Boolean = true
    var isEnabled: Boolean = true,
    var actionAccessibilityLabel: String = "",
)
Loading