Merge changes from topic "update_battery_icon" into qt-qpr1-dev

* changes:
  Sync dimen from SystemUI
  Battery icon is too large
This commit is contained in:
TreeHugger Robot
2019-12-06 01:05:30 +00:00
committed by Android (Google) Code Review
4 changed files with 28 additions and 6 deletions

View File

@@ -51,8 +51,9 @@
android:orientation="horizontal"> android:orientation="horizontal">
<ImageView <ImageView
android:id="@+id/bt_battery_icon" android:id="@+id/bt_battery_icon"
android:layout_width="13dp" android:layout_width="wrap_content"
android:layout_height="20dp"/> android:layout_height="wrap_content"
android:layout_gravity="center"/>
<TextView <TextView
android:id="@+id/bt_battery_summary" android:id="@+id/bt_battery_summary"
style="@style/TextAppearance.EntityHeaderSummary" style="@style/TextAppearance.EntityHeaderSummary"

View File

@@ -414,4 +414,11 @@
<!-- System navigation settings illustration height --> <!-- System navigation settings illustration height -->
<dimen name="system_navigation_illustration_height">320dp</dimen> <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> </resources>

View File

@@ -60,6 +60,7 @@ import java.util.Map;
public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceController implements public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceController implements
LifecycleObserver, OnStart, OnStop, OnDestroy, CachedBluetoothDevice.Callback { LifecycleObserver, OnStart, OnStop, OnDestroy, CachedBluetoothDevice.Callback {
private static final String TAG = "AdvancedBtHeaderCtrl"; private static final String TAG = "AdvancedBtHeaderCtrl";
private static final int LOW_BATTERY_LEVEL = 20;
@VisibleForTesting @VisibleForTesting
LayoutPreference mLayoutPreference; LayoutPreference mLayoutPreference;
@@ -180,12 +181,18 @@ public class AdvancedBluetoothDetailsHeaderController extends BasePreferenceCont
Drawable createBtBatteryIcon(Context context, int level, boolean charging) { Drawable createBtBatteryIcon(Context context, int level, boolean charging) {
final BatteryMeterView.BatteryMeterDrawable drawable = final BatteryMeterView.BatteryMeterDrawable drawable =
new BatteryMeterView.BatteryMeterDrawable(context, 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); drawable.setBatteryLevel(level);
final int attr = level > LOW_BATTERY_LEVEL || charging
? android.R.attr.colorControlNormal
: android.R.attr.colorError;
drawable.setColorFilter(new PorterDuffColorFilter( drawable.setColorFilter(new PorterDuffColorFilter(
com.android.settings.Utils.getColorAttrDefaultColor(context, com.android.settings.Utils.getColorAttrDefaultColor(context, attr),
android.R.attr.colorControlNormal), PorterDuff.Mode.SRC));
PorterDuff.Mode.SRC_IN));
drawable.setCharging(charging); drawable.setCharging(charging);
return drawable; return drawable;

View File

@@ -117,6 +117,13 @@ public class BatteryMeterView extends ImageView {
.getDimensionPixelSize(R.dimen.battery_meter_height); .getDimensionPixelSize(R.dimen.battery_meter_height);
} }
public BatteryMeterDrawable(Context context, int frameColor, int width, int height) {
super(context, frameColor);
mIntrinsicWidth = width;
mIntrinsicHeight = height;
}
@Override @Override
public int getIntrinsicWidth() { public int getIntrinsicWidth() {
return mIntrinsicWidth; return mIntrinsicWidth;