From 76383097111e6c8856a32a9411cc39f0cc5be687 Mon Sep 17 00:00:00 2001 From: Evan Chen Date: Tue, 15 Mar 2022 18:30:32 +0000 Subject: [PATCH] Introduce a progessBar for multiple devices And a progessBar for multiple devices dialog only. The progessBar will disapear after the first device is found. Test: atest CtsCompanionDeviceManagerCoreTestCases atest CtsCompanionDeviceManagerUiAutomationTestCases atest CtsOsTestCases:CompanionDeviceManagerTest Bug: 211722613 Change-Id: Id79820099837fae7dc273ce038f772910258fa07 --- .../res/layout/activity_confirmation.xml | 10 ++++++++ .../CompanionDeviceActivity.java | 25 ++++++++++++------- .../DeviceListAdapter.java | 9 +++---- 3 files changed, 29 insertions(+), 15 deletions(-) diff --git a/packages/CompanionDeviceManager/res/layout/activity_confirmation.xml b/packages/CompanionDeviceManager/res/layout/activity_confirmation.xml index 2eb8b5c1e2872..ecda733d8e3e8 100644 --- a/packages/CompanionDeviceManager/res/layout/activity_confirmation.xml +++ b/packages/CompanionDeviceManager/res/layout/activity_confirmation.xml @@ -84,6 +84,16 @@ android:layout_width="match_parent" android:layout_height="wrap_content" /> + + { + // Dismiss the progress bar once there's one device found for multiple devices. + if (deviceFilterPairs.size() == 1) { + mProgressIndicator.setVisibility(View.GONE); + } + + mDeviceAdapter.setDevices(deviceFilterPairs); + }); // "Remove" consent button: users would need to click on the list item. mButtonAllow.setVisibility(View.GONE); mButtonNotAllow.setVisibility(View.GONE); mButtonNotAllowMultipleDevices.setVisibility(View.VISIBLE); mMultipleDeviceList.setVisibility(View.VISIBLE); + mProgressIndicator.setVisibility(View.VISIBLE); } private void onListItemClick(int position) { diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java index 8babd3ade1eb5..328c67ebb216b 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java @@ -25,15 +25,13 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; -import androidx.lifecycle.Observer; import androidx.recyclerview.widget.RecyclerView; import java.util.List; /** * Adapter for the list of "found" devices. */ -class DeviceListAdapter extends RecyclerView.Adapter implements - Observer>> { +class DeviceListAdapter extends RecyclerView.Adapter { public int mSelectedPosition = RecyclerView.NO_POSITION; private final Context mContext; @@ -96,9 +94,8 @@ class DeviceListAdapter extends RecyclerView.Adapter> deviceFilterPairs) { - mDevices = deviceFilterPairs; + void setDevices(List> devices) { + mDevices = devices; notifyDataSetChanged(); }