summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alan Viverette <alanv@google.com> 2014-10-20 19:00:35 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2014-10-20 19:00:36 +0000
commite28cd1a276d64d697da89cac4941baf79f380f6c (patch)
tree80e7d44d78d43d802fb379b3c3ef60e1f3e04a8f
parent846b71daaf4468c01e5371ee64e19327f7c094f1 (diff)
parent177ec4608e919b309ec98ba8272cc1a16d1277e3 (diff)
Merge "Only request layout when removeView() actually removes a view" into lmp-mr1-dev
-rw-r--r--core/java/android/view/ViewGroup.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index 7538dffa59f6..134171a350aa 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -4078,9 +4078,10 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
* {@link #dispatchDraw(android.graphics.Canvas)} or any related method.</p>
*/
public void removeView(View view) {
- removeViewInternal(view);
- requestLayout();
- invalidate(true);
+ if (removeViewInternal(view)) {
+ requestLayout();
+ invalidate(true);
+ }
}
/**
@@ -4143,11 +4144,13 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
invalidate(true);
}
- private void removeViewInternal(View view) {
+ private boolean removeViewInternal(View view) {
final int index = indexOfChild(view);
if (index >= 0) {
removeViewInternal(index, view);
+ return true;
}
+ return false;
}
private void removeViewInternal(int index, View view) {