Loading src/com/android/bluetooth/btservice/RemoteDevices.java +2 −2 Original line number Diff line number Diff line Loading @@ -829,13 +829,13 @@ final class RemoteDevices { } int batteryLevel = (Integer) args[1]; int numberOfLevels = (Integer) args[2]; if (batteryLevel < 0 || numberOfLevels < 0 || batteryLevel > numberOfLevels) { if (batteryLevel < 0 || numberOfLevels <= 1 || batteryLevel > numberOfLevels) { Log.w(TAG, "getBatteryLevelFromXEventVsc() wrong event value, batteryLevel=" + String.valueOf(batteryLevel) + ", numberOfLevels=" + String.valueOf( numberOfLevels)); return BluetoothDevice.BATTERY_LEVEL_UNKNOWN; } return batteryLevel * 100 / numberOfLevels; return batteryLevel * 100 / (numberOfLevels - 1); } private static void errorLog(String msg) { Loading tests/unit/src/com/android/bluetooth/btservice/RemoteDevicesTest.java +6 −3 Original line number Diff line number Diff line Loading @@ -336,7 +336,7 @@ public class RemoteDevicesTest { BluetoothAssignedNumbers.PLANTRONICS, BluetoothHeadset.AT_CMD_TYPE_SET, getXEventArray(3, 8), mDevice1)); verify(mAdapterService).sendBroadcast(mIntentArgument.capture(), mStringArgument.capture()); verifyBatteryLevelChangedIntent(mDevice1, 37, mIntentArgument); verifyBatteryLevelChangedIntent(mDevice1, 42, mIntentArgument); Assert.assertEquals(AdapterService.BLUETOOTH_PERM, mStringArgument.getValue()); } Loading Loading @@ -364,8 +364,11 @@ public class RemoteDevicesTest { @Test public void testGetBatteryLevelFromXEventVsc() { Assert.assertEquals(37, RemoteDevices.getBatteryLevelFromXEventVsc(getXEventArray(3, 8))); Assert.assertEquals(100, RemoteDevices.getBatteryLevelFromXEventVsc(getXEventArray(1, 1))); Assert.assertEquals(42, RemoteDevices.getBatteryLevelFromXEventVsc(getXEventArray(3, 8))); Assert.assertEquals(100, RemoteDevices.getBatteryLevelFromXEventVsc(getXEventArray(10, 11))); Assert.assertEquals(BluetoothDevice.BATTERY_LEVEL_UNKNOWN, RemoteDevices.getBatteryLevelFromXEventVsc(getXEventArray(1, 1))); Assert.assertEquals(BluetoothDevice.BATTERY_LEVEL_UNKNOWN, RemoteDevices.getBatteryLevelFromXEventVsc(getXEventArray(3, 1))); Assert.assertEquals(BluetoothDevice.BATTERY_LEVEL_UNKNOWN, Loading Loading
src/com/android/bluetooth/btservice/RemoteDevices.java +2 −2 Original line number Diff line number Diff line Loading @@ -829,13 +829,13 @@ final class RemoteDevices { } int batteryLevel = (Integer) args[1]; int numberOfLevels = (Integer) args[2]; if (batteryLevel < 0 || numberOfLevels < 0 || batteryLevel > numberOfLevels) { if (batteryLevel < 0 || numberOfLevels <= 1 || batteryLevel > numberOfLevels) { Log.w(TAG, "getBatteryLevelFromXEventVsc() wrong event value, batteryLevel=" + String.valueOf(batteryLevel) + ", numberOfLevels=" + String.valueOf( numberOfLevels)); return BluetoothDevice.BATTERY_LEVEL_UNKNOWN; } return batteryLevel * 100 / numberOfLevels; return batteryLevel * 100 / (numberOfLevels - 1); } private static void errorLog(String msg) { Loading
tests/unit/src/com/android/bluetooth/btservice/RemoteDevicesTest.java +6 −3 Original line number Diff line number Diff line Loading @@ -336,7 +336,7 @@ public class RemoteDevicesTest { BluetoothAssignedNumbers.PLANTRONICS, BluetoothHeadset.AT_CMD_TYPE_SET, getXEventArray(3, 8), mDevice1)); verify(mAdapterService).sendBroadcast(mIntentArgument.capture(), mStringArgument.capture()); verifyBatteryLevelChangedIntent(mDevice1, 37, mIntentArgument); verifyBatteryLevelChangedIntent(mDevice1, 42, mIntentArgument); Assert.assertEquals(AdapterService.BLUETOOTH_PERM, mStringArgument.getValue()); } Loading Loading @@ -364,8 +364,11 @@ public class RemoteDevicesTest { @Test public void testGetBatteryLevelFromXEventVsc() { Assert.assertEquals(37, RemoteDevices.getBatteryLevelFromXEventVsc(getXEventArray(3, 8))); Assert.assertEquals(100, RemoteDevices.getBatteryLevelFromXEventVsc(getXEventArray(1, 1))); Assert.assertEquals(42, RemoteDevices.getBatteryLevelFromXEventVsc(getXEventArray(3, 8))); Assert.assertEquals(100, RemoteDevices.getBatteryLevelFromXEventVsc(getXEventArray(10, 11))); Assert.assertEquals(BluetoothDevice.BATTERY_LEVEL_UNKNOWN, RemoteDevices.getBatteryLevelFromXEventVsc(getXEventArray(1, 1))); Assert.assertEquals(BluetoothDevice.BATTERY_LEVEL_UNKNOWN, RemoteDevices.getBatteryLevelFromXEventVsc(getXEventArray(3, 1))); Assert.assertEquals(BluetoothDevice.BATTERY_LEVEL_UNKNOWN, Loading