Merge "Shows main_battery information for not untethered device" into udc-dev

This commit is contained in:
SongFerng Wang
2023-05-04 05:47:59 +00:00
committed by Android (Google) Code Review

View File

@@ -107,10 +107,9 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
new BluetoothAdapter.OnMetadataChangedListener() { new BluetoothAdapter.OnMetadataChangedListener() {
@Override @Override
public void onMetadataChanged(BluetoothDevice device, int key, byte[] value) { public void onMetadataChanged(BluetoothDevice device, int key, byte[] value) {
if (DEBUG) { Log.d(TAG, String.format("Metadata updated in Device %s: %d = %s.",
Log.d(TAG, String.format("Metadata updated in Device %s: %d = %s.", device, device.getAnonymizedAddress(),
key, value == null ? null : new String(value))); key, value == null ? null : new String(value)));
}
refresh(); refresh();
} }
}; };
@@ -276,11 +275,22 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
} }
final int batteryLevel = BluetoothUtils.getIntMetaData(bluetoothDevice, batteryMetaKey); final int batteryLevel = BluetoothUtils.getIntMetaData(bluetoothDevice, batteryMetaKey);
final boolean charging = BluetoothUtils.getBooleanMetaData(bluetoothDevice, chargeMetaKey); final boolean charging = BluetoothUtils.getBooleanMetaData(bluetoothDevice, chargeMetaKey);
if (DEBUG) { int lowBatteryLevel = BluetoothUtils.getIntMetaData(bluetoothDevice,
Log.d(TAG, "updateSubLayout() icon : " + iconMetaKey + ", battery : " + batteryMetaKey lowBatteryMetaKey);
+ ", charge : " + chargeMetaKey + ", batteryLevel : " + batteryLevel if (lowBatteryLevel == BluetoothUtils.META_INT_ERROR) {
+ ", charging : " + charging + ", iconUri : " + iconUri); if (batteryMetaKey == BluetoothDevice.METADATA_UNTETHERED_CASE_BATTERY) {
lowBatteryLevel = CASE_LOW_BATTERY_LEVEL;
} else {
lowBatteryLevel = LOW_BATTERY_LEVEL;
} }
}
Log.d(TAG, "buletoothDevice: " + bluetoothDevice.getAnonymizedAddress()
+ ", updateSubLayout() icon : " + iconMetaKey + ", battery : " + batteryMetaKey
+ ", charge : " + chargeMetaKey + ", batteryLevel : " + batteryLevel
+ ", charging : " + charging + ", iconUri : " + iconUri
+ ", lowBatteryLevel : " + lowBatteryLevel);
if (deviceId == LEFT_DEVICE_ID || deviceId == RIGHT_DEVICE_ID) { if (deviceId == LEFT_DEVICE_ID || deviceId == RIGHT_DEVICE_ID) {
showBatteryPredictionIfNecessary(linearLayout, deviceId, batteryLevel); showBatteryPredictionIfNecessary(linearLayout, deviceId, batteryLevel);
} }
@@ -291,15 +301,6 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
batterySummaryView.setText( batterySummaryView.setText(
com.android.settings.Utils.formatPercentage(batteryLevel)); com.android.settings.Utils.formatPercentage(batteryLevel));
batterySummaryView.setVisibility(View.VISIBLE); batterySummaryView.setVisibility(View.VISIBLE);
int lowBatteryLevel = BluetoothUtils.getIntMetaData(bluetoothDevice,
lowBatteryMetaKey);
if (lowBatteryLevel == BluetoothUtils.META_INT_ERROR) {
if (batteryMetaKey == BluetoothDevice.METADATA_UNTETHERED_CASE_BATTERY) {
lowBatteryLevel = CASE_LOW_BATTERY_LEVEL;
} else {
lowBatteryLevel = LOW_BATTERY_LEVEL;
}
}
showBatteryIcon(linearLayout, batteryLevel, lowBatteryLevel, charging); showBatteryIcon(linearLayout, batteryLevel, lowBatteryLevel, charging);
} else { } else {
if (deviceId == MAIN_DEVICE_ID) { if (deviceId == MAIN_DEVICE_ID) {
@@ -319,9 +320,17 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
linearLayout.setVisibility(View.GONE); linearLayout.setVisibility(View.GONE);
} }
} }
} else {
if (batteryLevel != BluetoothUtils.META_INT_ERROR) {
linearLayout.setVisibility(View.VISIBLE);
batterySummaryView.setText(
com.android.settings.Utils.formatPercentage(batteryLevel));
batterySummaryView.setVisibility(View.VISIBLE);
showBatteryIcon(linearLayout, batteryLevel, lowBatteryLevel, charging);
} else { } else {
batterySummaryView.setVisibility(View.GONE); batterySummaryView.setVisibility(View.GONE);
} }
}
final TextView textView = linearLayout.findViewById(R.id.header_title); final TextView textView = linearLayout.findViewById(R.id.header_title);
if (deviceId == MAIN_DEVICE_ID) { if (deviceId == MAIN_DEVICE_ID) {
textView.setVisibility(View.GONE); textView.setVisibility(View.GONE);