* commit 'edf618c1b7ceb283146de1e26b85a56ab04b206f': Do not perform SDP during pairing
This commit is contained in:
@@ -113,7 +113,6 @@ public final class BluetoothPairingDialog extends AlertActivity implements
|
||||
|
||||
mDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
|
||||
mType = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT, BluetoothDevice.ERROR);
|
||||
mDevice.fetchUuidsWithSdp();
|
||||
|
||||
switch (mType) {
|
||||
case BluetoothDevice.PAIRING_VARIANT_PIN:
|
||||
@@ -321,23 +320,7 @@ public final class BluetoothPairingDialog extends AlertActivity implements
|
||||
}
|
||||
}
|
||||
|
||||
private void processPhonebookAccess() {
|
||||
CachedBluetoothDevice cachedDevice = mCachedDeviceManager.findDevice(mDevice);
|
||||
if (cachedDevice == null) {
|
||||
cachedDevice = mCachedDeviceManager.addDevice(
|
||||
mBluetoothManager.getBluetoothAdapter(),
|
||||
mBluetoothManager.getProfileManager(),
|
||||
mDevice);
|
||||
}
|
||||
ParcelUuid[] uuids = mDevice.getUuids();
|
||||
if (BluetoothUuid.containsAnyUuid(uuids, PbapServerProfile.PBAB_CLIENT_UUIDS)) {
|
||||
cachedDevice.setPhonebookPermissionChoice(CachedBluetoothDevice.ACCESS_ALLOWED);
|
||||
}
|
||||
}
|
||||
|
||||
private void onPair(String value) {
|
||||
processPhonebookAccess();
|
||||
|
||||
switch (mType) {
|
||||
case BluetoothDevice.PAIRING_VARIANT_PIN:
|
||||
byte[] pinBytes = BluetoothDevice.convertPinToBytes(value);
|
||||
|
@@ -19,6 +19,7 @@ package com.android.settings.bluetooth;
|
||||
import android.bluetooth.BluetoothClass;
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
import android.bluetooth.BluetoothProfile;
|
||||
import android.bluetooth.BluetoothUuid;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.ParcelUuid;
|
||||
@@ -487,6 +488,11 @@ final class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice> {
|
||||
ParcelUuid[] localUuids = mLocalAdapter.getUuids();
|
||||
if (localUuids == null) return false;
|
||||
|
||||
/**
|
||||
* Now we know if the device supports PBAP, update permissions...
|
||||
*/
|
||||
processPhonebookAccess();
|
||||
|
||||
mProfileManager.updateProfiles(uuids, localUuids, mProfiles, mRemovedProfiles,
|
||||
mLocalNapRoleConnected, mDevice);
|
||||
|
||||
@@ -767,4 +773,15 @@ final class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice> {
|
||||
}
|
||||
editor.commit();
|
||||
}
|
||||
|
||||
private void processPhonebookAccess() {
|
||||
if (mDevice.getBondState() != BluetoothDevice.BOND_BONDED) return;
|
||||
|
||||
ParcelUuid[] uuids = mDevice.getUuids();
|
||||
if (BluetoothUuid.containsAnyUuid(uuids, PbapServerProfile.PBAB_CLIENT_UUIDS)) {
|
||||
// The pairing dialog now warns of phone-book access for paired devices.
|
||||
// No separate prompt is displayed after pairing.
|
||||
setPhonebookPermissionChoice(CachedBluetoothDevice.ACCESS_ALLOWED);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user