Merge "Initialize DisplayContent base info when object is constructed" into cw-e-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
fe482e0bca
@@ -116,6 +116,7 @@ class DisplayContent {
|
|||||||
display.getDisplayInfo(mDisplayInfo);
|
display.getDisplayInfo(mDisplayInfo);
|
||||||
isDefaultDisplay = mDisplayId == Display.DEFAULT_DISPLAY;
|
isDefaultDisplay = mDisplayId == Display.DEFAULT_DISPLAY;
|
||||||
mService = service;
|
mService = service;
|
||||||
|
initializeDisplayBaseInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
int getDisplayId() {
|
int getDisplayId() {
|
||||||
@@ -176,6 +177,21 @@ class DisplayContent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void initializeDisplayBaseInfo() {
|
||||||
|
synchronized(mDisplaySizeLock) {
|
||||||
|
// Bootstrap the default logical display from the display manager.
|
||||||
|
final DisplayInfo newDisplayInfo =
|
||||||
|
mService.mDisplayManagerInternal.getDisplayInfo(mDisplayId);
|
||||||
|
if (newDisplayInfo != null) {
|
||||||
|
mDisplayInfo.copyFrom(newDisplayInfo);
|
||||||
|
}
|
||||||
|
mBaseDisplayWidth = mInitialDisplayWidth = mDisplayInfo.logicalWidth;
|
||||||
|
mBaseDisplayHeight = mInitialDisplayHeight = mDisplayInfo.logicalHeight;
|
||||||
|
mBaseDisplayDensity = mInitialDisplayDensity = mDisplayInfo.logicalDensityDpi;
|
||||||
|
mBaseDisplayRect.set(0, 0, mBaseDisplayWidth, mBaseDisplayHeight);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void getLogicalDisplayRect(Rect out) {
|
void getLogicalDisplayRect(Rect out) {
|
||||||
// Uses same calculation as in LogicalDisplay#configureDisplayInTransactionLocked.
|
// Uses same calculation as in LogicalDisplay#configureDisplayInTransactionLocked.
|
||||||
final int orientation = mDisplayInfo.rotation;
|
final int orientation = mDisplayInfo.rotation;
|
||||||
|
|||||||
@@ -7670,22 +7670,7 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
final DisplayContent displayContent = getDisplayContentLocked(displayId);
|
final DisplayContent displayContent = getDisplayContentLocked(displayId);
|
||||||
if (displayContent != null) {
|
if (displayContent != null) {
|
||||||
mAnimator.addDisplayLocked(displayId);
|
mAnimator.addDisplayLocked(displayId);
|
||||||
synchronized(displayContent.mDisplaySizeLock) {
|
displayContent.initializeDisplayBaseInfo();
|
||||||
// Bootstrap the default logical display from the display manager.
|
|
||||||
final DisplayInfo displayInfo = displayContent.getDisplayInfo();
|
|
||||||
DisplayInfo newDisplayInfo = mDisplayManagerInternal.getDisplayInfo(displayId);
|
|
||||||
if (newDisplayInfo != null) {
|
|
||||||
displayInfo.copyFrom(newDisplayInfo);
|
|
||||||
}
|
|
||||||
displayContent.mInitialDisplayWidth = displayInfo.logicalWidth;
|
|
||||||
displayContent.mInitialDisplayHeight = displayInfo.logicalHeight;
|
|
||||||
displayContent.mInitialDisplayDensity = displayInfo.logicalDensityDpi;
|
|
||||||
displayContent.mBaseDisplayWidth = displayContent.mInitialDisplayWidth;
|
|
||||||
displayContent.mBaseDisplayHeight = displayContent.mInitialDisplayHeight;
|
|
||||||
displayContent.mBaseDisplayDensity = displayContent.mInitialDisplayDensity;
|
|
||||||
displayContent.mBaseDisplayRect.set(0, 0,
|
|
||||||
displayContent.mBaseDisplayWidth, displayContent.mBaseDisplayHeight);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user