summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorRobert Carr <racarr@google.com>2019-06-21 17:30:57 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-06-21 17:30:57 -0700
commit9e4b7a3f8d3ad92fe956a3fdeb4c721d8dcabb1e (patch)
treeb8d45da2ecfbc34efdf7c10a20f86acee7b0b892 /core/java/android
parent7473e8fda93d8a2dc88242841b5913260e0a0900 (diff)
parent6397ab05f938473bc44ad8f9ddb7f27830fb6218 (diff)
Merge "ViewRootImpl: Ensure layout when configuration changes." into qt-dev
am: 6397ab05f9 Change-Id: I17feac89670b328f88878ce57636cf4954e0c6f3
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/view/ViewRootImpl.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 30bb2bbd3385..3016fa936a6f 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -4620,6 +4620,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,
@@ -4627,6 +4628,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);
@@ -4657,7 +4659,7 @@ public final class ViewRootImpl implements ViewParent,
reportNextDraw();
}
- if (mView != null && framesChanged) {
+ if (mView != null && (framesChanged || configChanged)) {
forceLayout(mView);
}
requestLayout();