Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2cd25cfc authored by jackqdyulei's avatar jackqdyulei Committed by android-build-merger
Browse files

Reuse the BluetoothBatteryDrawable in QS detail

am: 4b7f43bc

Change-Id: Ie5fd81010fae4660bb0fdd5d6d061fa535d86150
parents 3b997d07 4b7f43bc
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.android.systemui.FontSizeUtils;
import com.android.systemui.R;
import com.android.systemui.plugins.qs.QSTile;

/**
 * Quick settings common detail view with line items.
@@ -185,7 +186,7 @@ public class QSDetailItems extends FrameLayout {
            view.setVisibility(mItemsVisible ? VISIBLE : INVISIBLE);
            final ImageView iv = (ImageView) view.findViewById(android.R.id.icon);
            if (item.iconDrawable != null) {
                iv.setImageDrawable(item.iconDrawable);
                iv.setImageDrawable(item.iconDrawable.getDrawable(iv.getContext()));
            } else {
                iv.setImageResource(item.icon);
            }
@@ -258,7 +259,7 @@ public class QSDetailItems extends FrameLayout {

    public static class Item {
        public int icon;
        public Drawable iconDrawable;
        public QSTile.Icon iconDrawable;
        public Drawable overlay;
        public CharSequence line1;
        public CharSequence line2;
+11 −6
Original line number Diff line number Diff line
@@ -134,7 +134,9 @@ public class BluetoothTile extends QSTileImpl<BooleanState> {
                if (lastDevice != null) {
                    int batteryLevel = lastDevice.getBatteryLevel();
                    if (batteryLevel != BluetoothDevice.BATTERY_LEVEL_UNKNOWN) {
                        state.icon = new BluetoothBatteryDrawable(batteryLevel);
                        state.icon = new BluetoothBatteryDrawable(batteryLevel,
                                mContext.getResources().getFraction(
                                        R.fraction.bt_battery_scale_fraction, 1, 1));
                    }
                }
                state.contentDescription = mContext.getString(
@@ -212,17 +214,21 @@ public class BluetoothTile extends QSTileImpl<BooleanState> {

    private class BluetoothBatteryDrawable extends Icon {
        private int mLevel;
        private float mIconScale;

        BluetoothBatteryDrawable(int level) {
            this(level, 1 /* iconScale */);
        }

        BluetoothBatteryDrawable(int level, float iconScale) {
            mLevel = level;
            mIconScale = iconScale;
        }

        @Override
        public Drawable getDrawable(Context context) {
            return createLayerDrawable(context,
                    R.drawable.ic_qs_bluetooth_connected, mLevel,
                    context.getResources().getFraction(
                            R.fraction.bt_battery_scale_fraction, 1, 1));
                    R.drawable.ic_qs_bluetooth_connected, mLevel, mIconScale);
        }
    }

@@ -304,8 +310,7 @@ public class BluetoothTile extends QSTileImpl<BooleanState> {
                        item.icon = R.drawable.ic_qs_bluetooth_connected;
                        int batteryLevel = device.getBatteryLevel();
                        if (batteryLevel != BluetoothDevice.BATTERY_LEVEL_UNKNOWN) {
                            item.iconDrawable = createLayerDrawable(mContext, item.icon,
                                    batteryLevel);
                            item.iconDrawable = new BluetoothBatteryDrawable(batteryLevel);
                            item.line2 = mContext.getString(
                                    R.string.quick_settings_connected_battery_level,
                                    Utils.formatPercentage(batteryLevel));