From c71f996da97a520a90afbccac4eb4d4d16435bec Mon Sep 17 00:00:00 2001 From: timhypeng Date: Thu, 14 Nov 2019 10:53:32 +0800 Subject: [PATCH] Battery icon is too large -sync layout from SystemUI Bug: 141139595 Test: make -j42 RunSettingsRoboTests Change-Id: I5e165e953682fcfdebf0d06475bb1abd171684d9 --- res/layout/advanced_bt_entity_sub.xml | 5 +++-- res/values/dimens.xml | 4 ++++ .../AdvancedBluetoothDetailsHeaderController.java | 8 ++++++-- src/com/android/settings/fuelgauge/BatteryMeterView.java | 7 +++++++ 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/res/layout/advanced_bt_entity_sub.xml b/res/layout/advanced_bt_entity_sub.xml index 359d68bda7a..17ef865a62f 100644 --- a/res/layout/advanced_bt_entity_sub.xml +++ b/res/layout/advanced_bt_entity_sub.xml @@ -53,8 +53,9 @@ android:orientation="horizontal"> + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center"/> 16sp + + + 7.5dp + 13dp diff --git a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java index e245c22eb96..bc5f8ef0e8c 100644 --- a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java +++ b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java @@ -182,14 +182,18 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont Drawable createBtBatteryIcon(Context context, int level, boolean charging) { final BatteryMeterView.BatteryMeterDrawable drawable = new BatteryMeterView.BatteryMeterDrawable(context, - context.getColor(R.color.meter_background_color)); + context.getColor(R.color.meter_background_color), + context.getResources().getDimensionPixelSize( + R.dimen.advanced_bluetooth_battery_meter_width), + context.getResources().getDimensionPixelSize( + R.dimen.advanced_bluetooth_battery_meter_height)); drawable.setBatteryLevel(level); final int attr = level > LOW_BATTERY_LEVEL || charging ? android.R.attr.colorControlNormal : android.R.attr.colorError; drawable.setColorFilter(new PorterDuffColorFilter( com.android.settings.Utils.getColorAttrDefaultColor(context, attr), - PorterDuff.Mode.SRC_IN)); + PorterDuff.Mode.SRC)); drawable.setCharging(charging); return drawable; diff --git a/src/com/android/settings/fuelgauge/BatteryMeterView.java b/src/com/android/settings/fuelgauge/BatteryMeterView.java index dc30c28ace9..d54f5a4e2e0 100644 --- a/src/com/android/settings/fuelgauge/BatteryMeterView.java +++ b/src/com/android/settings/fuelgauge/BatteryMeterView.java @@ -117,6 +117,13 @@ public class BatteryMeterView extends ImageView { .getDimensionPixelSize(R.dimen.battery_meter_height); } + public BatteryMeterDrawable(Context context, int frameColor, int width, int height) { + super(context, frameColor); + + mIntrinsicWidth = width; + mIntrinsicHeight = height; + } + @Override public int getIntrinsicWidth() { return mIntrinsicWidth;