diff --git a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
index d8e834dfbf8..ab0ed45d5e9 100644
--- a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
@@ -331,7 +331,9 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
MAIN_DEVICE_ID);
}
});
- if (Flags.enableBluetoothDeviceDetailsPolish()) {
+ boolean isTempBond = com.android.settingslib.flags.Flags.enableTemporaryBondDevicesUi()
+ && BluetoothUtils.isTemporaryBondDevice(mCachedDevice.getDevice());
+ if (Flags.enableBluetoothDeviceDetailsPolish() && !isTempBond) {
ImageButton renameButton = mLayoutPreference.findViewById(R.id.rename_button);
renameButton.setVisibility(View.VISIBLE);
renameButton.setOnClickListener(view -> {
diff --git a/src/com/android/settings/bluetooth/GeneralBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/GeneralBluetoothDetailsHeaderController.java
index 57a10278190..2ef8fc07721 100644
--- a/src/com/android/settings/bluetooth/GeneralBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/GeneralBluetoothDetailsHeaderController.java
@@ -89,15 +89,19 @@ public class GeneralBluetoothDetailsHeaderController extends BluetoothDetailsCon
if (summary != null) {
summary.setText(mCachedDevice.getConnectionSummary());
}
- ImageButton renameButton = mLayoutPreference.findViewById(R.id.rename_button);
- renameButton.setVisibility(View.VISIBLE);
- renameButton.setOnClickListener(
- view -> {
- RemoteDeviceNameDialogFragment.newInstance(mCachedDevice)
- .show(
- mFragment.getFragmentManager(),
- RemoteDeviceNameDialogFragment.TAG);
- });
+ boolean isTempBond = com.android.settingslib.flags.Flags.enableTemporaryBondDevicesUi()
+ && BluetoothUtils.isTemporaryBondDevice(mCachedDevice.getDevice());
+ if (!isTempBond) {
+ ImageButton renameButton = mLayoutPreference.findViewById(R.id.rename_button);
+ renameButton.setVisibility(View.VISIBLE);
+ renameButton.setOnClickListener(
+ view -> {
+ RemoteDeviceNameDialogFragment.newInstance(mCachedDevice)
+ .show(
+ mFragment.getFragmentManager(),
+ RemoteDeviceNameDialogFragment.TAG);
+ });
+ }
}
@Override
diff --git a/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java
index 4c7c98eb48f..df24452d3ac 100644
--- a/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java
@@ -168,7 +168,9 @@ public class LeAudioBluetoothDetailsHeaderController extends BasePreferenceContr
if (mLayoutPreference == null || mCachedDevice == null) {
return;
}
- if (Flags.enableBluetoothDeviceDetailsPolish()) {
+ boolean isTempBond = com.android.settingslib.flags.Flags.enableTemporaryBondDevicesUi()
+ && BluetoothUtils.isTemporaryBondDevice(mCachedDevice.getDevice());
+ if (Flags.enableBluetoothDeviceDetailsPolish() && !isTempBond) {
ImageButton renameButton = mLayoutPreference.findViewById(R.id.rename_button);
renameButton.setVisibility(View.VISIBLE);
renameButton.setOnClickListener(view -> {
diff --git a/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
index fc1df5a0f69..53a8f5d2cdd 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
@@ -79,9 +79,12 @@ public class AdvancedBluetoothDetailsHeaderControllerTest {
private static final int LOW_BATTERY_LEVEL_THRESHOLD = 15;
private static final int BATTERY_LEVEL_5 = 5;
private static final int BATTERY_LEVEL_50 = 50;
+ private static final int METADATA_FAST_PAIR_CUSTOMIZED_FIELDS = 25;
private static final String ICON_URI = "content://test.provider/icon.png";
private static final String MAC_ADDRESS = "04:52:C7:0B:D8:3C";
private static final String DEVICE_SUMMARY = "test summary";
+ private static final String TEMP_BOND_METADATA =
+ "le_audio_sharing";
private Context mContext;
@@ -531,6 +534,23 @@ public class AdvancedBluetoothDetailsHeaderControllerTest {
assertThat(button.getVisibility()).isEqualTo(View.VISIBLE);
}
+ @Test
+ @EnableFlags({Flags.FLAG_ENABLE_BLUETOOTH_DEVICE_DETAILS_POLISH,
+ com.android.settingslib.flags.Flags.FLAG_ENABLE_TEMPORARY_BOND_DEVICES_UI})
+ public void temporaryBondDevice_renameButtonNotShown() {
+ when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET))
+ .thenReturn("true".getBytes());
+ when(mBluetoothDevice.getMetadata(METADATA_FAST_PAIR_CUSTOMIZED_FIELDS))
+ .thenReturn(TEMP_BOND_METADATA.getBytes());
+ Set cacheBluetoothDevices = new HashSet<>();
+ when(mCachedDevice.getMemberDevice()).thenReturn(cacheBluetoothDevices);
+
+ mController.onStart();
+
+ ImageButton button = mLayoutPreference.findViewById(R.id.rename_button);
+ assertThat(button.getVisibility()).isEqualTo(View.GONE);
+ }
+
private void assertBatteryPredictionVisible(LinearLayout linearLayout, int visible) {
final TextView textView = linearLayout.findViewById(R.id.bt_battery_prediction);
assertThat(textView.getVisibility()).isEqualTo(visible);