From 4a7690919c65a984d13688c9e8cfa474df1cc321 Mon Sep 17 00:00:00 2001 From: Alan Huang Date: Fri, 21 Oct 2022 01:01:48 +0000 Subject: [PATCH] Fix the bluetooth extra control slice not visible The bluetooth extra control slice requires a parameter for the page width, but sometimes the onGlobalLayout callback is after the the fragment refresh the preference available state. Thus, setting the extra control slice to invisible, because the uri is not been set yet. So, add the displayPreference call to update the visibility of the slicePreference. Bug: 251450477 Test: manual build and QA automation testing. Change-Id: If7e5f426fc8b1d6887a5977600eaeaf3ede553d1 --- .../settings/bluetooth/BluetoothDeviceDetailsFragment.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java index 999e34da6bf..fa15b5ca336 100644 --- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java +++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java @@ -153,8 +153,11 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment controlUri = null; } } - use(SlicePreferenceController.class).setSliceUri(sliceEnabled ? controlUri : null); - use(SlicePreferenceController.class).onStart(); + final SlicePreferenceController slicePreferenceController = use( + SlicePreferenceController.class); + slicePreferenceController.setSliceUri(sliceEnabled ? controlUri : null); + slicePreferenceController.onStart(); + slicePreferenceController.displayPreference(getPreferenceScreen()); } private final ViewTreeObserver.OnGlobalLayoutListener mOnGlobalLayoutListener =