summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2015-11-07 17:03:48 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2015-11-07 17:03:48 -0800
commitc9d123c33452bf651b0c6b8c9754f7bf1766e931 (patch)
tree180c187195dc4dc19c44bafa7b5eaf7b9632ce44 /src/com
parentcbcca41155df10ea5fb92a7022ed70c3926a1089 (diff)
parent393ba3c690f5063bcbdb4bc63f564d6d019765a9 (diff)
downloadpackages_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')
-rw-r--r--[-rwxr-xr-x]src/com/android/settings/bluetooth/DeviceProfilesSettings.java33
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);
}