Fix a few issues with occluded Keyguard
- When we get a collapse before the layout happened in SystemUI, don't expand the panel after the layout. - Don't reset waitingToShow when coming out of sleep. This will cause win.isVisibleOrBehindKeyguardLw to return false and then occluded state will change rapidly from true -> false -> true, leading to flickering in SysUI. Bug: 23898941 Change-Id: I2b941188de777086bb2b477f5bfc00cc0cd6abe0
This commit is contained in:
@@ -883,6 +883,10 @@ public abstract class PanelView extends FrameLayout {
|
||||
new ViewTreeObserver.OnGlobalLayoutListener() {
|
||||
@Override
|
||||
public void onGlobalLayout() {
|
||||
if (!mInstantExpanding) {
|
||||
getViewTreeObserver().removeOnGlobalLayoutListener(this);
|
||||
return;
|
||||
}
|
||||
if (mStatusBar.getStatusBarWindow().getHeight()
|
||||
!= mStatusBar.getStatusBarHeight()) {
|
||||
getViewTreeObserver().removeOnGlobalLayoutListener(this);
|
||||
@@ -907,6 +911,10 @@ public abstract class PanelView extends FrameLayout {
|
||||
if (mExpanding) {
|
||||
notifyExpandingFinished();
|
||||
}
|
||||
if (mInstantExpanding) {
|
||||
mInstantExpanding = false;
|
||||
notifyBarPanelExpansionChanged();
|
||||
}
|
||||
}
|
||||
|
||||
private void abortAnimations() {
|
||||
|
||||
@@ -4409,7 +4409,11 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
if (wtoken.hidden || wtoken.mAppStopped) {
|
||||
wtoken.allDrawn = false;
|
||||
wtoken.deferClearAllDrawn = false;
|
||||
wtoken.waitingToShow = true;
|
||||
|
||||
// If the app was already visible, don't reset the waitingToShow state.
|
||||
if (wtoken.hidden) {
|
||||
wtoken.waitingToShow = true;
|
||||
}
|
||||
|
||||
if (wtoken.clientHidden) {
|
||||
// In the case where we are making an app visible
|
||||
|
||||
Reference in New Issue
Block a user