Merge "Update BluetoothDevice SystemApi permissions and disallow passing a null pin to BluetoothDevice#setPin"
This commit is contained in:
@@ -1389,23 +1389,23 @@ package android.bluetooth {
|
||||
}
|
||||
|
||||
public final class BluetoothDevice implements android.os.Parcelable {
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean cancelBondProcess();
|
||||
method public boolean cancelPairing();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public int getBatteryLevel();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public int getMessageAccessPermission();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean cancelBondProcess();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean cancelPairing();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getBatteryLevel();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMessageAccessPermission();
|
||||
method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public byte[] getMetadata(int);
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public int getPhonebookAccessPermission();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public int getSimAccessPermission();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean isBondingInitiatedLocally();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getPhonebookAccessPermission();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getSimAccessPermission();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isBondingInitiatedLocally();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean isConnected();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean isEncrypted();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isInSilenceMode();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean removeBond();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean removeBond();
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setAlias(@NonNull String);
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setMessageAccessPermission(int);
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setMetadata(int, @NonNull byte[]);
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setPhonebookAccessPermission(int);
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean setPin(@Nullable String);
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean setPin(@NonNull String);
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setSilenceMode(boolean);
|
||||
method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setSimAccessPermission(int);
|
||||
field public static final int ACCESS_ALLOWED = 1; // 0x1
|
||||
|
||||
@@ -1121,7 +1121,7 @@ public final class BluetoothDevice implements Parcelable {
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH)
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
|
||||
public int getBatteryLevel() {
|
||||
final IBluetooth service = sService;
|
||||
if (service == null) {
|
||||
@@ -1212,7 +1212,7 @@ public final class BluetoothDevice implements Parcelable {
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH)
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
|
||||
public boolean isBondingInitiatedLocally() {
|
||||
final IBluetooth service = sService;
|
||||
if (service == null) {
|
||||
@@ -1250,13 +1250,12 @@ public final class BluetoothDevice implements Parcelable {
|
||||
|
||||
/**
|
||||
* Cancel an in-progress bonding request started with {@link #createBond}.
|
||||
* <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}.
|
||||
*
|
||||
* @return true on success, false on error
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN)
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
|
||||
public boolean cancelBondProcess() {
|
||||
final IBluetooth service = sService;
|
||||
if (service == null) {
|
||||
@@ -1279,13 +1278,12 @@ public final class BluetoothDevice implements Parcelable {
|
||||
* <p>Delete the link key associated with the remote device, and
|
||||
* immediately terminate connections to that device that require
|
||||
* authentication and encryption.
|
||||
* <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}.
|
||||
*
|
||||
* @return true on success, false on error
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN)
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
|
||||
public boolean removeBond() {
|
||||
final IBluetooth service = sService;
|
||||
if (service == null) {
|
||||
@@ -1329,13 +1327,12 @@ public final class BluetoothDevice implements Parcelable {
|
||||
|
||||
/**
|
||||
* Returns whether there is an open connection to this device.
|
||||
* <p>Requires {@link android.Manifest.permission#BLUETOOTH}.
|
||||
*
|
||||
* @return True if there is at least one open connection to this device.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.BLUETOOTH)
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH)
|
||||
public boolean isConnected() {
|
||||
final IBluetooth service = sService;
|
||||
if (service == null) {
|
||||
@@ -1353,13 +1350,12 @@ public final class BluetoothDevice implements Parcelable {
|
||||
/**
|
||||
* 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
|
||||
@RequiresPermission(android.Manifest.permission.BLUETOOTH)
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH)
|
||||
public boolean isEncrypted() {
|
||||
final IBluetooth service = sService;
|
||||
if (service == null) {
|
||||
@@ -1512,7 +1508,7 @@ public final class BluetoothDevice implements Parcelable {
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN)
|
||||
public boolean setPin(@Nullable String pin) {
|
||||
public boolean setPin(@NonNull String pin) {
|
||||
byte[] pinBytes = convertPinToBytes(pin);
|
||||
if (pinBytes == null) {
|
||||
return false;
|
||||
@@ -1548,6 +1544,7 @@ public final class BluetoothDevice implements Parcelable {
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
|
||||
public boolean cancelPairing() {
|
||||
final IBluetooth service = sService;
|
||||
if (service == null) {
|
||||
@@ -1579,8 +1576,8 @@ public final class BluetoothDevice implements Parcelable {
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH)
|
||||
public int getPhonebookAccessPermission() {
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
|
||||
public @AccessPermission int getPhonebookAccessPermission() {
|
||||
final IBluetooth service = sService;
|
||||
if (service == null) {
|
||||
return ACCESS_UNKNOWN;
|
||||
@@ -1659,7 +1656,6 @@ public final class BluetoothDevice implements Parcelable {
|
||||
|
||||
/**
|
||||
* Sets whether the phonebook access is allowed to this device.
|
||||
* <p>Requires {@link android.Manifest.permission#BLUETOOTH_PRIVILEGED}.
|
||||
*
|
||||
* @param value Can be {@link #ACCESS_UNKNOWN}, {@link #ACCESS_ALLOWED} or {@link
|
||||
* #ACCESS_REJECTED}.
|
||||
@@ -1668,7 +1664,7 @@ public final class BluetoothDevice implements Parcelable {
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED)
|
||||
public boolean setPhonebookAccessPermission(int value) {
|
||||
public boolean setPhonebookAccessPermission(@AccessPermission int value) {
|
||||
final IBluetooth service = sService;
|
||||
if (service == null) {
|
||||
return false;
|
||||
@@ -1688,7 +1684,7 @@ public final class BluetoothDevice implements Parcelable {
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH)
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
|
||||
public @AccessPermission int getMessageAccessPermission() {
|
||||
final IBluetooth service = sService;
|
||||
if (service == null) {
|
||||
@@ -1735,7 +1731,7 @@ public final class BluetoothDevice implements Parcelable {
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH)
|
||||
@RequiresPermission(Manifest.permission.BLUETOOTH_PRIVILEGED)
|
||||
public @AccessPermission int getSimAccessPermission() {
|
||||
final IBluetooth service = sService;
|
||||
if (service == null) {
|
||||
|
||||
Reference in New Issue
Block a user