Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 01011c3d authored by Dianne Hackborn's avatar Dianne Hackborn
Browse files

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
parent 2d559b53
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -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;
+3 −1
Original line number Diff line number Diff line
@@ -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);
+5 −1
Original line number Diff line number Diff line
@@ -8593,7 +8593,11 @@ public class WindowManagerService extends IWindowManager.Stub
                                if (mDimAnimator == null) {
                                    mDimAnimator = new DimAnimator(mFxSession);
                                }
                                if (attrs.type == WindowManager.LayoutParams.TYPE_BOOT_PROGRESS) {
                                    mDimAnimator.show(dw, dh);
                                } else {
                                    mDimAnimator.show(innerDw, innerDh);
                                }
                                mDimAnimator.updateParameters(mContext.getResources(),
                                        w, currentTime);
                            }