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.
This commit is contained in:
@@ -1145,6 +1145,17 @@
|
||||
visibility="public"
|
||||
>
|
||||
</field>
|
||||
<field name="WRITE_EXTERNAL_STORAGE"
|
||||
type="java.lang.String"
|
||||
transient="false"
|
||||
volatile="false"
|
||||
value=""android.permission.WRITE_EXTERNAL_STORAGE""
|
||||
static="true"
|
||||
final="true"
|
||||
deprecated="not deprecated"
|
||||
visibility="public"
|
||||
>
|
||||
</field>
|
||||
<field name="WRITE_GSERVICES"
|
||||
type="java.lang.String"
|
||||
transient="false"
|
||||
@@ -1167,17 +1178,6 @@
|
||||
visibility="public"
|
||||
>
|
||||
</field>
|
||||
<field name="WRITE_EXTERNAL_STORAGE"
|
||||
type="java.lang.String"
|
||||
transient="false"
|
||||
volatile="false"
|
||||
value=""android.permission.WRITE_EXTERNAL_STORAGE""
|
||||
static="true"
|
||||
final="true"
|
||||
deprecated="not deprecated"
|
||||
visibility="public"
|
||||
>
|
||||
</field>
|
||||
<field name="WRITE_SECURE_SETTINGS"
|
||||
type="java.lang.String"
|
||||
transient="false"
|
||||
@@ -46738,6 +46738,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"
|
||||
@@ -46938,6 +46951,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"
|
||||
@@ -46964,6 +46988,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"
|
||||
@@ -47243,6 +47280,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"
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user