From 48e41ffb2e55127b78ac31e573ea955eb0700f64 Mon Sep 17 00:00:00 2001 From: Evan Chen Date: Wed, 5 Mar 2025 19:13:50 +0000 Subject: Fix UI flicker issue when selecting the device Test: cts Fix: 393509673 Flag: EXEMPT test fix Change-Id: Ic950806bcc48e85ee0bb4b33e27b4c648f3d11d9 --- .../companiondevicemanager/CompanionAssociationActivity.java | 7 +++++-- 1 file 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 b2c1e604db7e..964268e4ad14 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionAssociationActivity.java @@ -65,6 +65,7 @@ import android.graphics.drawable.Icon; import android.net.MacAddress; import android.os.Bundle; import android.os.Handler; +import android.os.Looper; import android.os.RemoteException; import android.os.ResultReceiver; import android.text.Spanned; @@ -621,8 +622,10 @@ public class CompanionAssociationActivity extends FragmentActivity implements Slog.w(TAG, "Already selected."); return; } - // Notify the adapter to highlight the selected item. - mDeviceAdapter.setSelectedPosition(position); + // Delay highlighting the selected item by posting to the main thread. + // This helps avoid flicker in the user consent dialog after device selection. + new Handler( + Looper.getMainLooper()).post(() -> mDeviceAdapter.setSelectedPosition(position)); mSelectedDevice = requireNonNull(selectedDevice); -- cgit v1.2.3-59-g8ed1b