From 69a93683258718160d935b51f53a79e6a7cc050b Mon Sep 17 00:00:00 2001 From: Guojing Yuan Date: Fri, 2 Jul 2021 20:27:42 +0000 Subject: [PATCH] [CDM] Remove CDM companion apps from Connected Devices detail Settings Remove CDM companion apps from Connected Devices details Settings when there's a FastPair slice. BUG: 191992001 Test: Manual Change-Id: Ic373736ff6e32765f8c9d13e7358455a82cd8333 --- .../BluetoothDetailsCompanionAppsController.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java index f2a94ba7440..107df5fc50f 100644 --- a/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java +++ b/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java @@ -26,8 +26,10 @@ import android.content.DialogInterface; 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.PreferenceFragmentCompat; 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 class BluetoothDetailsCompanionAppsController extends BluetoothDetailsCon */ 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 addedPackages = new HashSet<>(); for (String packageName : getPreferencesNeedToShow(address, container)) {