Fix issue #6037252: Screen shifts after all apps are upgraded
Two things: (1) make sure the boot message is always positioned within the entire unrestricted display, and (2) allow the dim background to go on top of the nav bar when being used for the boot message (this latter is really a hack that should be more generally fixed in the future). Change-Id: I7261b044eb802a39cadff931b50a679ff18781d6
This commit is contained in:
@@ -2217,13 +2217,21 @@ public class PhoneWindowManager implements WindowManagerPolicy {
|
||||
"Laying out navigation bar window: (%d,%d - %d,%d)",
|
||||
pf.left, pf.top, pf.right, pf.bottom));
|
||||
}
|
||||
} else if (attrs.type == TYPE_SECURE_SYSTEM_OVERLAY
|
||||
} else if ((attrs.type == TYPE_SECURE_SYSTEM_OVERLAY
|
||||
|| attrs.type == TYPE_BOOT_PROGRESS)
|
||||
&& ((fl & FLAG_FULLSCREEN) != 0)) {
|
||||
// Fullscreen secure system overlays get what they ask for.
|
||||
pf.left = df.left = mUnrestrictedScreenLeft;
|
||||
pf.top = df.top = mUnrestrictedScreenTop;
|
||||
pf.right = df.right = mUnrestrictedScreenLeft+mUnrestrictedScreenWidth;
|
||||
pf.bottom = df.bottom = mUnrestrictedScreenTop+mUnrestrictedScreenHeight;
|
||||
} else if (attrs.type == TYPE_BOOT_PROGRESS) {
|
||||
// Boot progress screen always covers entire display.
|
||||
pf.left = df.left = cf.left = mUnrestrictedScreenLeft;
|
||||
pf.top = df.top = cf.top = mUnrestrictedScreenTop;
|
||||
pf.right = df.right = cf.right = mUnrestrictedScreenLeft+mUnrestrictedScreenWidth;
|
||||
pf.bottom = df.bottom = cf.bottom
|
||||
= mUnrestrictedScreenTop+mUnrestrictedScreenHeight;
|
||||
} else {
|
||||
pf.left = df.left = cf.left = mRestrictedScreenLeft;
|
||||
pf.top = df.top = cf.top = mRestrictedScreenTop;
|
||||
|
||||
@@ -180,7 +180,9 @@ class DimAnimator {
|
||||
|
||||
public void printTo(String prefix, PrintWriter pw) {
|
||||
pw.print(prefix);
|
||||
pw.print("mDimSurface="); pw.println(mDimSurface);
|
||||
pw.print("mDimSurface="); pw.print(mDimSurface);
|
||||
pw.print(" "); pw.print(mLastDimWidth); pw.print(" x ");
|
||||
pw.println(mLastDimHeight);
|
||||
pw.print(prefix);
|
||||
pw.print("mDimShown="); pw.print(mDimShown);
|
||||
pw.print(" current="); pw.print(mDimCurrentAlpha);
|
||||
|
||||
@@ -8593,7 +8593,11 @@ public class WindowManagerService extends IWindowManager.Stub
|
||||
if (mDimAnimator == null) {
|
||||
mDimAnimator = new DimAnimator(mFxSession);
|
||||
}
|
||||
mDimAnimator.show(innerDw, innerDh);
|
||||
if (attrs.type == WindowManager.LayoutParams.TYPE_BOOT_PROGRESS) {
|
||||
mDimAnimator.show(dw, dh);
|
||||
} else {
|
||||
mDimAnimator.show(innerDw, innerDh);
|
||||
}
|
||||
mDimAnimator.updateParameters(mContext.getResources(),
|
||||
w, currentTime);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user