Loading services/core/java/com/android/server/wm/DisplayContent.java +16 −4 Original line number Diff line number Diff line Loading @@ -340,7 +340,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp private WindowState mTmpWindow; private boolean mUpdateImeTarget; private boolean mTmpInitial; private int mMaxUiWidth; private int mMaxUiWidth = 0; final AppTransition mAppTransition; final AppTransitionController mAppTransitionController; Loading @@ -365,9 +365,10 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp // Initial display metrics. int mInitialDisplayWidth = 0; int mInitialDisplayHeight = 0; int mInitialDisplayDensity = 0; float mInitialPhysicalXDpi = 0.0f; float mInitialPhysicalYDpi = 0.0f; // The physical density of the display int mInitialDisplayDensity = 0; private Point mPhysicalDisplaySize; Loading Loading @@ -2628,6 +2629,17 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp return mCurrentOverrideConfigurationChanges; } /** * @return The initial display density. This is constrained by config_maxUIWidth. */ int getInitialDisplayDensity() { int density = mInitialDisplayDensity; if (mMaxUiWidth > 0 && mInitialDisplayWidth > mMaxUiWidth) { density = (int) ((density * mMaxUiWidth) / (float) mInitialDisplayWidth); } return density; } @Override public void onConfigurationChanged(Configuration newParentConfig) { final int lastOrientation = getConfiguration().orientation; Loading Loading @@ -2956,7 +2968,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp * so only need to configure display. */ void setForcedDensity(int density, int userId) { mIsDensityForced = density != mInitialDisplayDensity; mIsDensityForced = density != getInitialDisplayDensity(); final boolean updateCurrent = userId == UserHandle.USER_CURRENT; if (mWmService.mCurrentUserId == userId || updateCurrent) { mBaseDisplayDensity = density; Loading @@ -2967,7 +2979,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp return; } if (density == mInitialDisplayDensity) { if (density == getInitialDisplayDensity()) { density = 0; } mWmService.mDisplayWindowSettings.setForcedDensity(this, density, userId); Loading services/core/java/com/android/server/wm/DisplayWindowSettings.java +1 −1 Original line number Diff line number Diff line Loading @@ -276,7 +276,7 @@ class DisplayWindowSettings { final int width = hasSizeOverride ? settings.mForcedWidth : dc.mInitialDisplayWidth; final int height = hasSizeOverride ? settings.mForcedHeight : dc.mInitialDisplayHeight; final int density = hasDensityOverride ? settings.mForcedDensity : dc.mInitialDisplayDensity; : dc.getInitialDisplayDensity(); dc.updateBaseDisplayMetrics(width, height, density, dc.mBaseDisplayPhysicalXDpi, dc.mBaseDisplayPhysicalYDpi); Loading services/core/java/com/android/server/wm/WindowManagerService.java +4 −4 Original line number Diff line number Diff line Loading @@ -3577,8 +3577,8 @@ public class WindowManagerService extends IWindowManager.Stub // Otherwise, we'll update it when it's prepared. if (mDisplayReady) { final int forcedDensity = getForcedDisplayDensityForUserLocked(newUserId); final int targetDensity = forcedDensity != 0 ? forcedDensity : displayContent.mInitialDisplayDensity; final int targetDensity = forcedDensity != 0 ? forcedDensity : displayContent.getInitialDisplayDensity(); displayContent.setForcedDensity(targetDensity, UserHandle.USER_CURRENT); } } Loading Loading @@ -5789,7 +5789,7 @@ public class WindowManagerService extends IWindowManager.Stub synchronized (mGlobalLock) { final DisplayContent displayContent = mRoot.getDisplayContent(displayId); if (displayContent != null && displayContent.hasAccess(Binder.getCallingUid())) { return displayContent.mInitialDisplayDensity; return displayContent.getInitialDisplayDensity(); } } return -1; Loading Loading @@ -5844,7 +5844,7 @@ public class WindowManagerService extends IWindowManager.Stub synchronized (mGlobalLock) { final DisplayContent displayContent = mRoot.getDisplayContent(displayId); if (displayContent != null) { displayContent.setForcedDensity(displayContent.mInitialDisplayDensity, displayContent.setForcedDensity(displayContent.getInitialDisplayDensity(), callingUserId); } } Loading Loading
services/core/java/com/android/server/wm/DisplayContent.java +16 −4 Original line number Diff line number Diff line Loading @@ -340,7 +340,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp private WindowState mTmpWindow; private boolean mUpdateImeTarget; private boolean mTmpInitial; private int mMaxUiWidth; private int mMaxUiWidth = 0; final AppTransition mAppTransition; final AppTransitionController mAppTransitionController; Loading @@ -365,9 +365,10 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp // Initial display metrics. int mInitialDisplayWidth = 0; int mInitialDisplayHeight = 0; int mInitialDisplayDensity = 0; float mInitialPhysicalXDpi = 0.0f; float mInitialPhysicalYDpi = 0.0f; // The physical density of the display int mInitialDisplayDensity = 0; private Point mPhysicalDisplaySize; Loading Loading @@ -2628,6 +2629,17 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp return mCurrentOverrideConfigurationChanges; } /** * @return The initial display density. This is constrained by config_maxUIWidth. */ int getInitialDisplayDensity() { int density = mInitialDisplayDensity; if (mMaxUiWidth > 0 && mInitialDisplayWidth > mMaxUiWidth) { density = (int) ((density * mMaxUiWidth) / (float) mInitialDisplayWidth); } return density; } @Override public void onConfigurationChanged(Configuration newParentConfig) { final int lastOrientation = getConfiguration().orientation; Loading Loading @@ -2956,7 +2968,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp * so only need to configure display. */ void setForcedDensity(int density, int userId) { mIsDensityForced = density != mInitialDisplayDensity; mIsDensityForced = density != getInitialDisplayDensity(); final boolean updateCurrent = userId == UserHandle.USER_CURRENT; if (mWmService.mCurrentUserId == userId || updateCurrent) { mBaseDisplayDensity = density; Loading @@ -2967,7 +2979,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp return; } if (density == mInitialDisplayDensity) { if (density == getInitialDisplayDensity()) { density = 0; } mWmService.mDisplayWindowSettings.setForcedDensity(this, density, userId); Loading
services/core/java/com/android/server/wm/DisplayWindowSettings.java +1 −1 Original line number Diff line number Diff line Loading @@ -276,7 +276,7 @@ class DisplayWindowSettings { final int width = hasSizeOverride ? settings.mForcedWidth : dc.mInitialDisplayWidth; final int height = hasSizeOverride ? settings.mForcedHeight : dc.mInitialDisplayHeight; final int density = hasDensityOverride ? settings.mForcedDensity : dc.mInitialDisplayDensity; : dc.getInitialDisplayDensity(); dc.updateBaseDisplayMetrics(width, height, density, dc.mBaseDisplayPhysicalXDpi, dc.mBaseDisplayPhysicalYDpi); Loading
services/core/java/com/android/server/wm/WindowManagerService.java +4 −4 Original line number Diff line number Diff line Loading @@ -3577,8 +3577,8 @@ public class WindowManagerService extends IWindowManager.Stub // Otherwise, we'll update it when it's prepared. if (mDisplayReady) { final int forcedDensity = getForcedDisplayDensityForUserLocked(newUserId); final int targetDensity = forcedDensity != 0 ? forcedDensity : displayContent.mInitialDisplayDensity; final int targetDensity = forcedDensity != 0 ? forcedDensity : displayContent.getInitialDisplayDensity(); displayContent.setForcedDensity(targetDensity, UserHandle.USER_CURRENT); } } Loading Loading @@ -5789,7 +5789,7 @@ public class WindowManagerService extends IWindowManager.Stub synchronized (mGlobalLock) { final DisplayContent displayContent = mRoot.getDisplayContent(displayId); if (displayContent != null && displayContent.hasAccess(Binder.getCallingUid())) { return displayContent.mInitialDisplayDensity; return displayContent.getInitialDisplayDensity(); } } return -1; Loading Loading @@ -5844,7 +5844,7 @@ public class WindowManagerService extends IWindowManager.Stub synchronized (mGlobalLock) { final DisplayContent displayContent = mRoot.getDisplayContent(displayId); if (displayContent != null) { displayContent.setForcedDensity(displayContent.mInitialDisplayDensity, displayContent.setForcedDensity(displayContent.getInitialDisplayDensity(), callingUserId); } } Loading