Merge "Bouncer: Remove overlap with shade and bouncer" into tm-dev
This commit is contained in:
@@ -37,6 +37,7 @@ import android.view.ViewTreeObserver;
|
|||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
|
|
||||||
|
import com.android.keyguard.BouncerPanelExpansionCalculator;
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.animation.Interpolators;
|
import com.android.systemui.animation.Interpolators;
|
||||||
import com.android.systemui.animation.ShadeInterpolation;
|
import com.android.systemui.animation.ShadeInterpolation;
|
||||||
@@ -593,7 +594,9 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
|
|||||||
} else if (progress > 0 && view.getVisibility() != View.VISIBLE) {
|
} else if (progress > 0 && view.getVisibility() != View.VISIBLE) {
|
||||||
view.setVisibility((View.VISIBLE));
|
view.setVisibility((View.VISIBLE));
|
||||||
}
|
}
|
||||||
float alpha = ShadeInterpolation.getContentAlpha(progress);
|
float alpha = (mState == StatusBarState.KEYGUARD || mState == StatusBarState.SHADE_LOCKED)
|
||||||
|
? BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(progress)
|
||||||
|
: ShadeInterpolation.getContentAlpha(progress);
|
||||||
view.setAlpha(alpha);
|
view.setAlpha(alpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ import android.view.animation.Interpolator;
|
|||||||
import com.android.internal.jank.InteractionJankMonitor;
|
import com.android.internal.jank.InteractionJankMonitor;
|
||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.internal.util.LatencyTracker;
|
import com.android.internal.util.LatencyTracker;
|
||||||
|
import com.android.keyguard.BouncerPanelExpansionCalculator;
|
||||||
import com.android.systemui.DejankUtils;
|
import com.android.systemui.DejankUtils;
|
||||||
import com.android.systemui.R;
|
import com.android.systemui.R;
|
||||||
import com.android.systemui.animation.Interpolators;
|
import com.android.systemui.animation.Interpolators;
|
||||||
@@ -796,7 +797,10 @@ public abstract class PanelViewController {
|
|||||||
}
|
}
|
||||||
mExpandedFraction = Math.min(1f,
|
mExpandedFraction = Math.min(1f,
|
||||||
maxPanelHeight == 0 ? 0 : mExpandedHeight / maxPanelHeight);
|
maxPanelHeight == 0 ? 0 : mExpandedHeight / maxPanelHeight);
|
||||||
mAmbientState.setExpansionFraction(mExpandedFraction);
|
mAmbientState.setExpansionFraction(mKeyguardStateController.isUnlocked()
|
||||||
|
? mExpandedFraction
|
||||||
|
: BouncerPanelExpansionCalculator
|
||||||
|
.getBackScrimScaledExpansion(mExpandedFraction));
|
||||||
onHeightUpdated(mExpandedHeight);
|
onHeightUpdated(mExpandedHeight);
|
||||||
updatePanelExpansionAndVisibility();
|
updatePanelExpansionAndVisibility();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -875,14 +875,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
|
|||||||
private Pair<Integer, Float> calculateBackStateForState(ScrimState state) {
|
private Pair<Integer, Float> calculateBackStateForState(ScrimState state) {
|
||||||
// Either darken of make the scrim transparent when you
|
// Either darken of make the scrim transparent when you
|
||||||
// pull down the shade
|
// pull down the shade
|
||||||
float interpolatedFract;
|
float interpolatedFract = getInterpolatedFraction();
|
||||||
|
|
||||||
if (state == ScrimState.KEYGUARD) {
|
|
||||||
interpolatedFract = BouncerPanelExpansionCalculator
|
|
||||||
.getBackScrimScaledExpansion(mPanelExpansionFraction);
|
|
||||||
} else {
|
|
||||||
interpolatedFract = getInterpolatedFraction();
|
|
||||||
}
|
|
||||||
|
|
||||||
float stateBehind = mClipsQsScrim ? state.getNotifAlpha() : state.getBehindAlpha();
|
float stateBehind = mClipsQsScrim ? state.getNotifAlpha() : state.getBehindAlpha();
|
||||||
float behindAlpha;
|
float behindAlpha;
|
||||||
@@ -1064,6 +1057,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
|
|||||||
}
|
}
|
||||||
|
|
||||||
private float getInterpolatedFraction() {
|
private float getInterpolatedFraction() {
|
||||||
|
if (mState == ScrimState.KEYGUARD || mState == ScrimState.SHADE_LOCKED) {
|
||||||
|
return BouncerPanelExpansionCalculator
|
||||||
|
.getBackScrimScaledExpansion(mPanelExpansionFraction);
|
||||||
|
}
|
||||||
return ShadeInterpolation.getNotificationScrimAlpha(mPanelExpansionFraction);
|
return ShadeInterpolation.getNotificationScrimAlpha(mPanelExpansionFraction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1236,8 +1236,8 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
public void testNotificationTransparency_followsPanelExpansionInShadeLockedState() {
|
public void testNotificationTransparency_followsPanelExpansionInShadeLockedState() {
|
||||||
mScrimController.transitionTo(ScrimState.SHADE_LOCKED);
|
mScrimController.transitionTo(ScrimState.SHADE_LOCKED);
|
||||||
|
|
||||||
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.8f, /* expansion */ 0.8f);
|
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0f, /* expansion */ 0.8f);
|
||||||
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.47f, /* expansion */ 0.2f);
|
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0f, /* expansion */ 0.2f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -1250,15 +1250,16 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
// Verify normal behavior after
|
// Verify normal behavior after
|
||||||
mScrimController.setUnocclusionAnimationRunning(false);
|
mScrimController.setUnocclusionAnimationRunning(false);
|
||||||
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.4f);
|
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.4f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNotificationTransparency_inKeyguardState() {
|
public void testNotificationTransparency_inKeyguardState() {
|
||||||
mScrimController.transitionTo(ScrimState.KEYGUARD);
|
mScrimController.transitionTo(ScrimState.KEYGUARD);
|
||||||
|
|
||||||
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.4f);
|
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.8f);
|
||||||
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.52f, /* expansion */ 0.2f);
|
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.4f);
|
||||||
|
assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.2f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user