Make system dialogs' a11y events like Activity's
The window_state_changed events are populated by Activity with the Activity title. Replicating that behavior for volume and power dialogs. Bug: 78775496 Test: Used a test a11y service to observe events, and started TalkBack, which was less consistent about announcing them. Change-Id: Icd4cd8317544c127e44e403162512e2385ff4176
This commit is contained in:
@@ -1380,6 +1380,15 @@ class GlobalActionsDialog implements DialogInterface.OnDismissListener,
|
||||
mHardwareLayout = HardwareUiLayout.get(mListView);
|
||||
mHardwareLayout.setOutsideTouchListener(view -> dismiss());
|
||||
setTitle(R.string.global_actions);
|
||||
mListView.setAccessibilityDelegate(new View.AccessibilityDelegate() {
|
||||
@Override
|
||||
public boolean dispatchPopulateAccessibilityEvent(
|
||||
View host, AccessibilityEvent event) {
|
||||
// Populate the title here, just as Activity does
|
||||
event.getText().add(mContext.getString(R.string.global_actions));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void updateList() {
|
||||
|
||||
@@ -724,8 +724,11 @@ public class VolumeDialogImpl implements VolumeDialog {
|
||||
updateVolumeRowH(row);
|
||||
}
|
||||
updateRingerH();
|
||||
mWindow.setTitle(mContext.getString(R.string.volume_dialog_title,
|
||||
getStreamLabelH(getActiveRow().ss)));
|
||||
mWindow.setTitle(composeWindowTitle());
|
||||
}
|
||||
|
||||
CharSequence composeWindowTitle() {
|
||||
return mContext.getString(R.string.volume_dialog_title, getStreamLabelH(getActiveRow().ss));
|
||||
}
|
||||
|
||||
private void updateVolumeRowH(VolumeRow row) {
|
||||
@@ -1195,6 +1198,13 @@ public class VolumeDialogImpl implements VolumeDialog {
|
||||
mAccessibilityMgr.removeCallback(mListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean dispatchPopulateAccessibilityEvent(View host, AccessibilityEvent event) {
|
||||
// Activities populate their title here. Follow that example.
|
||||
event.getText().add(composeWindowTitle());
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onRequestSendAccessibilityEvent(ViewGroup host, View child,
|
||||
AccessibilityEvent event) {
|
||||
|
||||
Reference in New Issue
Block a user