Loading quickstep/res/layout/taskbar_edu_tooltip.xml +2 −0 Original line number Diff line number Diff line Loading @@ -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"> Loading quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltipController.kt +40 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -153,6 +156,7 @@ class TaskbarEduTooltipController(val activityContext: TaskbarActivityContext) : FLAG_AUTOHIDE_SUSPEND_EDU_OPEN, true ) tooltip.onCloseCallback = { this.tooltip = null controllers.taskbarAutohideSuspendController.updateFlag( Loading @@ -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") Loading res/values/id.xml +2 −0 Original line number Diff line number Diff line Loading @@ -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" /> Loading @@ -41,4 +42,5 @@ <item type="id" name="saved_floating_widget_foreground" /> <item type="id" name="saved_floating_widget_background" /> </resources> Loading
quickstep/res/layout/taskbar_edu_tooltip.xml +2 −0 Original line number Diff line number Diff line Loading @@ -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"> Loading
quickstep/src/com/android/launcher3/taskbar/TaskbarEduTooltipController.kt +40 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -153,6 +156,7 @@ class TaskbarEduTooltipController(val activityContext: TaskbarActivityContext) : FLAG_AUTOHIDE_SUSPEND_EDU_OPEN, true ) tooltip.onCloseCallback = { this.tooltip = null controllers.taskbarAutohideSuspendController.updateFlag( Loading @@ -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") Loading
res/values/id.xml +2 −0 Original line number Diff line number Diff line Loading @@ -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" /> Loading @@ -41,4 +42,5 @@ <item type="id" name="saved_floating_widget_foreground" /> <item type="id" name="saved_floating_widget_background" /> </resources>