Merge "Fade in quick settings when shade opens" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
7a6c103523
@@ -32,6 +32,7 @@ import com.android.systemui.qs.TouchAnimator.Builder;
|
||||
import com.android.systemui.qs.TouchAnimator.Listener;
|
||||
import com.android.systemui.qs.dagger.QSScope;
|
||||
import com.android.systemui.qs.tileimpl.HeightOverrideable;
|
||||
import com.android.systemui.statusbar.CrossFadeHelper;
|
||||
import com.android.systemui.statusbar.FeatureFlags;
|
||||
import com.android.systemui.tuner.TunerService;
|
||||
import com.android.systemui.tuner.TunerService.Tunable;
|
||||
@@ -54,6 +55,9 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
|
||||
private static final String MOVE_FULL_ROWS = "sysui_qs_move_whole_rows";
|
||||
|
||||
public static final float EXPANDED_TILE_DELAY = .86f;
|
||||
private static final long QQS_FADE_IN_DURATION = 200L;
|
||||
// Fade out faster than fade in to finish before QQS hides.
|
||||
private static final long QQS_FADE_OUT_DURATION = 50L;
|
||||
|
||||
|
||||
private final ArrayList<View> mAllViews = new ArrayList<>();
|
||||
@@ -87,7 +91,7 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
|
||||
private HeightExpansionAnimator mOtherTilesExpandAnimator;
|
||||
|
||||
private boolean mNeedsAnimatorUpdate = false;
|
||||
|
||||
private boolean mToShowing;
|
||||
private boolean mOnKeyguard;
|
||||
|
||||
private boolean mAllowFancy;
|
||||
@@ -150,6 +154,18 @@ public class QSAnimator implements Callback, PageListener, Listener, OnLayoutCha
|
||||
}
|
||||
}
|
||||
|
||||
void startAlphaAnimation(boolean show) {
|
||||
if (show == mToShowing) {
|
||||
return;
|
||||
}
|
||||
mToShowing = show;
|
||||
if (show) {
|
||||
CrossFadeHelper.fadeIn(mQs.getView(), QQS_FADE_IN_DURATION, 0 /* delay */);
|
||||
} else {
|
||||
CrossFadeHelper.fadeOut(mQs.getView(), QQS_FADE_OUT_DURATION, 0 /* delay */,
|
||||
null /* endRunnable */);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets whether or not the keyguard is currently being shown with a collapsed header.
|
||||
|
||||
@@ -92,6 +92,11 @@ public class QSContainerImpl extends FrameLayout {
|
||||
setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_NO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasOverlappingRendering() {
|
||||
return false;
|
||||
}
|
||||
|
||||
void onMediaVisibilityChanged(boolean qsVisible) {
|
||||
mAnimateBottomOnNextLayout = qsVisible;
|
||||
}
|
||||
|
||||
@@ -190,7 +190,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
(v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
|
||||
boolean sizeChanged = (oldTop - oldBottom) != (top - bottom);
|
||||
if (sizeChanged) {
|
||||
setQsExpansion(mLastQSExpansion, mLastQSExpansion);
|
||||
setQsExpansion(mLastQSExpansion, mLastHeaderTranslation);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -395,6 +395,12 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
||||
@Override
|
||||
public void setQsExpansion(float expansion, float headerTranslation) {
|
||||
if (DEBUG) Log.d(TAG, "setQSExpansion " + expansion + " " + headerTranslation);
|
||||
|
||||
if (mQSAnimator != null) {
|
||||
final boolean showQSOnLockscreen = expansion > 0;
|
||||
final boolean showQSUnlocked = headerTranslation == 0;
|
||||
mQSAnimator.startAlphaAnimation(showQSOnLockscreen || showQSUnlocked);
|
||||
}
|
||||
mContainer.setExpansion(expansion);
|
||||
final float translationScaleY = expansion - 1;
|
||||
boolean onKeyguardAndExpanded = isKeyguardShowing() && !mShowCollapsedOnKeyguard;
|
||||
|
||||
Reference in New Issue
Block a user