am 1b459f89: Merge "Cleaned up status bar closing handling" into lmp-mr1-dev

* commit '1b459f89a738fa913ed12fe893e435b2f6cc9416':
  Cleaned up status bar closing handling
This commit is contained in:
Selim Cinek
2014-10-24 16:48:21 +00:00
committed by Android Git Automerger
4 changed files with 41 additions and 21 deletions

View File

@@ -236,4 +236,8 @@ public class PanelBar extends FrameLayout {
public void onExpandingFinished() {
}
public void onClosingFinished() {
}
}

View File

@@ -106,7 +106,7 @@ public abstract class PanelView extends FrameLayout {
};
protected void onExpandingFinished() {
mClosing = false;
endClosing();
mBar.onExpandingFinished();
}
@@ -249,9 +249,7 @@ public abstract class PanelView extends FrameLayout {
trackMovement(event);
if (!waitForTouchSlop || (mHeightAnimator != null && !mHintAnimationRunning) ||
mPeekPending || mPeekAnimator != null) {
if (mHeightAnimator != null) {
mHeightAnimator.cancel(); // end any outstanding animations
}
cancelHeightAnimator();
cancelPeek();
mTouchSlopExceeded = (mHeightAnimator != null && !mHintAnimationRunning)
|| mPeekPending || mPeekAnimator != null;
@@ -292,9 +290,7 @@ public abstract class PanelView extends FrameLayout {
mInitialTouchY = y;
h = 0;
}
if (mHeightAnimator != null) {
mHeightAnimator.cancel(); // end any outstanding animations
}
cancelHeightAnimator();
removeCallbacks(mPeekRunnable);
mPeekPending = false;
onTrackingStarted();
@@ -371,7 +367,7 @@ public abstract class PanelView extends FrameLayout {
}
protected void onTrackingStarted() {
mClosing = false;
endClosing();
mTracking = true;
mCollapseAfterPeek = false;
mBar.onTrackingStarted(PanelView.this);
@@ -406,9 +402,7 @@ public abstract class PanelView extends FrameLayout {
mStatusBar.userActivity();
if (mHeightAnimator != null && !mHintAnimationRunning ||
mPeekPending || mPeekAnimator != null) {
if (mHeightAnimator != null) {
mHeightAnimator.cancel(); // end any outstanding animations
}
cancelHeightAnimator();
cancelPeek();
mTouchSlopExceeded = true;
return true;
@@ -440,9 +434,7 @@ public abstract class PanelView extends FrameLayout {
trackMovement(event);
if (scrolledToBottom) {
if (h < -mTouchSlop && h < -Math.abs(x - mInitialTouchX)) {
if (mHeightAnimator != null) {
mHeightAnimator.cancel();
}
cancelHeightAnimator();
mInitialOffsetOnTouch = mExpandedHeight;
mInitialTouchY = y;
mInitialTouchX = x;
@@ -460,6 +452,20 @@ public abstract class PanelView extends FrameLayout {
return false;
}
private void cancelHeightAnimator() {
if (mHeightAnimator != null) {
mHeightAnimator.cancel();
}
endClosing();
}
private void endClosing() {
if (mClosing) {
mClosing = false;
onClosingFinished();
}
}
private void initVelocityTracker() {
if (mVelocityTracker != null) {
mVelocityTracker.recycle();
@@ -699,9 +705,7 @@ public abstract class PanelView extends FrameLayout {
mPeekRunnable.run();
}
} else if (!isFullyCollapsed() && !mTracking && !mClosing) {
if (mHeightAnimator != null) {
mHeightAnimator.cancel();
}
cancelHeightAnimator();
mClosing = true;
notifyExpandingStarted();
if (delayed) {
@@ -784,13 +788,16 @@ public abstract class PanelView extends FrameLayout {
private void abortAnimations() {
cancelPeek();
if (mHeightAnimator != null) {
mHeightAnimator.cancel();
}
cancelHeightAnimator();
removeCallbacks(mPostCollapseRunnable);
removeCallbacks(mFlingCollapseRunnable);
}
protected void onClosingFinished() {
mBar.onClosingFinished();
}
protected void startUnlockHintAnimation() {
// We don't need to hint the user if an animation is already running or the user is changing

View File

@@ -3795,6 +3795,10 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
runPostCollapseRunnables();
}
public void onClosingFinished() {
runPostCollapseRunnables();
}
public void onUnlockHintStarted() {
mKeyguardIndicationController.showTransientIndication(R.string.keyguard_unlock);
}

View File

@@ -20,7 +20,6 @@ import android.content.Context;
import android.content.res.Resources;
import android.util.AttributeSet;
import android.util.EventLog;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
@@ -151,6 +150,12 @@ public class PhoneStatusBarView extends PanelBar {
mScrimController.onTrackingStarted();
}
@Override
public void onClosingFinished() {
super.onClosingFinished();
mBar.onClosingFinished();
}
@Override
public void onTrackingStopped(PanelView panel, boolean expand) {
super.onTrackingStopped(panel, expand);