summaryrefslogtreecommitdiff
path: root/packages/CompanionDeviceManager/src
diff options
context:
space:
mode:
author Raphael Kim <raphk@google.com> 2025-02-26 12:35:31 -0800
committer Raphael Kim <raphk@google.com> 2025-02-27 11:02:19 -0800
commita4cc6311b202aa49f827f171f5154142af35c596 (patch)
tree24e40ddd4bd3067557b6e42af9035ecb651798be /packages/CompanionDeviceManager/src
parent3035ebc07b6d609f2d206455a10b704559c4bda7 (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')
-rw-r--r--packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java5
-rw-r--r--packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java2
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 {