Merge "Add a way to query for supported Bluetooth profiles."
am: 0a86c936a6
Change-Id: Id10ad10a5dbcab92e390a7a245772d2b551ad30c
This commit is contained in:
@@ -1491,6 +1491,36 @@ public final class BluetoothAdapter {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the currently supported profiles by the adapter.
|
||||||
|
*
|
||||||
|
*<p> This can be used to check whether a profile is supported before attempting
|
||||||
|
* to connect to its respective proxy.
|
||||||
|
*
|
||||||
|
* @return a list of integers indicating the ids of supported profiles as defined in
|
||||||
|
* {@link BluetoothProfile}.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public List<Integer> getSupportedProfiles() {
|
||||||
|
final ArrayList<Integer> supportedProfiles = new ArrayList<Integer>();
|
||||||
|
|
||||||
|
try {
|
||||||
|
synchronized (mManagerCallback) {
|
||||||
|
if (mService != null) {
|
||||||
|
final long supportedProfilesBitMask = mService.getSupportedProfiles();
|
||||||
|
|
||||||
|
for (int i = 0; i <= BluetoothProfile.MAX_PROFILE_ID; i++) {
|
||||||
|
if ((supportedProfilesBitMask & (1 << i)) != 0) {
|
||||||
|
supportedProfiles.add(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (RemoteException e) {Log.e(TAG, "getSupportedProfiles:", e);}
|
||||||
|
|
||||||
|
return supportedProfiles;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current connection state of the local Bluetooth adapter.
|
* Get the current connection state of the local Bluetooth adapter.
|
||||||
* This can be used to check whether the local Bluetooth adapter is connected
|
* This can be used to check whether the local Bluetooth adapter is connected
|
||||||
|
|||||||
@@ -136,6 +136,13 @@ public interface BluetoothProfile {
|
|||||||
*/
|
*/
|
||||||
public static final int PBAP_CLIENT = 17;
|
public static final int PBAP_CLIENT = 17;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max profile ID. This value should be updated whenever a new profile is added to match
|
||||||
|
* the largest value assigned to a profile.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final int MAX_PROFILE_ID = 17;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default priority for devices that we try to auto-connect to and
|
* Default priority for devices that we try to auto-connect to and
|
||||||
* and allow incoming connections for the profile
|
* and allow incoming connections for the profile
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ interface IBluetooth
|
|||||||
boolean removeBond(in BluetoothDevice device);
|
boolean removeBond(in BluetoothDevice device);
|
||||||
int getBondState(in BluetoothDevice device);
|
int getBondState(in BluetoothDevice device);
|
||||||
boolean isBondingInitiatedLocally(in BluetoothDevice device);
|
boolean isBondingInitiatedLocally(in BluetoothDevice device);
|
||||||
|
long getSupportedProfiles();
|
||||||
int getConnectionState(in BluetoothDevice device);
|
int getConnectionState(in BluetoothDevice device);
|
||||||
|
|
||||||
String getRemoteName(in BluetoothDevice device);
|
String getRemoteName(in BluetoothDevice device);
|
||||||
|
|||||||
Reference in New Issue
Block a user