Merge changes from topic "update_battery_icon" into qt-qpr1-dev
* changes:
Sync dimen from SystemUI
Battery icon is too large
diff --git a/res/layout/advanced_bt_entity_sub.xml b/res/layout/advanced_bt_entity_sub.xml
index 0f30583..f36379a 100644
--- a/res/layout/advanced_bt_entity_sub.xml
+++ b/res/layout/advanced_bt_entity_sub.xml
@@ -51,8 +51,9 @@
android:orientation="horizontal">
<ImageView
android:id="@+id/bt_battery_icon"
- android:layout_width="13dp"
- android:layout_height="20dp"/>
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"/>
<TextView
android:id="@+id/bt_battery_summary"
style="@style/TextAppearance.EntityHeaderSummary"
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index f31a266..31a1592 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -414,4 +414,11 @@
<!-- System navigation settings illustration height -->
<dimen name="system_navigation_illustration_height">320dp</dimen>
+
+ <!-- Header title size of advanced bluetooth device -->
+ <dimen name="advanced_bluetooth_header_title_text_size">16sp</dimen>
+
+ <!-- Battery meter icon size of advanced bluetooth device -->
+ <dimen name="advanced_bluetooth_battery_meter_width">7.8dp</dimen>
+ <dimen name="advanced_bluetooth_battery_meter_height">13dp</dimen>
</resources>
diff --git a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
index 6817d0d..86196fd 100644
--- a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
@@ -60,6 +60,7 @@
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 @@
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 dc30c28..d54f5a4 100644
--- a/src/com/android/settings/fuelgauge/BatteryMeterView.java
+++ b/src/com/android/settings/fuelgauge/BatteryMeterView.java
@@ -117,6 +117,13 @@
.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;