Merge "Simplify WindowState#reportResized" into rvc-dev am: 456365644b am: 95cf4eb131 am: 58eab9c376
Change-Id: I54e803e3f23848f4f0180cff8e59ca77bb6feedd
This commit is contained in:
@@ -3427,53 +3427,38 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
|||||||
}
|
}
|
||||||
|
|
||||||
void reportResized() {
|
void reportResized() {
|
||||||
|
if (Trace.isTagEnabled(TRACE_TAG_WINDOW_MANAGER)) {
|
||||||
Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "wm.reportResized_" + getWindowTag());
|
Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "wm.reportResized_" + getWindowTag());
|
||||||
try {
|
|
||||||
ProtoLog.v(WM_DEBUG_RESIZE,
|
|
||||||
"Reporting new frame to %s: %s", this,
|
|
||||||
mWindowFrames.mCompatFrame);
|
|
||||||
final MergedConfiguration mergedConfiguration =
|
|
||||||
new MergedConfiguration(getProcessGlobalConfiguration(),
|
|
||||||
getMergedOverrideConfiguration());
|
|
||||||
|
|
||||||
setLastReportedMergedConfiguration(mergedConfiguration);
|
|
||||||
|
|
||||||
if (mWinAnimator.mDrawState == DRAW_PENDING) {
|
|
||||||
ProtoLog.i(WM_DEBUG_ORIENTATION,
|
|
||||||
"Resizing %s WITH DRAW PENDING", this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ProtoLog.v(WM_DEBUG_RESIZE, "Reporting new frame to %s: %s", this,
|
||||||
|
mWindowFrames.mCompatFrame);
|
||||||
|
if (mWinAnimator.mDrawState == DRAW_PENDING) {
|
||||||
|
ProtoLog.i(WM_DEBUG_ORIENTATION, "Resizing %s WITH DRAW PENDING", this);
|
||||||
|
}
|
||||||
|
|
||||||
|
getMergedConfiguration(mLastReportedConfiguration);
|
||||||
|
mLastConfigReportedToClient = true;
|
||||||
|
|
||||||
final Rect frame = mWindowFrames.mCompatFrame;
|
final Rect frame = mWindowFrames.mCompatFrame;
|
||||||
final Rect contentInsets = mWindowFrames.mLastContentInsets;
|
final Rect contentInsets = mWindowFrames.mLastContentInsets;
|
||||||
final Rect visibleInsets = mWindowFrames.mLastVisibleInsets;
|
final Rect visibleInsets = mWindowFrames.mLastVisibleInsets;
|
||||||
final Rect stableInsets = mWindowFrames.mLastStableInsets;
|
final Rect stableInsets = mWindowFrames.mLastStableInsets;
|
||||||
|
final MergedConfiguration mergedConfiguration = mLastReportedConfiguration;
|
||||||
final boolean reportDraw = mWinAnimator.mDrawState == DRAW_PENDING;
|
final boolean reportDraw = mWinAnimator.mDrawState == DRAW_PENDING;
|
||||||
final boolean reportOrientation = mReportOrientationChanged;
|
final boolean forceRelayout = mReportOrientationChanged || isDragResizeChanged();
|
||||||
final int displayId = getDisplayId();
|
final int displayId = getDisplayId();
|
||||||
final DisplayCutout displayCutout = getWmDisplayCutout().getDisplayCutout();
|
final DisplayCutout displayCutout = getWmDisplayCutout().getDisplayCutout();
|
||||||
if (mAttrs.type != WindowManager.LayoutParams.TYPE_APPLICATION_STARTING
|
|
||||||
&& mClient instanceof IWindow.Stub) {
|
|
||||||
// To prevent deadlock simulate one-way call if win.mClient is a local object.
|
|
||||||
mWmService.mH.post(new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
try {
|
try {
|
||||||
dispatchResized(frame, contentInsets, visibleInsets,
|
mClient.resized(frame, contentInsets, visibleInsets, stableInsets, reportDraw,
|
||||||
stableInsets, reportDraw, mergedConfiguration,
|
mergedConfiguration, getBackdropFrame(frame), forceRelayout,
|
||||||
reportOrientation, displayId, displayCutout);
|
getDisplayContent().getDisplayPolicy().areSystemBarsForcedShownLw(this),
|
||||||
} catch (RemoteException e) {
|
displayId, new DisplayCutout.ParcelableWrapper(displayCutout));
|
||||||
// Not a remote call, RemoteException won't be raised.
|
mDragResizingChangeReported = true;
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
dispatchResized(frame, contentInsets, visibleInsets, stableInsets,
|
|
||||||
reportDraw, mergedConfiguration, reportOrientation, displayId,
|
|
||||||
displayCutout);
|
|
||||||
}
|
|
||||||
if (mWmService.mAccessibilityController != null) {
|
if (mWmService.mAccessibilityController != null) {
|
||||||
mWmService.mAccessibilityController.onSomeWindowResizedOrMovedLocked(
|
mWmService.mAccessibilityController.onSomeWindowResizedOrMovedLocked(displayId);
|
||||||
getDisplayId());
|
|
||||||
}
|
}
|
||||||
updateLocationInParentDisplayIfNeeded();
|
updateLocationInParentDisplayIfNeeded();
|
||||||
|
|
||||||
@@ -3603,20 +3588,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
|||||||
return stack.mTaskId;
|
return stack.mTaskId;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void dispatchResized(Rect frame, Rect contentInsets,
|
|
||||||
Rect visibleInsets, Rect stableInsets, boolean reportDraw,
|
|
||||||
MergedConfiguration mergedConfiguration, boolean reportOrientation, int displayId,
|
|
||||||
DisplayCutout displayCutout)
|
|
||||||
throws RemoteException {
|
|
||||||
final boolean forceRelayout = isDragResizeChanged() || reportOrientation;
|
|
||||||
|
|
||||||
mClient.resized(frame, contentInsets, visibleInsets, stableInsets,
|
|
||||||
reportDraw, mergedConfiguration, getBackdropFrame(frame), forceRelayout,
|
|
||||||
getDisplayContent().getDisplayPolicy().areSystemBarsForcedShownLw(this), displayId,
|
|
||||||
new DisplayCutout.ParcelableWrapper(displayCutout));
|
|
||||||
mDragResizingChangeReported = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void registerFocusObserver(IWindowFocusObserver observer) {
|
public void registerFocusObserver(IWindowFocusObserver observer) {
|
||||||
synchronized (mWmService.mGlobalLock) {
|
synchronized (mWmService.mGlobalLock) {
|
||||||
if (mFocusCallbacks == null) {
|
if (mFocusCallbacks == null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user