summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yohei Yukawa <yukawa@google.com> 2015-08-04 21:06:06 +0000
committer Android Git Automerger <android-git-automerger@android.com> 2015-08-04 21:06:06 +0000
commitf4b8c343219f14f56c2c1b86ee9e84e0b7487ece (patch)
treee3716e269892df47c96198583ff168773d233368
parent94933e43dc9793f1bb788bee06000f8fbd8ed959 (diff)
parent9aebdb4c39bd958f0a568539ea503b2da494802e (diff)
am 9aebdb4c: am d7d14033: am 2d34a8b7: Merge "Revert "Do not forceLayout when window is resized"" into mnc-dev
* commit '9aebdb4c39bd958f0a568539ea503b2da494802e': Revert "Do not forceLayout when window is resized"
-rw-r--r--core/java/android/view/ViewRootImpl.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 928fe93d7e56..6e93a3031de5 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -3159,6 +3159,17 @@ public final class ViewRootImpl implements ViewParent,
return (theParent instanceof ViewGroup) && isViewDescendantOf((View) theParent, parent);
}
+ private static void forceLayout(View view) {
+ view.forceLayout();
+ if (view instanceof ViewGroup) {
+ ViewGroup group = (ViewGroup) view;
+ final int count = group.getChildCount();
+ for (int i = 0; i < count; i++) {
+ forceLayout(group.getChildAt(i));
+ }
+ }
+ }
+
private final static int MSG_INVALIDATE = 1;
private final static int MSG_INVALIDATE_RECT = 2;
private final static int MSG_DIE = 3;
@@ -3297,6 +3308,10 @@ public final class ViewRootImpl implements ViewParent,
mReportNextDraw = true;
}
+ if (mView != null) {
+ forceLayout(mView);
+ }
+
requestLayout();
}
break;
@@ -3311,6 +3326,9 @@ public final class ViewRootImpl implements ViewParent,
mWinFrame.top = t;
mWinFrame.bottom = t + h;
+ if (mView != null) {
+ forceLayout(mView);
+ }
requestLayout();
}
break;