From 026d698a91c5ac19bf14d103a8adf82d2de201b2 Mon Sep 17 00:00:00 2001 From: Haijie Hong Date: Fri, 21 Mar 2025 16:14:50 +0800 Subject: [PATCH] Don't show footer for headset when bonding loss Test: local tested Flag: EXEMPT minor fix Bug: 380801155 Change-Id: I5bb1bbcb08723a5ac5c8b82d2428df7a7f3e275d --- .../BluetoothDeviceDetailsFragment.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java index 66c39d63108..2ba5fd8850e 100644 --- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java +++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java @@ -60,6 +60,8 @@ import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.google.common.collect.ImmutableList; + import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; @@ -417,13 +419,17 @@ public class BluetoothDeviceDetailsFragment extends BluetoothDetailsConfigurable @Nullable private List generateDisplayedPreferenceKeys(boolean bondingLoss) { if (bondingLoss) { - return List.of( - use(BluetoothDetailsBannerController.class).getPreferenceKey(), - use(AdvancedBluetoothDetailsHeaderController.class).getPreferenceKey(), - use(BluetoothDetailsHeaderController.class).getPreferenceKey(), - use(LeAudioBluetoothDetailsHeaderController.class).getPreferenceKey(), - use(BluetoothDetailsButtonsController.class).getPreferenceKey(), - use(BluetoothDetailsMacAddressController.class).getPreferenceKey()); + ImmutableList.Builder visibleKeys = new ImmutableList.Builder<>(); + visibleKeys + .add(use(BluetoothDetailsBannerController.class).getPreferenceKey()) + .add(use(AdvancedBluetoothDetailsHeaderController.class).getPreferenceKey()) + .add(use(BluetoothDetailsHeaderController.class).getPreferenceKey()) + .add(use(LeAudioBluetoothDetailsHeaderController.class).getPreferenceKey()) + .add(use(BluetoothDetailsButtonsController.class).getPreferenceKey()); + if (!BluetoothUtils.isHeadset(mCachedDevice.getDevice())) { + visibleKeys.add(use(BluetoothDetailsMacAddressController.class).getPreferenceKey()); + } + return visibleKeys.build(); } return null; }