* 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);
|
mDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
|
||||||
mType = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT, BluetoothDevice.ERROR);
|
mType = intent.getIntExtra(BluetoothDevice.EXTRA_PAIRING_VARIANT, BluetoothDevice.ERROR);
|
||||||
mDevice.fetchUuidsWithSdp();
|
|
||||||
|
|
||||||
switch (mType) {
|
switch (mType) {
|
||||||
case BluetoothDevice.PAIRING_VARIANT_PIN:
|
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) {
|
private void onPair(String value) {
|
||||||
processPhonebookAccess();
|
|
||||||
|
|
||||||
switch (mType) {
|
switch (mType) {
|
||||||
case BluetoothDevice.PAIRING_VARIANT_PIN:
|
case BluetoothDevice.PAIRING_VARIANT_PIN:
|
||||||
byte[] pinBytes = BluetoothDevice.convertPinToBytes(value);
|
byte[] pinBytes = BluetoothDevice.convertPinToBytes(value);
|
||||||
|
@@ -19,6 +19,7 @@ package com.android.settings.bluetooth;
|
|||||||
import android.bluetooth.BluetoothClass;
|
import android.bluetooth.BluetoothClass;
|
||||||
import android.bluetooth.BluetoothDevice;
|
import android.bluetooth.BluetoothDevice;
|
||||||
import android.bluetooth.BluetoothProfile;
|
import android.bluetooth.BluetoothProfile;
|
||||||
|
import android.bluetooth.BluetoothUuid;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.ParcelUuid;
|
import android.os.ParcelUuid;
|
||||||
@@ -487,6 +488,11 @@ final class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice> {
|
|||||||
ParcelUuid[] localUuids = mLocalAdapter.getUuids();
|
ParcelUuid[] localUuids = mLocalAdapter.getUuids();
|
||||||
if (localUuids == null) return false;
|
if (localUuids == null) return false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Now we know if the device supports PBAP, update permissions...
|
||||||
|
*/
|
||||||
|
processPhonebookAccess();
|
||||||
|
|
||||||
mProfileManager.updateProfiles(uuids, localUuids, mProfiles, mRemovedProfiles,
|
mProfileManager.updateProfiles(uuids, localUuids, mProfiles, mRemovedProfiles,
|
||||||
mLocalNapRoleConnected, mDevice);
|
mLocalNapRoleConnected, mDevice);
|
||||||
|
|
||||||
@@ -767,4 +773,15 @@ final class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice> {
|
|||||||
}
|
}
|
||||||
editor.commit();
|
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