@@ -5874,7 +5874,7 @@ public boolean updateRotationUncheckedLocked(boolean inTransaction) {
58745874 }
58755875 }
58765876
5877- rebuildBlackFrame ();
5877+ rebuildBlackFrameLocked ();
58785878
58795879 final WindowList windows = displayContent .getWindowList ();
58805880 for (int i = windows .size () - 1 ; i >= 0 ; i --) {
@@ -6891,6 +6891,8 @@ public void displayReady() {
68916891 displayReady (Display .DEFAULT_DISPLAY );
68926892
68936893 synchronized (mWindowMap ) {
6894+ readForcedDisplaySizeAndDensityLocked (getDefaultDisplayContent ());
6895+
68946896 WindowManager wm = (WindowManager )mContext .getSystemService (Context .WINDOW_SERVICE );
68956897 mDisplay = wm .getDefaultDisplay ();
68966898 mIsTouchDevice = mContext .getPackageManager ().hasSystemFeature (
@@ -6912,6 +6914,11 @@ public void displayReady() {
69126914 mPolicy .setInitialDisplaySize (mDisplay , displayContent .mInitialDisplayWidth ,
69136915 displayContent .mInitialDisplayHeight , displayContent .mInitialDisplayDensity );
69146916 }
6917+
6918+ try {
6919+ mActivityManager .updateConfiguration (null );
6920+ } catch (RemoteException e ) {
6921+ }
69156922 }
69166923
69176924 public void displayReady (int displayId ) {
@@ -6930,15 +6937,6 @@ public void displayReady(int displayId) {
69306937 displayContent .mBaseDisplayDensity = displayContent .mInitialDisplayDensity ;
69316938 }
69326939 }
6933-
6934- try {
6935- mActivityManager .updateConfiguration (null );
6936- } catch (RemoteException e ) {
6937- }
6938-
6939- synchronized (mWindowMap ) {
6940- readForcedDisplaySizeAndDensityLocked (getDisplayContent (displayId ));
6941- }
69426940 }
69436941
69446942 public void systemReady () {
@@ -7567,7 +7565,7 @@ public void setForcedDisplaySize(int displayId, int longDimen, int shortDimen) {
75677565 }
75687566 }
75697567
7570- private void rebuildBlackFrame () {
7568+ private void rebuildBlackFrameLocked () {
75717569 if (mBlackFrame != null ) {
75727570 mBlackFrame .kill ();
75737571 mBlackFrame = null ;
@@ -7579,6 +7577,13 @@ private void rebuildBlackFrame() {
75797577 int initW , initH , baseW , baseH ;
75807578 final boolean rotated = (mRotation == Surface .ROTATION_90
75817579 || mRotation == Surface .ROTATION_270 );
7580+ if (DEBUG_BOOT ) {
7581+ Slog .i (TAG , "BLACK FRAME: rotated=" + rotated + " init="
7582+ + displayContent .mInitialDisplayWidth + "x"
7583+ + displayContent .mInitialDisplayHeight + " base="
7584+ + displayContent .mBaseDisplayWidth + "x"
7585+ + displayContent .mBaseDisplayHeight );
7586+ }
75827587 if (rotated ) {
75837588 initW = displayContent .mInitialDisplayHeight ;
75847589 initH = displayContent .mInitialDisplayWidth ;
@@ -7640,7 +7645,7 @@ private void readForcedDisplaySizeAndDensityLocked(final DisplayContent displayC
76407645 }
76417646 }
76427647 if (changed ) {
7643- reconfigureDisplayLocked ( displayContent );
7648+ rebuildBlackFrameLocked ( );
76447649 }
76457650 }
76467651
@@ -7669,7 +7674,7 @@ public void setForcedDisplayDensity(int displayId, int density) {
76697674 final DisplayContent displayContent = getDisplayContent (displayId );
76707675 setForcedDisplayDensityLocked (displayContent , density );
76717676 Settings .Secure .putString (mContext .getContentResolver (),
7672- Settings .Secure .DISPLAY_SIZE_FORCED , Integer .toString (density ));
7677+ Settings .Secure .DISPLAY_DENSITY_FORCED , Integer .toString (density ));
76737678 }
76747679 }
76757680
@@ -7712,7 +7717,7 @@ private void reconfigureDisplayLocked(DisplayContent displayContent) {
77127717 mH .sendEmptyMessage (H .SEND_NEW_CONFIGURATION );
77137718 }
77147719
7715- rebuildBlackFrame ();
7720+ rebuildBlackFrameLocked ();
77167721
77177722 performLayoutAndPlaceSurfacesLocked ();
77187723 }
0 commit comments