Merge "Avoid going to SHADE_LOCKED when already in SHADE" into qt-qpr1-dev

am: 01047d0372

Change-Id: I35947a507d4fbbb5254ce32eed33a94fc4b5720e
This commit is contained in:
Lucas Dupin
2019-09-18 11:07:45 -07:00
committed by android-build-merger
3 changed files with 12 additions and 3 deletions

View File

@@ -33,6 +33,7 @@ import com.android.systemui.Gefingerpoken
import com.android.systemui.Interpolators import com.android.systemui.Interpolators
import com.android.systemui.R import com.android.systemui.R
import com.android.systemui.plugins.FalsingManager import com.android.systemui.plugins.FalsingManager
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
import com.android.systemui.statusbar.notification.row.ExpandableView import com.android.systemui.statusbar.notification.row.ExpandableView
@@ -56,7 +57,8 @@ constructor(
private val wakeUpCoordinator: NotificationWakeUpCoordinator, private val wakeUpCoordinator: NotificationWakeUpCoordinator,
private val bypassController: KeyguardBypassController, private val bypassController: KeyguardBypassController,
private val headsUpManager: HeadsUpManagerPhone, private val headsUpManager: HeadsUpManagerPhone,
private val roundnessManager: NotificationRoundnessManager private val roundnessManager: NotificationRoundnessManager,
private val statusBarStateController: StatusBarStateController
) : Gefingerpoken { ) : Gefingerpoken {
companion object { companion object {
private val RUBBERBAND_FACTOR_STATIC = 0.25f private val RUBBERBAND_FACTOR_STATIC = 0.25f
@@ -188,7 +190,8 @@ constructor(
MotionEvent.ACTION_MOVE -> updateExpansionHeight(moveDistance) MotionEvent.ACTION_MOVE -> updateExpansionHeight(moveDistance)
MotionEvent.ACTION_UP -> { MotionEvent.ACTION_UP -> {
velocityTracker!!.computeCurrentVelocity(1000 /* units */) velocityTracker!!.computeCurrentVelocity(1000 /* units */)
val canExpand = moveDistance > 0 && velocityTracker!!.getYVelocity() > -1000 val canExpand = moveDistance > 0 && velocityTracker!!.getYVelocity() > -1000 &&
statusBarStateController.state != StatusBarState.SHADE
if (!mFalsingManager.isUnlockingDisabled && !isFalseTouch && canExpand) { if (!mFalsingManager.isUnlockingDisabled && !isFalseTouch && canExpand) {
finishExpansion() finishExpansion()
} else { } else {

View File

@@ -20,6 +20,7 @@ import android.animation.ObjectAnimator;
import android.animation.ValueAnimator; import android.animation.ValueAnimator;
import android.text.format.DateFormat; import android.text.format.DateFormat;
import android.util.FloatProperty; import android.util.FloatProperty;
import android.util.Log;
import android.view.View; import android.view.View;
import android.view.animation.Interpolator; import android.view.animation.Interpolator;
@@ -136,6 +137,11 @@ public class StatusBarStateControllerImpl implements SysuiStatusBarStateControll
// Record the to-be mState and mLastState // Record the to-be mState and mLastState
recordHistoricalState(state, mState); recordHistoricalState(state, mState);
// b/139259891
if (mState == StatusBarState.SHADE && state == StatusBarState.SHADE_LOCKED) {
Log.e(TAG, "Invalid state transition: SHADE -> SHADE_LOCKED", new Throwable());
}
synchronized (mListeners) { synchronized (mListeners) {
for (RankedListener rl : new ArrayList<>(mListeners)) { for (RankedListener rl : new ArrayList<>(mListeners)) {
rl.mListener.onStatePreChange(mState, state); rl.mListener.onStatePreChange(mState, state);

View File

@@ -129,7 +129,7 @@ public class NotificationPanelViewTest extends SysuiTestCase {
mKeyguardBypassController); mKeyguardBypassController);
PulseExpansionHandler expansionHandler = new PulseExpansionHandler(mContext, coordinator, PulseExpansionHandler expansionHandler = new PulseExpansionHandler(mContext, coordinator,
mKeyguardBypassController, mHeadsUpManager, mKeyguardBypassController, mHeadsUpManager,
mock(NotificationRoundnessManager.class)); mock(NotificationRoundnessManager.class), mStatusBarStateController);
mNotificationPanelView = new TestableNotificationPanelView(coordinator, expansionHandler, mNotificationPanelView = new TestableNotificationPanelView(coordinator, expansionHandler,
mKeyguardBypassController); mKeyguardBypassController);
mNotificationPanelView.setHeadsUpManager(mHeadsUpManager); mNotificationPanelView.setHeadsUpManager(mHeadsUpManager);