Merge "Make clear announcment for taskbar education." into tm-qpr-dev

This commit is contained in:
Jagrut Desai
2023-03-23 23:52:24 +00:00
committed by Android (Google) Code Review
3 changed files with 44 additions and 0 deletions

View File

@@ -21,6 +21,8 @@
android:clipChildren="false"
android:clipToPadding="false"
android:fitsSystemWindows="true"
android:focusable="true"
android:importantForAccessibility="yes"
android:gravity="center"
android:orientation="vertical">

View File

@@ -17,10 +17,13 @@ package com.android.launcher3.taskbar
import android.graphics.PorterDuff.Mode.SRC_ATOP
import android.graphics.PorterDuffColorFilter
import android.os.Bundle
import android.view.View
import android.view.View.GONE
import android.view.View.VISIBLE
import android.view.ViewGroup
import android.view.accessibility.AccessibilityEvent
import android.view.accessibility.AccessibilityNodeInfo
import androidx.annotation.IntDef
import androidx.annotation.LayoutRes
import com.airbnb.lottie.LottieAnimationView
@@ -153,6 +156,7 @@ class TaskbarEduTooltipController(val activityContext: TaskbarActivityContext) :
FLAG_AUTOHIDE_SUSPEND_EDU_OPEN,
true
)
tooltip.onCloseCallback = {
this.tooltip = null
controllers.taskbarAutohideSuspendController.updateFlag(
@@ -161,11 +165,47 @@ class TaskbarEduTooltipController(val activityContext: TaskbarActivityContext) :
)
controllers.taskbarStashController.updateAndAnimateTransientTaskbar(true)
}
tooltip.accessibilityDelegate = createAccessibilityDelegate()
overlayContext.layoutInflater.inflate(contentResId, tooltip.content, true)
this.tooltip = tooltip
}
private fun createAccessibilityDelegate() =
object : View.AccessibilityDelegate() {
override fun performAccessibilityAction(
host: View?,
action: Int,
args: Bundle?
): Boolean {
if (action == R.id.close) {
hide()
return true
}
return super.performAccessibilityAction(host, action, args)
}
override fun onPopulateAccessibilityEvent(host: View?, event: AccessibilityEvent?) {
super.onPopulateAccessibilityEvent(host, event)
if (event?.eventType == AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) {
event.text?.add(host?.context?.getText(R.string.taskbar_edu_a11y_title))
}
}
override fun onInitializeAccessibilityNodeInfo(
host: View?,
info: AccessibilityNodeInfo?
) {
super.onInitializeAccessibilityNodeInfo(host, info)
info?.addAction(
AccessibilityNodeInfo.AccessibilityAction(
R.id.close,
host?.context?.getText(R.string.taskbar_edu_close)
)
)
}
}
override fun dumpLogs(prefix: String?, pw: PrintWriter?) {
pw?.println(prefix + "TaskbarEduTooltipController:")
pw?.println("$prefix\tisTooltipEnabled=$isTooltipEnabled")

View File

@@ -28,6 +28,7 @@
<item type="id" name="home" />
<item type="id" name="recent_apps" />
<item type="id" name="back" />
<item type="id" name="close"/>
<item type="id" name="ime_switcher" />
<item type="id" name="accessibility_button" />
<item type="id" name="rotate_suggestion" />
@@ -41,4 +42,5 @@
<item type="id" name="saved_floating_widget_foreground" />
<item type="id" name="saved_floating_widget_background" />
</resources>