diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2015-11-07 17:03:48 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2015-11-07 17:03:48 -0800 |
commit | c9d123c33452bf651b0c6b8c9754f7bf1766e931 (patch) | |
tree | 180c187195dc4dc19c44bafa7b5eaf7b9632ce44 /src/com/android/settings | |
parent | cbcca41155df10ea5fb92a7022ed70c3926a1089 (diff) | |
parent | 393ba3c690f5063bcbdb4bc63f564d6d019765a9 (diff) | |
download | packages_apps_Settings-c9d123c33452bf651b0c6b8c9754f7bf1766e931.zip packages_apps_Settings-c9d123c33452bf651b0c6b8c9754f7bf1766e931.tar.gz packages_apps_Settings-c9d123c33452bf651b0c6b8c9754f7bf1766e931.tar.bz2 |
Merge "Bluetooth: PBAP: Add support for PBAP UI preference"
Diffstat (limited to 'src/com/android/settings')
-rw-r--r--[-rwxr-xr-x] | src/com/android/settings/bluetooth/DeviceProfilesSettings.java | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java index b7d837b..abee8cc 100755..100644 --- a/src/com/android/settings/bluetooth/DeviceProfilesSettings.java +++ b/src/com/android/settings/bluetooth/DeviceProfilesSettings.java @@ -174,11 +174,16 @@ public final class DeviceProfilesSettings extends DialogFragment implements private void addPreferencesForProfiles() { mProfileContainer.removeAllViews(); for (LocalBluetoothProfile profile : mCachedDevice.getConnectableProfiles()) { - CheckBox pref = createProfilePreference(profile); - mProfileContainer.addView(pref); + // MAP and PBAP profiles would be added based on permission access + if (!((profile instanceof PbapServerProfile) || + (profile instanceof MapProfile))) { + CheckBox pref = createProfilePreference(profile); + mProfileContainer.addView(pref); + } } final int pbapPermission = mCachedDevice.getPhonebookPermissionChoice(); + Log.d(TAG, "addPreferencesForProfiles: pbapPermission = " + pbapPermission); // Only provide PBAP cabability if the client device has requested PBAP. if (pbapPermission != CachedBluetoothDevice.ACCESS_UNKNOWN) { final PbapServerProfile psp = mManager.getProfileManager().getPbapProfile(); @@ -188,6 +193,7 @@ public final class DeviceProfilesSettings extends DialogFragment implements final MapProfile mapProfile = mManager.getProfileManager().getMapProfile(); final int mapPermission = mCachedDevice.getMessagePermissionChoice(); + Log.d(TAG, "addPreferencesForProfiles: mapPermission = " + mapPermission); if (mapPermission != CachedBluetoothDevice.ACCESS_UNKNOWN) { CheckBox mapPreference = createProfilePreference(mapProfile); mProfileContainer.addView(mapPreference); @@ -242,15 +248,6 @@ public final class DeviceProfilesSettings extends DialogFragment implements private void onProfileClicked(LocalBluetoothProfile profile, CheckBox profilePref) { BluetoothDevice device = mCachedDevice.getDevice(); - if (KEY_PBAP_SERVER.equals(profilePref.getTag())) { - final int newPermission = mCachedDevice.getPhonebookPermissionChoice() - == CachedBluetoothDevice.ACCESS_ALLOWED ? CachedBluetoothDevice.ACCESS_REJECTED - : CachedBluetoothDevice.ACCESS_ALLOWED; - mCachedDevice.setPhonebookPermissionChoice(newPermission); - profilePref.setChecked(newPermission == CachedBluetoothDevice.ACCESS_ALLOWED); - return; - } - if (!profilePref.isChecked()) { // Recheck it, until the dialog is done. profilePref.setChecked(true); @@ -259,6 +256,11 @@ public final class DeviceProfilesSettings extends DialogFragment implements if (profile instanceof MapProfile) { mCachedDevice.setMessagePermissionChoice(BluetoothDevice.ACCESS_ALLOWED); } + if (profile instanceof PbapServerProfile) { + mCachedDevice.setPhonebookPermissionChoice(BluetoothDevice.ACCESS_ALLOWED); + refreshProfilePreference(profilePref, profile); + return; + } if (profile.isPreferred(device)) { // profile is preferred but not connected: disable auto-connect if (profile instanceof PanProfile) { @@ -296,9 +298,12 @@ public final class DeviceProfilesSettings extends DialogFragment implements if (which == OK_BUTTON) { device.disconnect(profile); profile.setPreferred(device.getDevice(), false); - } - if (profile instanceof MapProfile) { - device.setMessagePermissionChoice(BluetoothDevice.ACCESS_REJECTED); + if (profile instanceof MapProfile) { + device.setMessagePermissionChoice(BluetoothDevice.ACCESS_REJECTED); + } + if (profile instanceof PbapServerProfile) { + device.setPhonebookPermissionChoice(BluetoothDevice.ACCESS_REJECTED); + } } refreshProfilePreference(findProfile(profile.toString()), profile); } |