Merge "Import translations. DO NOT MERGE ANYWHERE" into sc-dev
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java
index f2a94ba..107df5f 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java
@@ -26,8 +26,10 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.graphics.drawable.Drawable;
+import android.net.Uri;
 import android.os.RemoteException;
 import android.os.ServiceManager;
+import android.provider.DeviceConfig;
 import android.text.TextUtils;
 import android.util.Log;
 
@@ -39,6 +41,8 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.core.SettingsUIDeviceConfig;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -179,6 +183,18 @@
      */
     public void updatePreferences(Context context,
             String address, PreferenceCategory container) {
+        // If the device is FastPair, remove CDM companion apps.
+        final BluetoothFeatureProvider bluetoothFeatureProvider = FeatureFactory.getFactory(context)
+                .getBluetoothFeatureProvider(context);
+        final boolean sliceEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
+                SettingsUIDeviceConfig.BT_SLICE_SETTINGS_ENABLED, true);
+        final Uri settingsUri = bluetoothFeatureProvider.getBluetoothDeviceSettingsUri(
+                mCachedDevice.getDevice());
+        if (sliceEnabled && settingsUri != null) {
+            container.removeAll();
+            return;
+        }
+
         Set<String> addedPackages = new HashSet<>();
 
         for (String packageName : getPreferencesNeedToShow(address, container)) {