Snap for 5882211 from 89ebc7c1ad to qt-qpr1-release
Change-Id: I2cdbf6d97582fa9084ac8b3950a82ad5ae7fc806
This commit is contained in:
@@ -60,9 +60,7 @@ import java.util.Set;
|
||||
* multiple possible matching values (via {@link #addAction},
|
||||
* {@link #addDataType}, {@link #addDataScheme}, {@link #addDataSchemeSpecificPart},
|
||||
* {@link #addDataAuthority}, {@link #addDataPath}, and {@link #addCategory}, respectively).
|
||||
* For actions, the field
|
||||
* will not be tested if no values have been given (treating it as a wildcard);
|
||||
* if no data characteristics are specified, however, then the filter will
|
||||
* For actions, if no data characteristics are specified, then the filter will
|
||||
* only match intents that contain no data.
|
||||
*
|
||||
* <p>The data characteristic is
|
||||
|
||||
@@ -14431,8 +14431,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
}
|
||||
|
||||
notifyAppearedOrDisappearedForContentCaptureIfNeeded(isVisible);
|
||||
if (isVisible != oldVisible) {
|
||||
updateSystemGestureExclusionRects();
|
||||
if (!getSystemGestureExclusionRects().isEmpty() && isVisible != oldVisible) {
|
||||
postUpdateSystemGestureExclusionRects();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -796,7 +796,9 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind
|
||||
updateElevation();
|
||||
mAllowUpdateElevation = true;
|
||||
|
||||
if (changed && mResizeMode == RESIZE_MODE_DOCKED_DIVIDER) {
|
||||
if (changed
|
||||
&& (mResizeMode == RESIZE_MODE_DOCKED_DIVIDER
|
||||
|| mDrawLegacyNavigationBarBackground)) {
|
||||
getViewRootImpl().requestInvalidateRootRenderNode();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,6 +41,14 @@
|
||||
android:visibility="invisible"/>
|
||||
</com.android.systemui.statusbar.BackDropView>
|
||||
|
||||
<com.android.systemui.statusbar.ScrimView
|
||||
android:id="@+id/scrim_for_bubble"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:importantForAccessibility="no"
|
||||
sysui:ignoreRightInset="true"
|
||||
/>
|
||||
|
||||
<com.android.systemui.statusbar.ScrimView
|
||||
android:id="@+id/scrim_behind"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -96,6 +96,7 @@ import com.android.systemui.statusbar.notification.stack.AnimationProperties;
|
||||
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
|
||||
import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||
import com.android.systemui.statusbar.policy.KeyguardMonitor;
|
||||
import com.android.systemui.statusbar.policy.KeyguardUserSwitcher;
|
||||
import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
|
||||
import com.android.systemui.statusbar.policy.ZenModeController;
|
||||
@@ -169,12 +170,22 @@ public class NotificationPanelView extends PanelView implements
|
||||
@VisibleForTesting
|
||||
final KeyguardUpdateMonitorCallback mKeyguardUpdateCallback =
|
||||
new KeyguardUpdateMonitorCallback() {
|
||||
|
||||
@Override
|
||||
public void onBiometricAuthenticated(int userId,
|
||||
BiometricSourceType biometricSourceType) {
|
||||
if (mFirstBypassAttempt && mUpdateMonitor.isUnlockingWithBiometricAllowed()) {
|
||||
mDelayShowingKeyguardStatusBar = true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBiometricRunningStateChanged(boolean running,
|
||||
BiometricSourceType biometricSourceType) {
|
||||
boolean keyguardOrShadeLocked = mBarState == StatusBarState.KEYGUARD
|
||||
|| mBarState == StatusBarState.SHADE_LOCKED;
|
||||
if (!running && mFirstBypassAttempt && keyguardOrShadeLocked && !mDozing) {
|
||||
if (!running && mFirstBypassAttempt && keyguardOrShadeLocked && !mDozing
|
||||
&& !mDelayShowingKeyguardStatusBar) {
|
||||
mFirstBypassAttempt = false;
|
||||
animateKeyguardStatusBarIn(StackStateAnimator.ANIMATION_DURATION_STANDARD);
|
||||
}
|
||||
@@ -183,6 +194,17 @@ public class NotificationPanelView extends PanelView implements
|
||||
@Override
|
||||
public void onFinishedGoingToSleep(int why) {
|
||||
mFirstBypassAttempt = mKeyguardBypassController.getBypassEnabled();
|
||||
mDelayShowingKeyguardStatusBar = false;
|
||||
}
|
||||
};
|
||||
private final KeyguardMonitor.Callback mKeyguardMonitorCallback =
|
||||
new KeyguardMonitor.Callback() {
|
||||
@Override
|
||||
public void onKeyguardFadingAwayChanged() {
|
||||
if (!mKeyguardMonitor.isKeyguardFadingAway()) {
|
||||
mFirstBypassAttempt = false;
|
||||
mDelayShowingKeyguardStatusBar = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -404,7 +426,17 @@ public class NotificationPanelView extends PanelView implements
|
||||
private boolean mShowingKeyguardHeadsUp;
|
||||
private boolean mAllowExpandForSmallExpansion;
|
||||
private Runnable mExpandAfterLayoutRunnable;
|
||||
|
||||
/**
|
||||
* If face auth with bypass is running for the first time after you turn on the screen.
|
||||
* (From aod or screen off)
|
||||
*/
|
||||
private boolean mFirstBypassAttempt;
|
||||
/**
|
||||
* If auth happens successfully during {@code mFirstBypassAttempt}, and we should wait until
|
||||
* the keyguard is dismissed to show the status bar.
|
||||
*/
|
||||
private boolean mDelayShowingKeyguardStatusBar;
|
||||
|
||||
@Inject
|
||||
public NotificationPanelView(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
|
||||
@@ -436,6 +468,7 @@ public class NotificationPanelView extends PanelView implements
|
||||
mKeyguardBypassController = bypassController;
|
||||
mUpdateMonitor = KeyguardUpdateMonitor.getInstance(mContext);
|
||||
mFirstBypassAttempt = mKeyguardBypassController.getBypassEnabled();
|
||||
mKeyguardMonitor.addCallback(mKeyguardMonitorCallback);
|
||||
dynamicPrivacyController.addListener(this);
|
||||
|
||||
mBottomAreaShadeAlphaAnimator = ValueAnimator.ofFloat(1f, 0);
|
||||
@@ -2263,7 +2296,8 @@ public class NotificationPanelView extends PanelView implements
|
||||
* mKeyguardStatusBarAnimateAlpha;
|
||||
newAlpha *= 1.0f - mKeyguardHeadsUpShowingAmount;
|
||||
mKeyguardStatusBar.setAlpha(newAlpha);
|
||||
boolean hideForBypass = mFirstBypassAttempt && mUpdateMonitor.shouldListenForFace();
|
||||
boolean hideForBypass = mFirstBypassAttempt && mUpdateMonitor.shouldListenForFace()
|
||||
|| mDelayShowingKeyguardStatusBar;
|
||||
mKeyguardStatusBar.setVisibility(newAlpha != 0f && !mDozing && !hideForBypass
|
||||
? VISIBLE : INVISIBLE);
|
||||
}
|
||||
|
||||
@@ -1167,7 +1167,8 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
new HandlerExecutor(mH), properties -> {
|
||||
synchronized (mGlobalLock) {
|
||||
final int exclusionLimitDp = Math.max(MIN_GESTURE_EXCLUSION_LIMIT_DP,
|
||||
properties.getInt(KEY_SYSTEM_GESTURE_EXCLUSION_LIMIT_DP, 0));
|
||||
DeviceConfig.getInt(DeviceConfig.NAMESPACE_WINDOW_MANAGER,
|
||||
KEY_SYSTEM_GESTURE_EXCLUSION_LIMIT_DP, 0));
|
||||
final boolean excludedByPreQSticky = DeviceConfig.getBoolean(
|
||||
DeviceConfig.NAMESPACE_WINDOW_MANAGER,
|
||||
KEY_SYSTEM_GESTURES_EXCLUDED_BY_PRE_Q_STICKY_IMMERSIVE, false);
|
||||
|
||||
Reference in New Issue
Block a user