Loading packages/SystemUI/aconfig/systemui.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -1986,6 +1986,16 @@ flag { } } flag { name: "expand_collapse_privacy_dialog" namespace: "systemui" description: "Add expand and collapse actions to accessibility, to allow announcement in TalkBack when state changes." bug: "380161221" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "show_locked_by_your_watch_keyguard_indicator" namespace: "systemui" Loading packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialogV2.kt +82 −31 Original line number Diff line number Diff line Loading @@ -39,6 +39,11 @@ import androidx.annotation.DrawableRes import androidx.annotation.WorkerThread import androidx.core.view.ViewCompat import androidx.core.view.accessibility.AccessibilityNodeInfoCompat import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_COLLAPSE import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_EXPAND import androidx.core.view.accessibility.AccessibilityViewCommand import com.android.systemui.Flags import com.android.systemui.animation.ViewHierarchyAnimator import com.android.systemui.res.R import com.android.systemui.statusbar.phone.SystemUIDialog Loading Loading @@ -282,9 +287,25 @@ class PrivacyDialogV2( val expandToggle = itemHeader.findViewById<ImageView>(R.id.privacy_dialog_item_header_expand_toggle)!! expandToggle.setImageResource(R.drawable.privacy_dialog_expand_toggle_down) expandToggle.visibility = View.VISIBLE val expandedLayout = itemCard.findViewById<View>(R.id.privacy_dialog_item_header_expanded_layout)!! expandedLayout.setOnClickListener { // Stop clicks from propagating } if (Flags.expandCollapsePrivacyDialog()) { updateExpansion(ACTION_COLLAPSE, itemCard, expandedLayout, expandToggle) itemCard.setOnClickListener { if (expandedLayout.visibility == View.VISIBLE) { updateExpansion(ACTION_COLLAPSE, it!!, expandedLayout, expandToggle) } else { updateExpansion(ACTION_EXPAND, it!!, expandedLayout, expandToggle) } } } else { expandToggle.setImageResource(R.drawable.privacy_dialog_expand_toggle_down) ViewCompat.replaceAccessibilityAction( itemCard, AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CLICK, Loading @@ -292,12 +313,6 @@ class PrivacyDialogV2( null, ) val expandedLayout = itemCard.findViewById<View>(R.id.privacy_dialog_item_header_expanded_layout)!! expandedLayout.setOnClickListener { // Stop clicks from propagating } itemCard.setOnClickListener { if (expandedLayout.visibility == View.VISIBLE) { expandedLayout.visibility = View.GONE Loading @@ -324,6 +339,42 @@ class PrivacyDialogV2( ) } } } private fun updateExpansion( newState: AccessibilityActionCompat, itemCard: View, expandedLayout: View, expandToggle: ImageView, ) { expandedLayout.visibility = if (newState == ACTION_COLLAPSE) View.GONE else View.VISIBLE expandToggle.setImageResource( if (newState == ACTION_COLLAPSE) R.drawable.privacy_dialog_expand_toggle_down else R.drawable.privacy_dialog_expand_toggle_up ) val accessibilityString = context.getString( if (newState == ACTION_COLLAPSE) R.string.privacy_dialog_expand_action else R.string.privacy_dialog_collapse_action ) ViewCompat.replaceAccessibilityAction( itemCard, AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CLICK, accessibilityString, null, ) val expandCollapseAccessibilityListener = AccessibilityViewCommand { view: View, _: AccessibilityViewCommand.CommandArguments? -> view.callOnClick() } ViewCompat.replaceAccessibilityAction( itemCard, if (newState == ACTION_COLLAPSE) ACTION_EXPAND else ACTION_COLLAPSE, accessibilityString, expandCollapseAccessibilityListener, ) ViewCompat.removeAccessibilityAction(itemCard, newState.id) } private fun updateIconView(iconView: ImageView, indicatorIcon: Drawable, active: Boolean) { indicatorIcon.setTint(getForegroundColor(active)) Loading Loading
packages/SystemUI/aconfig/systemui.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -1986,6 +1986,16 @@ flag { } } flag { name: "expand_collapse_privacy_dialog" namespace: "systemui" description: "Add expand and collapse actions to accessibility, to allow announcement in TalkBack when state changes." bug: "380161221" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "show_locked_by_your_watch_keyguard_indicator" namespace: "systemui" Loading
packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialogV2.kt +82 −31 Original line number Diff line number Diff line Loading @@ -39,6 +39,11 @@ import androidx.annotation.DrawableRes import androidx.annotation.WorkerThread import androidx.core.view.ViewCompat import androidx.core.view.accessibility.AccessibilityNodeInfoCompat import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_COLLAPSE import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_EXPAND import androidx.core.view.accessibility.AccessibilityViewCommand import com.android.systemui.Flags import com.android.systemui.animation.ViewHierarchyAnimator import com.android.systemui.res.R import com.android.systemui.statusbar.phone.SystemUIDialog Loading Loading @@ -282,9 +287,25 @@ class PrivacyDialogV2( val expandToggle = itemHeader.findViewById<ImageView>(R.id.privacy_dialog_item_header_expand_toggle)!! expandToggle.setImageResource(R.drawable.privacy_dialog_expand_toggle_down) expandToggle.visibility = View.VISIBLE val expandedLayout = itemCard.findViewById<View>(R.id.privacy_dialog_item_header_expanded_layout)!! expandedLayout.setOnClickListener { // Stop clicks from propagating } if (Flags.expandCollapsePrivacyDialog()) { updateExpansion(ACTION_COLLAPSE, itemCard, expandedLayout, expandToggle) itemCard.setOnClickListener { if (expandedLayout.visibility == View.VISIBLE) { updateExpansion(ACTION_COLLAPSE, it!!, expandedLayout, expandToggle) } else { updateExpansion(ACTION_EXPAND, it!!, expandedLayout, expandToggle) } } } else { expandToggle.setImageResource(R.drawable.privacy_dialog_expand_toggle_down) ViewCompat.replaceAccessibilityAction( itemCard, AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CLICK, Loading @@ -292,12 +313,6 @@ class PrivacyDialogV2( null, ) val expandedLayout = itemCard.findViewById<View>(R.id.privacy_dialog_item_header_expanded_layout)!! expandedLayout.setOnClickListener { // Stop clicks from propagating } itemCard.setOnClickListener { if (expandedLayout.visibility == View.VISIBLE) { expandedLayout.visibility = View.GONE Loading @@ -324,6 +339,42 @@ class PrivacyDialogV2( ) } } } private fun updateExpansion( newState: AccessibilityActionCompat, itemCard: View, expandedLayout: View, expandToggle: ImageView, ) { expandedLayout.visibility = if (newState == ACTION_COLLAPSE) View.GONE else View.VISIBLE expandToggle.setImageResource( if (newState == ACTION_COLLAPSE) R.drawable.privacy_dialog_expand_toggle_down else R.drawable.privacy_dialog_expand_toggle_up ) val accessibilityString = context.getString( if (newState == ACTION_COLLAPSE) R.string.privacy_dialog_expand_action else R.string.privacy_dialog_collapse_action ) ViewCompat.replaceAccessibilityAction( itemCard, AccessibilityNodeInfoCompat.AccessibilityActionCompat.ACTION_CLICK, accessibilityString, null, ) val expandCollapseAccessibilityListener = AccessibilityViewCommand { view: View, _: AccessibilityViewCommand.CommandArguments? -> view.callOnClick() } ViewCompat.replaceAccessibilityAction( itemCard, if (newState == ACTION_COLLAPSE) ACTION_EXPAND else ACTION_COLLAPSE, accessibilityString, expandCollapseAccessibilityListener, ) ViewCompat.removeAccessibilityAction(itemCard, newState.id) } private fun updateIconView(iconView: ImageView, indicatorIcon: Drawable, active: Boolean) { indicatorIcon.setTint(getForegroundColor(active)) Loading