am 9edc4e89: GestureOverlayView was not invalidating itself when calling clear(false). Calling clear(true) was working properly. This change also makes clear(false) and clear(true) both behave similarly when fireActionPerformed == true.
Merge commit '9edc4e8930273d9bb3b5e9cb73c219e012de8ffb'
* commit '9edc4e8930273d9bb3b5e9cb73c219e012de8ffb':
GestureOverlayView was not invalidating itself when calling clear(false). Calling clear(true) was working properly. This change also makes clear(false) and clear(true) both behave similarly when fireActionPerformed == true.
diff --git a/core/java/android/gesture/GestureOverlayView.java b/core/java/android/gesture/GestureOverlayView.java
index 1a82095..c21cc55 100755
--- a/core/java/android/gesture/GestureOverlayView.java
+++ b/core/java/android/gesture/GestureOverlayView.java
@@ -354,19 +354,28 @@
private void clear(boolean animated, boolean fireActionPerformed) {
setPaintAlpha(255);
+ removeCallbacks(mFadingOut);
+ mFadingOut.fireActionPerformed = fireActionPerformed;
+
if (animated && mCurrentGesture != null) {
- if (mFadeEnabled) {
- mFadingAlpha = 1.0f;
- mIsFadingOut = true;
- mFadingHasStarted = false;
- mFadingOut.fireActionPerformed = fireActionPerformed;
- removeCallbacks(mFadingOut);
- mFadingStart = AnimationUtils.currentAnimationTimeMillis() + mFadeOffset;
- }
+ mFadingAlpha = 1.0f;
+ mIsFadingOut = true;
+ mFadingHasStarted = false;
+ mFadingStart = AnimationUtils.currentAnimationTimeMillis() + mFadeOffset;
+
postDelayed(mFadingOut, mFadeOffset);
} else {
- mPath.rewind();
- mCurrentGesture = null;
+ mFadingAlpha = 1.0f;
+ mIsFadingOut = false;
+ mFadingHasStarted = false;
+
+ if (fireActionPerformed) {
+ post(mFadingOut);
+ } else {
+ mCurrentGesture = null;
+ mPath.rewind();
+ invalidate();
+ }
}
}
@@ -598,7 +607,7 @@
}
if (mHandleGestureActions) {
- clear(true, mIsGesturing);
+ clear(mFadeEnabled, mIsGesturing);
}
} else {
// pass the event to handlers
@@ -650,17 +659,16 @@
setPaintAlpha((int) (255 * mFadingAlpha));
postDelayed(this, FADE_ANIMATION_RATE);
}
-
- invalidate();
- } else if (!mFadeEnabled) {
+ } else {
fireOnGesturePerformed();
- mIsFadingOut = false;
mFadingHasStarted = false;
mPath.rewind();
mCurrentGesture = null;
setPaintAlpha(255);
}
+
+ invalidate();
}
}