am 3ca77ccf: am 455502b7: Merge "Add API to check if a Bluetooth connection is encrypted (1/2)" into lmp-mr1-dev
* commit '3ca77ccf873f12e116a66d1c1a417fe89f75af85': Add API to check if a Bluetooth connection is encrypted (1/2)
This commit is contained in:
@@ -6417,6 +6417,8 @@ package android.bluetooth {
|
||||
method public java.lang.String getName();
|
||||
method public int getType();
|
||||
method public android.os.ParcelUuid[] getUuids();
|
||||
method public boolean isConnected();
|
||||
method public boolean isEncrypted();
|
||||
method public boolean setPairingConfirmation(boolean);
|
||||
method public boolean setPin(byte[]);
|
||||
method public void writeToParcel(android.os.Parcel, int);
|
||||
|
||||
@@ -18,6 +18,7 @@ package android.bluetooth;
|
||||
|
||||
import android.annotation.SdkConstant;
|
||||
import android.annotation.SdkConstant.SdkConstantType;
|
||||
import android.annotation.SystemApi;
|
||||
import android.content.Context;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
@@ -66,6 +67,14 @@ public final class BluetoothDevice implements Parcelable {
|
||||
private static final String TAG = "BluetoothDevice";
|
||||
private static final boolean DBG = false;
|
||||
|
||||
/**
|
||||
* Connection state bitmask as returned by getConnectionState.
|
||||
*/
|
||||
private static final int CONNECTION_STATE_DISCONNECTED = 0;
|
||||
private static final int CONNECTION_STATE_CONNECTED = 1;
|
||||
private static final int CONNECTION_STATE_ENCRYPTED_BREDR = 2;
|
||||
private static final int CONNECTION_STATE_ENCRYPTED_LE = 4;
|
||||
|
||||
/**
|
||||
* Sentinel error value for this class. Guaranteed to not equal any other
|
||||
* integer constant in this class. Provided as a convenience for functions
|
||||
@@ -940,13 +949,36 @@ public final class BluetoothDevice implements Parcelable {
|
||||
* @return True if there is at least one open connection to this device.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public boolean isConnected() {
|
||||
if (sService == null) {
|
||||
// BT is not enabled, we cannot be connected.
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
return sService.isConnected(this);
|
||||
return sService.getConnectionState(this) != CONNECTION_STATE_DISCONNECTED;
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "", e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether there is an open connection to this device
|
||||
* that has been encrypted.
|
||||
* <p>Requires {@link android.Manifest.permission#BLUETOOTH}.
|
||||
*
|
||||
* @return True if there is at least one encrypted connection to this device.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public boolean isEncrypted() {
|
||||
if (sService == null) {
|
||||
// BT is not enabled, we cannot be connected.
|
||||
return false;
|
||||
}
|
||||
try {
|
||||
return sService.getConnectionState(this) > CONNECTION_STATE_CONNECTED;
|
||||
} catch (RemoteException e) {
|
||||
Log.e(TAG, "", e);
|
||||
return false;
|
||||
|
||||
@@ -59,7 +59,7 @@ interface IBluetooth
|
||||
boolean cancelBondProcess(in BluetoothDevice device);
|
||||
boolean removeBond(in BluetoothDevice device);
|
||||
int getBondState(in BluetoothDevice device);
|
||||
boolean isConnected(in BluetoothDevice device);
|
||||
int getConnectionState(in BluetoothDevice device);
|
||||
|
||||
String getRemoteName(in BluetoothDevice device);
|
||||
int getRemoteType(in BluetoothDevice device);
|
||||
|
||||
Reference in New Issue
Block a user