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

Commit b973eef2 authored by Romain Guy's avatar Romain Guy
Browse files

Fixes #1899284 and #1899287. Give applications more control over the gesture's path.

This change adds new APIs to control the gesture's path by deciding whether the
path should be drawn and by getting the ability to get the Path itself and
draw it differently.
parent a6061e04
Loading
Loading
Loading
Loading
+27 −9
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@ public class GestureOverlayView extends FrameLayout {

    private final Rect mInvalidRect = new Rect();
    private final Path mPath = new Path();
    private boolean mGestureVisible;

    private float mX;
    private float mY;
@@ -274,14 +275,6 @@ public class GestureOverlayView extends FrameLayout {
        return mCurrentGesture;
    }

    public long getFadeOffset() {
        return mFadeOffset;
    }

    public void setFadeOffset(long fadeOffset) {
        mFadeOffset = fadeOffset;
    }

    public void setGesture(Gesture gesture) {
        if (mCurrentGesture != null) {
            clear(false);
@@ -304,6 +297,31 @@ public class GestureOverlayView extends FrameLayout {
        invalidate();
    }

    public Path getGesturePath() {
        return mPath;
    }

    public Path getGesturePath(Path path) {
        path.set(mPath);
        return path;
    }

    public boolean isGestureVisible() {
        return mGestureVisible;
    }

    public void setGestureVisible(boolean visible) {
        mGestureVisible = visible;
    }

    public long getFadeOffset() {
        return mFadeOffset;
    }

    public void setFadeOffset(long fadeOffset) {
        mFadeOffset = fadeOffset;
    }

    public void addOnGestureListener(OnGestureListener listener) {
        mOnGestureListeners.add(listener);
    }
@@ -372,7 +390,7 @@ public class GestureOverlayView extends FrameLayout {
    public void draw(Canvas canvas) {
        super.draw(canvas);

        if (mCurrentGesture != null) {
        if (mCurrentGesture != null && mGestureVisible) {
            canvas.drawPath(mPath, mGesturePaint);
        }
    }