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

Commit 608f7c98 authored by Michael Kolb's avatar Michael Kolb Committed by Android (Google) Code Review
Browse files

Merge "More menu fixes" into gb-ub-photos-bryce

parents d6e6533a ed97a5eb
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -82,8 +82,8 @@
    <dimen name="pie_arc_offset">48dp</dimen>
    <dimen name="pie_item_radius">370dp</dimen>
    <dimen name="pie_arc_radius">214dp</dimen>
    <dimen name="pie_deadzone_width">48dp</dimen>
    <dimen name="pie_anglezone_width">80dp</dimen>
    <dimen name="pie_deadzone_width">36dp</dimen>
    <dimen name="pie_anglezone_width">92dp</dimen>
    <dimen name="focus_radius_offset">8dp</dimen>
    <dimen name="focus_inner_offset">24dp</dimen>
    <dimen name="focus_outer_stroke">3dp</dimen>
+23 −3
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.Typeface;
import android.graphics.Paint.Align;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
@@ -36,6 +37,7 @@ public class TextDrawable extends Drawable {
    private CharSequence mText;
    private int mIntrinsicWidth;
    private int mIntrinsicHeight;
    private boolean mUseDropShadow;

    public TextDrawable(Resources res) {
        this(res, "");
@@ -43,9 +45,7 @@ public class TextDrawable extends Drawable {

    public TextDrawable(Resources res, CharSequence text) {
        mText = text;
        mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
        mPaint.setColor(DEFAULT_COLOR);
        mPaint.setTextAlign(Align.CENTER);
        updatePaint();
        float textSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
                DEFAULT_TEXTSIZE, res.getDisplayMetrics());
        mPaint.setTextSize(textSize);
@@ -53,6 +53,21 @@ public class TextDrawable extends Drawable {
        mIntrinsicHeight = mPaint.getFontMetricsInt(null);
    }

    private void updatePaint() {
        if (mPaint == null) {
            mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
        }
        mPaint.setColor(DEFAULT_COLOR);
        mPaint.setTextAlign(Align.CENTER);
        if (mUseDropShadow) {
            mPaint.setTypeface(Typeface.DEFAULT_BOLD);
            mPaint.setShadowLayer(10, 0, 0, 0xff000000);
        } else {
            mPaint.setTypeface(Typeface.DEFAULT);
            mPaint.setShadowLayer(0, 0, 0, 0);
        }
    }

    public void setText(CharSequence txt) {
        mText = txt;
        if (txt == null) {
@@ -73,6 +88,11 @@ public class TextDrawable extends Drawable {
        }
    }

    public void setDropShadow(boolean shadow) {
        mUseDropShadow = shadow;
        updatePaint();
    }

    @Override
    public int getOpacity() {
        return mPaint.getAlpha();
+6 −5
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ public class PieRenderer extends OverlayRenderer
    private static final int MSG_OPENSUBMENU = 2;

    protected static float CENTER = (float) Math.PI / 2;
    protected static float RAD20 = (float)(Math.PI /9); // 20 degrees
    protected static float RAD24 = (float)(24 * Math.PI / 180);
    protected static final float SWEEP_SLICE = 0.14f;
    protected static final float SWEEP_ARC = 0.23f;

@@ -220,6 +220,7 @@ public class PieRenderer extends OverlayRenderer
        mArcRadius = res.getDimensionPixelSize(R.dimen.pie_arc_radius);
        mArcOffset = res.getDimensionPixelSize(R.dimen.pie_arc_offset);
        mLabel = new TextDrawable(res);
        mLabel.setDropShadow(true);
        mDeadZone = res.getDimensionPixelSize(R.dimen.pie_deadzone_width);
        mAngleZone = res.getDimensionPixelSize(R.dimen.pie_anglezone_width);
    }
@@ -340,7 +341,7 @@ public class PieRenderer extends OverlayRenderer

    private void resetPieCenter() {
        mPieCenterX = mCenterX;
        mPieCenterY = mCenterY + mCenterY / 3;
        mPieCenterY = (int) (getHeight() - 2.5f * mDeadZone);
    }

    private void layoutPie() {
@@ -413,10 +414,10 @@ public class PieRenderer extends OverlayRenderer
    private float getCenterAngle() {
        float center = CENTER;
        if (mPieCenterX < mDeadZone + mAngleZone) {
            center = CENTER - (mAngleZone - mPieCenterX + mDeadZone) * RAD20
            center = CENTER - (mAngleZone - mPieCenterX + mDeadZone) * RAD24
                    / (float) mAngleZone;
        } else if (mPieCenterX > getWidth() - mDeadZone - mAngleZone) {
            center = CENTER + (mPieCenterX - (getWidth() - mDeadZone - mAngleZone)) * RAD20
            center = CENTER + (mPieCenterX - (getWidth() - mDeadZone - mAngleZone)) * RAD24
                    / (float) mAngleZone;
        }
        return center;
@@ -757,6 +758,7 @@ public class PieRenderer extends OverlayRenderer
    private void openCurrentItem() {
        if ((mCurrentItem != null) && mCurrentItem.hasItems()) {
            mOpen.add(mCurrentItem);
            layoutLabel(getLevel());
            mOpening = true;
            if (mFadeIn != null) {
                mFadeIn.cancel();
@@ -774,7 +776,6 @@ public class PieRenderer extends OverlayRenderer
                    mXFade = null;
                    ci.setSelected(false);
                    mOpening = false;
                    mLabel.setText("");
                }

                @Override