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

Commit e52b3659 authored by Romain Guy's avatar Romain Guy Committed by The Android Open Source Project
Browse files

am 9af0b4f7: Add new listener to GestureOverlayView. This listener fires...

am 9af0b4f7: Add new listener to GestureOverlayView. This listener fires whenever the overlay thinks the user is starting a new gesture. This allows Home to snap the workspace back to its original position during a gesture operation.

Merge commit '9af0b4f7'

* commit '9af0b4f7':
  Add new listener to GestureOverlayView. This listener fires whenever the overlay thinks the user is starting a new gesture. This allows Home to snap the workspace back to its original position during a gesture operation.
parents ab304022 9af0b4f7
Loading
Loading
Loading
Loading
+71 −0
Original line number Diff line number Diff line
@@ -50084,6 +50084,19 @@
<parameter name="listener" type="android.gesture.GestureOverlayView.OnGesturePerformedListener">
</parameter>
</method>
<method name="addOnGesturingListener"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="listener" type="android.gesture.GestureOverlayView.OnGesturingListener">
</parameter>
</method>
<method name="cancelClearAnimation"
 return="void"
 abstract="false"
@@ -50284,6 +50297,17 @@
 visibility="public"
>
</method>
<method name="removeAllOnGesturingListeners"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
</method>
<method name="removeOnGestureListener"
 return="void"
 abstract="false"
@@ -50310,6 +50334,19 @@
<parameter name="listener" type="android.gesture.GestureOverlayView.OnGesturePerformedListener">
</parameter>
</method>
<method name="removeOnGesturingListener"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="listener" type="android.gesture.GestureOverlayView.OnGesturingListener">
</parameter>
</method>
<method name="setEventsInterceptionEnabled"
 return="void"
 abstract="false"
@@ -50589,6 +50626,40 @@
</parameter>
</method>
</interface>
<interface name="GestureOverlayView.OnGesturingListener"
 abstract="true"
 static="true"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<method name="onGesturingEnded"
 return="void"
 abstract="true"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="overlay" type="android.gesture.GestureOverlayView">
</parameter>
</method>
<method name="onGesturingStarted"
 return="void"
 abstract="true"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="overlay" type="android.gesture.GestureOverlayView">
</parameter>
</method>
</interface>
<class name="GesturePoint"
 extends="java.lang.Object"
 abstract="false"
+42 −5
Original line number Diff line number Diff line
@@ -106,6 +106,9 @@ public class GestureOverlayView extends FrameLayout {
    // TODO: Make this a list of WeakReferences
    private final ArrayList<OnGesturePerformedListener> mOnGesturePerformedListeners =
            new ArrayList<OnGesturePerformedListener>();
    // TODO: Make this a list of WeakReferences
    private final ArrayList<OnGesturingListener> mOnGesturingListeners =
            new ArrayList<OnGesturingListener>();

    private boolean mHandleGestureActions;

@@ -319,6 +322,18 @@ public class GestureOverlayView extends FrameLayout {
        mHandleGestureActions = false;
    }

    public void addOnGesturingListener(OnGesturingListener listener) {
        mOnGesturingListeners.add(listener);
    }

    public void removeOnGesturingListener(OnGesturingListener listener) {
        mOnGesturingListeners.remove(listener);
    }

    public void removeAllOnGesturingListeners() {
        mOnGesturingListeners.clear();
    }

    public boolean isGesturing() {
        return mIsGesturing;
    }
@@ -401,7 +416,7 @@ public class GestureOverlayView extends FrameLayout {
                MotionEvent.ACTION_CANCEL, 0.0f, 0.0f, 0);

        final ArrayList<OnGestureListener> listeners = mOnGestureListeners;
        final int count = listeners.size();
        int count = listeners.size();
        for (int i = 0; i < count; i++) {
            listeners.get(i).onGestureCancelled(this, event);
        }
@@ -411,6 +426,12 @@ public class GestureOverlayView extends FrameLayout {
        clear(false);
        mIsGesturing = false;
        mStrokeBuffer.clear();

        final ArrayList<OnGesturingListener> otherListeners = mOnGesturingListeners;
        count = otherListeners.size();
        for (int i = 0; i < count; i++) {
            otherListeners.get(i).onGesturingEnded(this);
        }
    }

    @Override
@@ -577,6 +598,12 @@ public class GestureOverlayView extends FrameLayout {

                        mIsGesturing = true;
                        setCurrentColor(mCertainGestureColor);

                        final ArrayList<OnGesturingListener> listeners = mOnGesturingListeners;
                        int count = listeners.size();
                        for (int i = 0; i < count; i++) {
                            listeners.get(i).onGesturingStarted(this);
                        }
                    }
                }
            }
@@ -621,6 +648,12 @@ public class GestureOverlayView extends FrameLayout {

        mStrokeBuffer.clear();
        mIsGesturing = false;

        final ArrayList<OnGesturingListener> listeners = mOnGesturingListeners;
        int count = listeners.size();
        for (int i = 0; i < count; i++) {
            listeners.get(i).onGesturingEnded(this);
        }
    }

    private void cancelGesture(MotionEvent event) {
@@ -635,12 +668,10 @@ public class GestureOverlayView extends FrameLayout {
    }

    private void fireOnGesturePerformed() {
        final ArrayList<OnGesturePerformedListener> actionListeners =
                mOnGesturePerformedListeners;
        final ArrayList<OnGesturePerformedListener> actionListeners = mOnGesturePerformedListeners;
        final int count = actionListeners.size();
        for (int i = 0; i < count; i++) {
            actionListeners.get(i).onGesturePerformed(GestureOverlayView.this,
                    mCurrentGesture);
            actionListeners.get(i).onGesturePerformed(GestureOverlayView.this, mCurrentGesture);
        }
    }

@@ -683,6 +714,12 @@ public class GestureOverlayView extends FrameLayout {
        }
    }

    public static interface OnGesturingListener {
        void onGesturingStarted(GestureOverlayView overlay);

        void onGesturingEnded(GestureOverlayView overlay);
    }

    public static interface OnGestureListener {
        void onGestureStarted(GestureOverlayView overlay, MotionEvent event);