Loading libs/WindowManager/Shell/res/values/strings.xml +6 −6 Original line number Diff line number Diff line Loading @@ -290,7 +290,7 @@ <!-- Accessibility text for the handle fullscreen button [CHAR LIMIT=NONE] --> <string name="fullscreen_text">Fullscreen</string> <!-- Accessibility text for the handle desktop button [CHAR LIMIT=NONE] --> <string name="desktop_text">Desktop Mode</string> <string name="desktop_text">Desktop View</string> <!-- Accessibility text for the handle split screen button [CHAR LIMIT=NONE] --> <string name="split_screen_text">Split Screen</string> <!-- Accessibility text for the handle more options button [CHAR LIMIT=NONE] --> Loading @@ -316,7 +316,7 @@ <!-- Accessibility text for the handle menu close menu button [CHAR LIMIT=NONE] --> <string name="collapse_menu_text">Close Menu</string> <!-- Accessibility text for the App Header's App Chip [CHAR LIMIT=NONE] --> <string name="desktop_mode_app_header_chip_text">Open Menu</string> <string name="desktop_mode_app_header_chip_text"><xliff:g id="app_name" example="Chrome">%1$s</xliff:g> (Desktop View)</string> <!-- Maximize menu maximize button string. --> <string name="desktop_mode_maximize_menu_maximize_text">Maximize Screen</string> <!-- Maximize menu snap buttons string. --> Loading @@ -342,10 +342,10 @@ <!-- Accessibility text for the Maximize Menu's snap maximize/restore [CHAR LIMIT=NONE] --> <string name="desktop_mode_a11y_action_maximize_restore">Maximize or restore window size</string> <!-- Accessibility action replacement for caption handle menu split screen button [CHAR LIMIT=NONE] --> <string name="app_handle_menu_talkback_split_screen_mode_button_text">Enter split screen mode</string> <!-- Accessibility action replacement for caption handle menu enter desktop mode button [CHAR LIMIT=NONE] --> <string name="app_handle_menu_talkback_desktop_mode_button_text">Enter desktop windowing mode</string> <!-- Accessibility action replacement for caption handle app chip buttons [CHAR LIMIT=NONE] --> <string name="app_handle_chip_accessibility_announce">Open Menu</string> <!-- Accessibility action replacement for caption handle menu buttons [CHAR LIMIT=NONE] --> <string name="app_handle_menu_accessibility_announce">Enter <xliff:g id="windowing_mode" example="Desktop View">%1$s</xliff:g></string> <!-- Accessibility action replacement for maximize menu enter snap left button [CHAR LIMIT=NONE] --> <string name="maximize_menu_talkback_action_snap_left_text">Resize window to left</string> <!-- Accessibility action replacement for maximize menu enter snap right button [CHAR LIMIT=NONE] --> Loading libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.kt +23 −7 Original line number Diff line number Diff line Loading @@ -35,10 +35,8 @@ import android.view.SurfaceControl import android.view.View import android.view.WindowInsets.Type.systemBars import android.view.WindowManager import android.widget.Button import android.widget.ImageButton import android.widget.ImageView import android.widget.TextView import android.window.DesktopModeFlags import android.window.SurfaceSyncGroup import androidx.annotation.StringRes Loading Loading @@ -540,17 +538,35 @@ class HandleMenu( return@setOnTouchListener true } with(context.resources) { // Update a11y read out to say "double tap to enter desktop windowing mode" with(context) { // Update a11y announcement out to say "double tap to enter Fullscreen" ViewCompat.replaceAccessibilityAction( fullscreenBtn, ACTION_CLICK, getString( R.string.app_handle_menu_accessibility_announce, getString(R.string.fullscreen_text) ), null, ) // Update a11y announcement out to say "double tap to enter Desktop View" ViewCompat.replaceAccessibilityAction( desktopBtn, ACTION_CLICK, getString(R.string.app_handle_menu_talkback_desktop_mode_button_text), null getString( R.string.app_handle_menu_accessibility_announce, getString(R.string.desktop_text) ), null, ) // Update a11y read out to say "double tap to enter split screen mode" // Update a11y announcement to say "double tap to enter Split Screen" ViewCompat.replaceAccessibilityAction( splitscreenBtn, ACTION_CLICK, getString(R.string.app_handle_menu_talkback_split_screen_mode_button_text), null getString( R.string.app_handle_menu_accessibility_announce, getString(R.string.split_screen_text) ), null, ) } } Loading libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHeaderViewHolder.kt +23 −31 Original line number Diff line number Diff line Loading @@ -93,9 +93,6 @@ class AppHeaderViewHolder( private val lightColors = dynamicLightColorScheme(context) private val darkColors = dynamicDarkColorScheme(context) private val headerButtonOpenMenuA11yText = context.resources .getString(R.string.desktop_mode_app_header_chip_text) /** * The corner radius to apply to the app chip, maximize and close button's background drawable. **/ Loading Loading @@ -231,36 +228,30 @@ class AppHeaderViewHolder( } } val a11yActionOpenHeaderMenu = AccessibilityAction(AccessibilityNodeInfo.ACTION_CLICK, headerButtonOpenMenuA11yText) openMenuButton.accessibilityDelegate = object : View.AccessibilityDelegate() { override fun onInitializeAccessibilityNodeInfo( host: View, info: AccessibilityNodeInfo ) { super.onInitializeAccessibilityNodeInfo(host, info) info.addAction(a11yActionOpenHeaderMenu) } } // Update a11y announcement to say "double tap to open menu" ViewCompat.replaceAccessibilityAction( openMenuButton, AccessibilityActionCompat.ACTION_CLICK, context.getString(R.string.app_handle_chip_accessibility_announce), null ) with(context.resources) { // Update a11y read out to say "double tap to maximize or restore window size" // Update a11y announcement to say "double tap to maximize or restore window size" ViewCompat.replaceAccessibilityAction( maximizeWindowButton, AccessibilityActionCompat.ACTION_CLICK, getString(R.string.maximize_button_talkback_action_maximize_restore_text), context.getString(R.string.maximize_button_talkback_action_maximize_restore_text), null ) // Update a11y read out to say "double tap to minimize app window" // Update a11y announcement out to say "double tap to minimize app window" ViewCompat.replaceAccessibilityAction( minimizeWindowButton, AccessibilityActionCompat.ACTION_CLICK, getString(R.string.minimize_button_talkback_action_maximize_restore_text), context.getString(R.string.minimize_button_talkback_action_maximize_restore_text), null ) } } override fun bindData(data: HeaderData) { bindData( Loading @@ -275,7 +266,8 @@ class AppHeaderViewHolder( /** Sets the app's name in the header. */ fun setAppName(name: CharSequence) { appNameTextView.text = name openMenuButton.contentDescription = name openMenuButton.contentDescription = context.getString(R.string.desktop_mode_app_header_chip_text, name) } /** Sets the app's icon in the header. */ Loading Loading
libs/WindowManager/Shell/res/values/strings.xml +6 −6 Original line number Diff line number Diff line Loading @@ -290,7 +290,7 @@ <!-- Accessibility text for the handle fullscreen button [CHAR LIMIT=NONE] --> <string name="fullscreen_text">Fullscreen</string> <!-- Accessibility text for the handle desktop button [CHAR LIMIT=NONE] --> <string name="desktop_text">Desktop Mode</string> <string name="desktop_text">Desktop View</string> <!-- Accessibility text for the handle split screen button [CHAR LIMIT=NONE] --> <string name="split_screen_text">Split Screen</string> <!-- Accessibility text for the handle more options button [CHAR LIMIT=NONE] --> Loading @@ -316,7 +316,7 @@ <!-- Accessibility text for the handle menu close menu button [CHAR LIMIT=NONE] --> <string name="collapse_menu_text">Close Menu</string> <!-- Accessibility text for the App Header's App Chip [CHAR LIMIT=NONE] --> <string name="desktop_mode_app_header_chip_text">Open Menu</string> <string name="desktop_mode_app_header_chip_text"><xliff:g id="app_name" example="Chrome">%1$s</xliff:g> (Desktop View)</string> <!-- Maximize menu maximize button string. --> <string name="desktop_mode_maximize_menu_maximize_text">Maximize Screen</string> <!-- Maximize menu snap buttons string. --> Loading @@ -342,10 +342,10 @@ <!-- Accessibility text for the Maximize Menu's snap maximize/restore [CHAR LIMIT=NONE] --> <string name="desktop_mode_a11y_action_maximize_restore">Maximize or restore window size</string> <!-- Accessibility action replacement for caption handle menu split screen button [CHAR LIMIT=NONE] --> <string name="app_handle_menu_talkback_split_screen_mode_button_text">Enter split screen mode</string> <!-- Accessibility action replacement for caption handle menu enter desktop mode button [CHAR LIMIT=NONE] --> <string name="app_handle_menu_talkback_desktop_mode_button_text">Enter desktop windowing mode</string> <!-- Accessibility action replacement for caption handle app chip buttons [CHAR LIMIT=NONE] --> <string name="app_handle_chip_accessibility_announce">Open Menu</string> <!-- Accessibility action replacement for caption handle menu buttons [CHAR LIMIT=NONE] --> <string name="app_handle_menu_accessibility_announce">Enter <xliff:g id="windowing_mode" example="Desktop View">%1$s</xliff:g></string> <!-- Accessibility action replacement for maximize menu enter snap left button [CHAR LIMIT=NONE] --> <string name="maximize_menu_talkback_action_snap_left_text">Resize window to left</string> <!-- Accessibility action replacement for maximize menu enter snap right button [CHAR LIMIT=NONE] --> Loading
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/HandleMenu.kt +23 −7 Original line number Diff line number Diff line Loading @@ -35,10 +35,8 @@ import android.view.SurfaceControl import android.view.View import android.view.WindowInsets.Type.systemBars import android.view.WindowManager import android.widget.Button import android.widget.ImageButton import android.widget.ImageView import android.widget.TextView import android.window.DesktopModeFlags import android.window.SurfaceSyncGroup import androidx.annotation.StringRes Loading Loading @@ -540,17 +538,35 @@ class HandleMenu( return@setOnTouchListener true } with(context.resources) { // Update a11y read out to say "double tap to enter desktop windowing mode" with(context) { // Update a11y announcement out to say "double tap to enter Fullscreen" ViewCompat.replaceAccessibilityAction( fullscreenBtn, ACTION_CLICK, getString( R.string.app_handle_menu_accessibility_announce, getString(R.string.fullscreen_text) ), null, ) // Update a11y announcement out to say "double tap to enter Desktop View" ViewCompat.replaceAccessibilityAction( desktopBtn, ACTION_CLICK, getString(R.string.app_handle_menu_talkback_desktop_mode_button_text), null getString( R.string.app_handle_menu_accessibility_announce, getString(R.string.desktop_text) ), null, ) // Update a11y read out to say "double tap to enter split screen mode" // Update a11y announcement to say "double tap to enter Split Screen" ViewCompat.replaceAccessibilityAction( splitscreenBtn, ACTION_CLICK, getString(R.string.app_handle_menu_talkback_split_screen_mode_button_text), null getString( R.string.app_handle_menu_accessibility_announce, getString(R.string.split_screen_text) ), null, ) } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/windowdecor/viewholder/AppHeaderViewHolder.kt +23 −31 Original line number Diff line number Diff line Loading @@ -93,9 +93,6 @@ class AppHeaderViewHolder( private val lightColors = dynamicLightColorScheme(context) private val darkColors = dynamicDarkColorScheme(context) private val headerButtonOpenMenuA11yText = context.resources .getString(R.string.desktop_mode_app_header_chip_text) /** * The corner radius to apply to the app chip, maximize and close button's background drawable. **/ Loading Loading @@ -231,36 +228,30 @@ class AppHeaderViewHolder( } } val a11yActionOpenHeaderMenu = AccessibilityAction(AccessibilityNodeInfo.ACTION_CLICK, headerButtonOpenMenuA11yText) openMenuButton.accessibilityDelegate = object : View.AccessibilityDelegate() { override fun onInitializeAccessibilityNodeInfo( host: View, info: AccessibilityNodeInfo ) { super.onInitializeAccessibilityNodeInfo(host, info) info.addAction(a11yActionOpenHeaderMenu) } } // Update a11y announcement to say "double tap to open menu" ViewCompat.replaceAccessibilityAction( openMenuButton, AccessibilityActionCompat.ACTION_CLICK, context.getString(R.string.app_handle_chip_accessibility_announce), null ) with(context.resources) { // Update a11y read out to say "double tap to maximize or restore window size" // Update a11y announcement to say "double tap to maximize or restore window size" ViewCompat.replaceAccessibilityAction( maximizeWindowButton, AccessibilityActionCompat.ACTION_CLICK, getString(R.string.maximize_button_talkback_action_maximize_restore_text), context.getString(R.string.maximize_button_talkback_action_maximize_restore_text), null ) // Update a11y read out to say "double tap to minimize app window" // Update a11y announcement out to say "double tap to minimize app window" ViewCompat.replaceAccessibilityAction( minimizeWindowButton, AccessibilityActionCompat.ACTION_CLICK, getString(R.string.minimize_button_talkback_action_maximize_restore_text), context.getString(R.string.minimize_button_talkback_action_maximize_restore_text), null ) } } override fun bindData(data: HeaderData) { bindData( Loading @@ -275,7 +266,8 @@ class AppHeaderViewHolder( /** Sets the app's name in the header. */ fun setAppName(name: CharSequence) { appNameTextView.text = name openMenuButton.contentDescription = name openMenuButton.contentDescription = context.getString(R.string.desktop_mode_app_header_chip_text, name) } /** Sets the app's icon in the header. */ Loading