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

Commit 3b84e773 authored by Michael Mikhail's avatar Michael Mikhail
Browse files

Allow announcement of content description changes.

Allows to announce new content descriptions change after one second.

Flag: NONE
Fixes: 316819563
Fixes: 316833908
Test: Ran adb commands and checked talkback announcements.
Change-Id: I8fef7467884a93ce5a986bd0c20bb8e06b8d0fdd
parent 6d478dbc
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.view.View.ACCESSIBILITY_LIVE_REGION_NONE
import android.view.ViewGroup
import android.view.WindowManager
import android.view.accessibility.AccessibilityManager
import android.view.accessibility.AccessibilityNodeInfo
import android.widget.ImageView
import android.widget.TextView
import androidx.annotation.DimenRes
@@ -57,6 +58,7 @@ import com.android.systemui.util.concurrency.DelayableExecutor
import com.android.systemui.util.time.SystemClock
import com.android.systemui.util.view.ViewUtil
import com.android.systemui.util.wakelock.WakeLock
import java.time.Duration
import javax.inject.Inject

/**
@@ -228,6 +230,18 @@ constructor(
        chipInnerView.contentDescription =
            "$loadedIconDesc${newInfo.text.loadText(context)}$endItemDesc"
        chipInnerView.accessibilityLiveRegion = ACCESSIBILITY_LIVE_REGION_ASSERTIVE
        // Set minimum duration between content changes to 1 second in order to announce quick
        // state changes.
        chipInnerView.accessibilityDelegate =
            object : View.AccessibilityDelegate() {
                override fun onInitializeAccessibilityNodeInfo(
                    host: View,
                    info: AccessibilityNodeInfo
                ) {
                    super.onInitializeAccessibilityNodeInfo(host, info)
                    info.minDurationBetweenContentChanges = Duration.ofMillis(1000)
                }
            }
        maybeGetAccessibilityFocus(newInfo, currentView)

        // ---- Haptics ----