From ec85f34812b0f66715ad5ae4d1485f98a690746c Mon Sep 17 00:00:00 2001 From: Bryce Lee Date: Wed, 16 Dec 2015 13:32:28 -0800 Subject: [PATCH] Add setting for declaring disabled bluetooth profiles. Bug: 25900899 Change-Id: I420a7c590d72ba10f3e466d15dccfdbb520e810a --- core/java/android/bluetooth/BluetoothProfile.java | 12 ++++++++++++ core/java/android/provider/Settings.java | 7 +++++++ packages/SettingsProvider/res/values/defaults.xml | 1 + .../android/providers/settings/SettingsProvider.java | 12 +++++++++++- 4 files changed, 31 insertions(+), 1 deletion(-) diff --git a/core/java/android/bluetooth/BluetoothProfile.java b/core/java/android/bluetooth/BluetoothProfile.java index cbce22cdea60a..6bf3fab71ec7f 100644 --- a/core/java/android/bluetooth/BluetoothProfile.java +++ b/core/java/android/bluetooth/BluetoothProfile.java @@ -130,6 +130,18 @@ public interface BluetoothProfile { */ public static final int HEADSET_CLIENT = 16; + /** + * HID Profile + * @hide + */ + public static final int HID = 17; + + /** + * HDP Profile + * @hide + */ + public static final int HDP = 18; + /** * Default priority for devices that we try to auto-connect to and * and allow incoming connections for the profile diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 746e11066d9b5..9a7d7bb583a7e 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -6029,6 +6029,13 @@ public final class Settings { */ public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios"; + /** + * A Long representing a bitmap of profiles that should be disabled when bluetooth starts. + * See {@link android.bluetooth.BluetoothProfile}. + * {@hide} + */ + public static final String BLUETOOTH_DISABLED_PROFILES = "bluetooth_disabled_profiles"; + /** * The policy for deciding when Wi-Fi should go to sleep (which will in * turn switch to using the mobile data as an Internet connection). diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml index 1cd2908e77e9c..ef32c190b50d5 100644 --- a/packages/SettingsProvider/res/values/defaults.xml +++ b/packages/SettingsProvider/res/values/defaults.xml @@ -25,6 +25,7 @@ cell,bluetooth,wifi,nfc,wimax bluetooth,wifi,nfc + 0 true true true diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 73971adaca0c4..aa00f7df6f0e3 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -1855,7 +1855,7 @@ public class SettingsProvider extends ContentProvider { } private final class UpgradeController { - private static final int SETTINGS_VERSION = 122; + private static final int SETTINGS_VERSION = 123; private final int mUserId; @@ -2007,6 +2007,16 @@ public class SettingsProvider extends ContentProvider { } currentVersion = 122; } + + if (currentVersion == 122) { + final SettingsState globalSettings = getGlobalSettingsLocked(); + String defaultDisabledProfiles = (getContext().getResources().getString( + R.string.def_bluetooth_disabled_profiles)); + globalSettings.insertSettingLocked(Settings.Global.BLUETOOTH_DISABLED_PROFILES, + defaultDisabledProfiles, SettingsState.SYSTEM_PACKAGE_NAME); + currentVersion = 123; + } + // vXXX: Add new settings above this point. // Return the current version.