summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ben Lin <linben@google.com> 2022-10-18 18:11:39 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-10-18 18:11:39 +0000
commita122bd8f40fa52a60b715dade60304c39925f97c (patch)
tree6e32172be44d04cced1af10bddb19476ea065888
parent4b3a00129e47969c66557566c5ddf1501b1be0c9 (diff)
parent5713d10f4ee514d24da8c93233435175a8b2e869 (diff)
Merge "Add flags to enable QS clipping / Scrim transparency." into tm-qpr-dev
-rw-r--r--packages/SystemUI/res/values/bools.xml7
-rw-r--r--packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java14
3 files changed, 24 insertions, 6 deletions
diff --git a/packages/SystemUI/res/values/bools.xml b/packages/SystemUI/res/values/bools.xml
index c67ac8d34aa6..8221d78fbfd7 100644
--- a/packages/SystemUI/res/values/bools.xml
+++ b/packages/SystemUI/res/values/bools.xml
@@ -18,6 +18,13 @@
<resources>
<!-- Whether to show the user switcher in quick settings when only a single user is present. -->
<bool name="qs_show_user_switcher_for_single_user">false</bool>
+
<!-- Whether to show a custom biometric prompt size-->
<bool name="use_custom_bp_size">false</bool>
+
+ <!-- Whether to enable clipping on Quick Settings -->
+ <bool name="qs_enable_clipping">true</bool>
+
+ <!-- Whether to enable transparent background for notification scrims -->
+ <bool name="notification_scrim_transparent">false</bool>
</resources>
diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
index a49b7f03acc6..20f0655aa06a 100644
--- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java
@@ -689,6 +689,7 @@ public final class NotificationPanelViewController {
private int mScreenCornerRadius;
private boolean mQSAnimatingHiddenFromCollapsed;
private boolean mUseLargeScreenShadeHeader;
+ private boolean mEnableQsClipping;
private int mQsClipTop;
private int mQsClipBottom;
@@ -1298,6 +1299,8 @@ public final class NotificationPanelViewController {
mSplitShadeFullTransitionDistance =
mResources.getDimensionPixelSize(R.dimen.split_shade_full_transition_distance);
+
+ mEnableQsClipping = mResources.getBoolean(R.bool.qs_enable_clipping);
}
private void onSplitShadeEnabledChanged() {
@@ -2952,8 +2955,10 @@ public final class NotificationPanelViewController {
mQsTranslationForFullShadeTransition = qsTranslation;
updateQsFrameTranslation();
float currentTranslation = mQsFrame.getTranslationY();
- mQsClipTop = (int) (top - currentTranslation - mQsFrame.getTop());
- mQsClipBottom = (int) (bottom - currentTranslation - mQsFrame.getTop());
+ mQsClipTop = mEnableQsClipping
+ ? (int) (top - currentTranslation - mQsFrame.getTop()) : 0;
+ mQsClipBottom = mEnableQsClipping
+ ? (int) (bottom - currentTranslation - mQsFrame.getTop()) : 0;
mQsVisible = qsVisible;
mQs.setQsVisible(mQsVisible);
mQs.setFancyClipping(
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index 9f932238007a..84907686835b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -249,6 +249,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
private Callback mCallback;
private boolean mWallpaperSupportsAmbientMode;
private boolean mScreenOn;
+ private boolean mTransparentScrimBackground;
// Scrim blanking callbacks
private Runnable mPendingFrameCallback;
@@ -341,6 +342,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
mScrimBehind.setDefaultFocusHighlightEnabled(false);
mNotificationsScrim.setDefaultFocusHighlightEnabled(false);
mScrimInFront.setDefaultFocusHighlightEnabled(false);
+ mTransparentScrimBackground = notificationsScrim.getResources()
+ .getBoolean(R.bool.notification_scrim_transparent);
updateScrims();
mKeyguardUpdateMonitor.registerCallback(mKeyguardVisibilityCallback);
}
@@ -777,13 +780,16 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
float behindFraction = getInterpolatedFraction();
behindFraction = (float) Math.pow(behindFraction, 0.8f);
if (mClipsQsScrim) {
- mBehindAlpha = 1;
- mNotificationsAlpha = behindFraction * mDefaultScrimAlpha;
+ mBehindAlpha = mTransparentScrimBackground ? 0 : 1;
+ mNotificationsAlpha =
+ mTransparentScrimBackground ? 0 : behindFraction * mDefaultScrimAlpha;
} else {
- mBehindAlpha = behindFraction * mDefaultScrimAlpha;
+ mBehindAlpha =
+ mTransparentScrimBackground ? 0 : behindFraction * mDefaultScrimAlpha;
// Delay fade-in of notification scrim a bit further, to coincide with the
// view fade in. Otherwise the empty panel can be quite jarring.
- mNotificationsAlpha = MathUtils.constrainedMap(0f, 1f, 0.3f, 0.75f,
+ mNotificationsAlpha = mTransparentScrimBackground
+ ? 0 : MathUtils.constrainedMap(0f, 1f, 0.3f, 0.75f,
mPanelExpansionFraction);
}
mBehindTint = mState.getBehindTint();