From b6b29c1af0e4bd61e070b310e4c781c54ecd2d7a Mon Sep 17 00:00:00 2001 From: timhypeng Date: Thu, 14 Nov 2019 10:53:32 +0800 Subject: [PATCH 1/2] Battery icon is too large -sync layout from SystemUI Bug: 141139595 Test: make -j42 RunSettingsRoboTests Change-Id: I5e165e953682fcfdebf0d06475bb1abd171684d9 (cherry picked from commit c71f996da97a520a90afbccac4eb4d4d16435bec) Merged-In: I5e165e953682fcfdebf0d06475bb1abd171684d9 --- res/layout/advanced_bt_entity_sub.xml | 5 +++-- res/values/dimens.xml | 7 +++++++ .../AdvancedBluetoothDetailsHeaderController.java | 15 +++++++++++---- .../settings/fuelgauge/BatteryMeterView.java | 7 +++++++ 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/res/layout/advanced_bt_entity_sub.xml b/res/layout/advanced_bt_entity_sub.xml index 0f305830bdf..f36379aa2dc 100644 --- a/res/layout/advanced_bt_entity_sub.xml +++ b/res/layout/advanced_bt_entity_sub.xml @@ -51,8 +51,9 @@ android:orientation="horizontal"> + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center"/> 320dp + + + 16sp + + + 7.5dp + 13dp diff --git a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java index 6817d0d3ee3..86196fd0584 100644 --- a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java +++ b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java @@ -60,6 +60,7 @@ import java.util.Map; public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceController implements LifecycleObserver, OnStart, OnStop, OnDestroy, CachedBluetoothDevice.Callback { private static final String TAG = "AdvancedBtHeaderCtrl"; + private static final int LOW_BATTERY_LEVEL = 20; @VisibleForTesting LayoutPreference mLayoutPreference; @@ -180,12 +181,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, - android.R.attr.colorControlNormal), - PorterDuff.Mode.SRC_IN)); + com.android.settings.Utils.getColorAttrDefaultColor(context, attr), + 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; From 953eb229c016a70010b25c09fd68db3a5193b6c7 Mon Sep 17 00:00:00 2001 From: timhypeng Date: Fri, 15 Nov 2019 12:01:26 +0800 Subject: [PATCH 2/2] Sync dimen from SystemUI Bug: 141139595 Test: manual Change-Id: Ifa9a31750b9a926e09aec9262aa89e8de66c91e2 (cherry picked from commit 3dd4f2cc19f4390db253e121a24157d4169b3a7a) Merged-In: Ifa9a31750b9a926e09aec9262aa89e8de66c91e2 --- res/values/dimens.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 042d2f4c930..31a159220e8 100755 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -419,6 +419,6 @@ 16sp - 7.5dp + 7.8dp 13dp