diff options
| author | Robert Carr <racarr@google.com> | 2019-06-21 17:32:54 -0700 |
|---|---|---|
| committer | android-build-merger <android-build-merger@google.com> | 2019-06-21 17:32:54 -0700 |
| commit | 641d4f27e32e868c43fe135c623e2f76831e7d42 (patch) | |
| tree | 2fcd22f26763364ec93a1b6221916841297cf178 /core/java | |
| parent | 3d5285c16b7d4d260ab4b3b24a16c7f9a03c9813 (diff) | |
| parent | 6397ab05f938473bc44ad8f9ddb7f27830fb6218 (diff) | |
Merge "ViewRootImpl: Ensure layout when configuration changes." into qt-dev
am: 6397ab05f9
Change-Id: I023b06dc785cbf22783a426060aef55714a457d8
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/view/ViewRootImpl.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 3adddc790c67..5636f48fd072 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -4453,6 +4453,7 @@ public final class ViewRootImpl implements ViewParent, final int displayId = args.argi3; MergedConfiguration mergedConfiguration = (MergedConfiguration) args.arg4; final boolean displayChanged = mDisplay.getDisplayId() != displayId; + boolean configChanged = false; if (!mLastReportedMergedConfiguration.equals(mergedConfiguration)) { // If configuration changed - notify about that and, maybe, @@ -4460,6 +4461,7 @@ public final class ViewRootImpl implements ViewParent, performConfigurationChange(mergedConfiguration, false /* force */, displayChanged ? displayId : INVALID_DISPLAY /* same display */); + configChanged = true; } else if (displayChanged) { // Moved to display without config change - report last applied one. onMovedToDisplay(displayId, mLastConfigurationFromResources); @@ -4490,7 +4492,7 @@ public final class ViewRootImpl implements ViewParent, reportNextDraw(); } - if (mView != null && framesChanged) { + if (mView != null && (framesChanged || configChanged)) { forceLayout(mView); } requestLayout(); |
