Merge "Optimize latency when closing panel with animation" into oc-dev am: 6c0aba7d4f
am: 8f1511e91a
Change-Id: I3a34ff4e1214836bf7250f2ade2ae4e8108a65f1
This commit is contained in:
@@ -34,10 +34,9 @@ import android.view.animation.Interpolator;
|
||||
import android.widget.FrameLayout;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.systemui.DejankUtils;
|
||||
import com.android.systemui.EventLogTags;
|
||||
import com.android.systemui.Interpolators;
|
||||
import com.android.keyguard.LatencyTracker;
|
||||
import com.android.systemui.DejankUtils;
|
||||
import com.android.systemui.Interpolators;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.classifier.FalsingManager;
|
||||
import com.android.systemui.doze.DozeLog;
|
||||
@@ -833,6 +832,14 @@ public abstract class PanelView extends FrameLayout {
|
||||
}
|
||||
}
|
||||
|
||||
// If we are closing the panel and we are almost there due to a slow decelerating
|
||||
// interpolator, abort the animation.
|
||||
if (mExpandedHeight < 1f && mExpandedHeight != 0f && mClosing) {
|
||||
mExpandedHeight = 0f;
|
||||
if (mHeightAnimator != null) {
|
||||
mHeightAnimator.end();
|
||||
}
|
||||
}
|
||||
mExpandedFraction = Math.min(1f,
|
||||
fhWithoutOverExpansion == 0 ? 0 : mExpandedHeight / fhWithoutOverExpansion);
|
||||
onHeightUpdated(mExpandedHeight);
|
||||
|
||||
@@ -121,12 +121,12 @@ public class PhoneStatusBarView extends PanelBar {
|
||||
public void onPanelCollapsed() {
|
||||
super.onPanelCollapsed();
|
||||
// Close the status bar in the next frame so we can show the end of the animation.
|
||||
DejankUtils.postAfterTraversal(mHideExpandedRunnable);
|
||||
post(mHideExpandedRunnable);
|
||||
mIsFullyOpenedPanel = false;
|
||||
}
|
||||
|
||||
public void removePendingHideExpandedRunnables() {
|
||||
DejankUtils.removeCallbacks(mHideExpandedRunnable);
|
||||
removeCallbacks(mHideExpandedRunnable);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user