Merge "Add error code for BluetoothDevice#getBatteryLevel to represent Bluetooth is off" into rvc-dev am: 23ad582c18 am: 563bac2481
Change-Id: I23734886ccaaf8b5066a754c4c357eaea25f12a2
This commit is contained in:
@@ -230,6 +230,13 @@ public final class BluetoothDevice implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
public static final int BATTERY_LEVEL_UNKNOWN = -1;
|
public static final int BATTERY_LEVEL_UNKNOWN = -1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used as an error value for {@link #getBatteryLevel()} to represent bluetooth is off
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final int BATTERY_LEVEL_BLUETOOTH_OFF = -100;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used as a Parcelable {@link BluetoothDevice} extra field in every intent
|
* Used as a Parcelable {@link BluetoothDevice} extra field in every intent
|
||||||
* broadcast by this class. It contains the {@link BluetoothDevice} that
|
* broadcast by this class. It contains the {@link BluetoothDevice} that
|
||||||
@@ -1112,9 +1119,9 @@ public final class BluetoothDevice implements Parcelable {
|
|||||||
/**
|
/**
|
||||||
* Get the most recent identified battery level of this Bluetooth device
|
* Get the most recent identified battery level of this Bluetooth device
|
||||||
*
|
*
|
||||||
* @return Battery level in percents from 0 to 100, or {@link #BATTERY_LEVEL_UNKNOWN} if
|
* @return Battery level in percents from 0 to 100, {@link #BATTERY_LEVEL_BLUETOOTH_OFF} if
|
||||||
* Bluetooth is disabled, or device is disconnected, or does not have any battery reporting
|
* Bluetooth is disabled or {@link #BATTERY_LEVEL_UNKNOWN} if device is disconnected, or does
|
||||||
* service, or return value is invalid
|
* not have any battery reporting service, or return value is invalid
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
@@ -1123,7 +1130,7 @@ public final class BluetoothDevice implements Parcelable {
|
|||||||
final IBluetooth service = sService;
|
final IBluetooth service = sService;
|
||||||
if (service == null) {
|
if (service == null) {
|
||||||
Log.e(TAG, "Bluetooth disabled. Cannot get remote device battery level");
|
Log.e(TAG, "Bluetooth disabled. Cannot get remote device battery level");
|
||||||
return BATTERY_LEVEL_UNKNOWN;
|
return BATTERY_LEVEL_BLUETOOTH_OFF;
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
return service.getBatteryLevel(this);
|
return service.getBatteryLevel(this);
|
||||||
@@ -1727,7 +1734,9 @@ public final class BluetoothDevice implements Parcelable {
|
|||||||
/**
|
/**
|
||||||
* Sets whether the message access is allowed to this device.
|
* Sets whether the message access is allowed to this device.
|
||||||
*
|
*
|
||||||
* @param value is the value we are setting the message access permission to
|
* @param value Can be {@link #ACCESS_UNKNOWN} if the device is unbonded,
|
||||||
|
* {@link #ACCESS_ALLOWED} if the permission is being granted, or {@link #ACCESS_REJECTED} if
|
||||||
|
* the permission is not being granted.
|
||||||
* @return Whether the value has been successfully set.
|
* @return Whether the value has been successfully set.
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@@ -1774,8 +1783,9 @@ public final class BluetoothDevice implements Parcelable {
|
|||||||
/**
|
/**
|
||||||
* Sets whether the Sim access is allowed to this device.
|
* Sets whether the Sim access is allowed to this device.
|
||||||
*
|
*
|
||||||
* @param value Can be {@link #ACCESS_UNKNOWN}, {@link #ACCESS_ALLOWED} or {@link
|
* @param value Can be {@link #ACCESS_UNKNOWN} if the device is unbonded,
|
||||||
* #ACCESS_REJECTED}.
|
* {@link #ACCESS_ALLOWED} if the permission is being granted, or {@link #ACCESS_REJECTED} if
|
||||||
|
* the permission is not being granted.
|
||||||
* @return Whether the value has been successfully set.
|
* @return Whether the value has been successfully set.
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -494,7 +494,9 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get battery level from remote device
|
* Get battery level from remote device
|
||||||
* @return battery level in percentage [0-100], or {@link BluetoothDevice#BATTERY_LEVEL_UNKNOWN}
|
* @return battery level in percentage [0-100],
|
||||||
|
* {@link BluetoothDevice#BATTERY_LEVEL_BLUETOOTH_OFF}, or
|
||||||
|
* {@link BluetoothDevice#BATTERY_LEVEL_UNKNOWN}
|
||||||
*/
|
*/
|
||||||
public int getBatteryLevel() {
|
public int getBatteryLevel() {
|
||||||
return mDevice.getBatteryLevel();
|
return mDevice.getBatteryLevel();
|
||||||
@@ -937,12 +939,12 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
|
|||||||
}
|
}
|
||||||
|
|
||||||
String batteryLevelPercentageString = null;
|
String batteryLevelPercentageString = null;
|
||||||
// Android framework should only set mBatteryLevel to valid range [0-100] or
|
// Android framework should only set mBatteryLevel to valid range [0-100],
|
||||||
// BluetoothDevice.BATTERY_LEVEL_UNKNOWN, any other value should be a framework bug.
|
// BluetoothDevice.BATTERY_LEVEL_BLUETOOTH_OFF, or BluetoothDevice.BATTERY_LEVEL_UNKNOWN,
|
||||||
// Thus assume here that if value is not BluetoothDevice.BATTERY_LEVEL_UNKNOWN, it must
|
// any other value should be a framework bug. Thus assume here that if value is greater
|
||||||
// be valid
|
// than BluetoothDevice.BATTERY_LEVEL_UNKNOWN, it must be valid
|
||||||
final int batteryLevel = getBatteryLevel();
|
final int batteryLevel = getBatteryLevel();
|
||||||
if (batteryLevel != BluetoothDevice.BATTERY_LEVEL_UNKNOWN) {
|
if (batteryLevel > BluetoothDevice.BATTERY_LEVEL_UNKNOWN) {
|
||||||
// TODO: name com.android.settingslib.bluetooth.Utils something different
|
// TODO: name com.android.settingslib.bluetooth.Utils something different
|
||||||
batteryLevelPercentageString =
|
batteryLevelPercentageString =
|
||||||
com.android.settingslib.Utils.formatPercentage(batteryLevel);
|
com.android.settingslib.Utils.formatPercentage(batteryLevel);
|
||||||
@@ -1050,12 +1052,12 @@ public class CachedBluetoothDevice implements Comparable<CachedBluetoothDevice>
|
|||||||
}
|
}
|
||||||
|
|
||||||
String batteryLevelPercentageString = null;
|
String batteryLevelPercentageString = null;
|
||||||
// Android framework should only set mBatteryLevel to valid range [0-100] or
|
// Android framework should only set mBatteryLevel to valid range [0-100],
|
||||||
// BluetoothDevice.BATTERY_LEVEL_UNKNOWN, any other value should be a framework bug.
|
// BluetoothDevice.BATTERY_LEVEL_BLUETOOTH_OFF, or BluetoothDevice.BATTERY_LEVEL_UNKNOWN,
|
||||||
// Thus assume here that if value is not BluetoothDevice.BATTERY_LEVEL_UNKNOWN, it must
|
// any other value should be a framework bug. Thus assume here that if value is greater
|
||||||
// be valid
|
// than BluetoothDevice.BATTERY_LEVEL_UNKNOWN, it must be valid
|
||||||
final int batteryLevel = getBatteryLevel();
|
final int batteryLevel = getBatteryLevel();
|
||||||
if (batteryLevel != BluetoothDevice.BATTERY_LEVEL_UNKNOWN) {
|
if (batteryLevel > BluetoothDevice.BATTERY_LEVEL_UNKNOWN) {
|
||||||
// TODO: name com.android.settingslib.bluetooth.Utils something different
|
// TODO: name com.android.settingslib.bluetooth.Utils something different
|
||||||
batteryLevelPercentageString =
|
batteryLevelPercentageString =
|
||||||
com.android.settingslib.Utils.formatPercentage(batteryLevel);
|
com.android.settingslib.Utils.formatPercentage(batteryLevel);
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ public class BluetoothTile extends QSTileImpl<BooleanState> {
|
|||||||
CachedBluetoothDevice lastDevice = connectedDevices.get(0);
|
CachedBluetoothDevice lastDevice = connectedDevices.get(0);
|
||||||
final int batteryLevel = lastDevice.getBatteryLevel();
|
final int batteryLevel = lastDevice.getBatteryLevel();
|
||||||
|
|
||||||
if (batteryLevel != BluetoothDevice.BATTERY_LEVEL_UNKNOWN) {
|
if (batteryLevel > BluetoothDevice.BATTERY_LEVEL_UNKNOWN) {
|
||||||
return mContext.getString(
|
return mContext.getString(
|
||||||
R.string.quick_settings_bluetooth_secondary_label_battery_level,
|
R.string.quick_settings_bluetooth_secondary_label_battery_level,
|
||||||
Utils.formatPercentage(batteryLevel));
|
Utils.formatPercentage(batteryLevel));
|
||||||
@@ -390,7 +390,7 @@ public class BluetoothTile extends QSTileImpl<BooleanState> {
|
|||||||
if (state == BluetoothProfile.STATE_CONNECTED) {
|
if (state == BluetoothProfile.STATE_CONNECTED) {
|
||||||
item.iconResId = R.drawable.ic_bluetooth_connected;
|
item.iconResId = R.drawable.ic_bluetooth_connected;
|
||||||
int batteryLevel = device.getBatteryLevel();
|
int batteryLevel = device.getBatteryLevel();
|
||||||
if (batteryLevel != BluetoothDevice.BATTERY_LEVEL_UNKNOWN) {
|
if (batteryLevel > BluetoothDevice.BATTERY_LEVEL_UNKNOWN) {
|
||||||
item.icon = new BluetoothBatteryTileIcon(batteryLevel,1 /* iconScale */);
|
item.icon = new BluetoothBatteryTileIcon(batteryLevel,1 /* iconScale */);
|
||||||
item.line2 = mContext.getString(
|
item.line2 = mContext.getString(
|
||||||
R.string.quick_settings_connected_battery_level,
|
R.string.quick_settings_connected_battery_level,
|
||||||
|
|||||||
Reference in New Issue
Block a user