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

Commit a5e25860 authored by Xinyi Mao's avatar Xinyi Mao Committed by Automerger Merge Worker
Browse files

Merge "Add 25% and 75% lines to improve the readability of the battery level...

Merge "Add 25% and 75% lines to improve the readability of the battery level as a short-term fix." into udc-qpr-dev am: 6c12390b

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24037114



Change-Id: Ia9abd00ab92335a2752b053e06861e2cedcf0b57
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 486451e9 6c12390b
Loading
Loading
Loading
Loading
+17 −15
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ public class BatteryChartView extends AppCompatImageView implements View.OnClick
    private static final String TAG = "BatteryChartView";

    private static final int DIVIDER_COLOR = Color.parseColor("#CDCCC5");
    private static final int HORIZONTAL_DIVIDER_COUNT = 5;

    /** A callback listener for selected group index is updated. */
    public interface OnSelectListener {
@@ -335,23 +336,24 @@ public class BatteryChartView extends AppCompatImageView implements View.OnClick
    private void drawHorizontalDividers(Canvas canvas) {
        final int width = getWidth() - mIndent.right;
        final int height = getHeight() - mIndent.top - mIndent.bottom;
        // Draws the top divider line for 100% curve.
        float offsetY = mIndent.top + mDividerWidth * .5f;
        final float topOffsetY = mIndent.top + mDividerWidth * .5f;
        final float bottomOffsetY = mIndent.top + (height - mDividerHeight - mDividerWidth * .5f);
        final float availableSpace = bottomOffsetY - topOffsetY;

        mDividerPaint.setColor(DIVIDER_COLOR);
        canvas.drawLine(0, offsetY, width, offsetY, mDividerPaint);
        drawPercentage(canvas, /*index=*/ 0, offsetY);
        final float dividerOffsetUnit =
                availableSpace / (float) (HORIZONTAL_DIVIDER_COUNT - 1);

        // Draws the center divider line for 50% curve.
        final float availableSpace =
                height - mDividerWidth * 2 - mTrapezoidVOffset - mDividerHeight;
        offsetY = mIndent.top + mDividerWidth + availableSpace * .5f;
        // Draws 5 divider lines.
        for (int index = 0; index < HORIZONTAL_DIVIDER_COUNT; index++) {
            float offsetY = topOffsetY + dividerOffsetUnit * index;
            canvas.drawLine(0, offsetY, width, offsetY, mDividerPaint);
        drawPercentage(canvas, /*index=*/ 1, offsetY);

        // Draws the bottom divider line for 0% curve.
        offsetY = mIndent.top + (height - mDividerHeight - mDividerWidth * .5f);
        canvas.drawLine(0, offsetY, width, offsetY, mDividerPaint);
        drawPercentage(canvas, /*index=*/ 2, offsetY);
            //  Draws percentage text only for 100% / 50% / 0%
            if (index % 2 == 0) {
                drawPercentage(canvas, /*index=*/ (index + 1) / 2, offsetY);
            }
        }
    }

    private void drawPercentage(Canvas canvas, int index, float offsetY) {