diff options
author | 2025-02-26 12:35:31 -0800 | |
---|---|---|
committer | 2025-02-27 11:02:19 -0800 | |
commit | a4cc6311b202aa49f827f171f5154142af35c596 (patch) | |
tree | 24e40ddd4bd3067557b6e42af9035ecb651798be /packages/CompanionDeviceManager/src | |
parent | 3035ebc07b6d609f2d206455a10b704559c4bda7 (diff) |
[CDM][A11y] Fix talkback behavior for CDM device discovery dialog.
* As new devices were found, the entire list was updated, which caused Talkback to get repeatedly interrupted while announcing device names. Only updating the newly added devices fixes this issue.
* Adding accessibility live region to timeout messages allows status message to be automatically announced upon status update.
Bug: 396047983
Bug: 396314903
Test: Manually tested
Flag: EXEMPT bug fix
Change-Id: I32f6e6d75813db8593ed3f079e4a827746f9d9eb
Diffstat (limited to 'packages/CompanionDeviceManager/src')
2 files changed, 5 insertions, 2 deletions
diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java index dd77c6153726..b2c1e604db7e 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java @@ -339,7 +339,7 @@ public class CompanionAssociationActivity extends FragmentActivity implements private void onDiscoveryStateChanged(DiscoveryState newState) { switch (newState) { case IN_PROGRESS: { - mTimeoutMessage.setText(null); + mTimeoutMessage.setVisibility(View.GONE); mProgressBar.setIndeterminate(true); break; } @@ -351,6 +351,7 @@ public class CompanionAssociationActivity extends FragmentActivity implements R.string.message_discovery_soft_timeout, deviceType, discoveryType, profile); mTimeoutMessage.setText(message); + mTimeoutMessage.setVisibility(View.VISIBLE); break; } case FINISHED_STOPPED: { @@ -363,6 +364,7 @@ public class CompanionAssociationActivity extends FragmentActivity implements } } mTimeoutMessage.setText(getString(R.string.message_discovery_hard_timeout)); + mTimeoutMessage.setVisibility(View.VISIBLE); } mProgressBar.setIndeterminate(false); break; @@ -528,6 +530,7 @@ public class CompanionAssociationActivity extends FragmentActivity implements mVendorHeader.setVisibility(View.VISIBLE); mProfileIcon.setVisibility(View.GONE); mDeviceListRecyclerView.setVisibility(View.GONE); + mTimeoutMessage.setVisibility(View.GONE); mProgressBar.setVisibility(View.GONE); mBorderBottom.setVisibility(View.GONE); } diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java index d8348d1c9218..8f12cb4f99e6 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java @@ -101,7 +101,7 @@ class DeviceListAdapter extends RecyclerView.Adapter<DeviceListAdapter.ViewHolde void setDevices(List<DeviceFilterPair<?>> devices) { mDevices = devices; - notifyDataSetChanged(); + notifyItemRangeInserted(devices.size(), mDevices.size()); } static class ViewHolder extends RecyclerView.ViewHolder { |