OSDN Git Service

Avoid unnecessary layout passes from insets callbacks if they haven't changed
authorAdam Cohen <adamcohen@google.com>
Fri, 1 Jul 2016 23:55:30 +0000 (16:55 -0700)
committerAdam Cohen <adamcohen@google.com>
Fri, 1 Jul 2016 23:55:52 +0000 (16:55 -0700)
Change-Id: Ia7560bd466ff47103811a1a1795af5a5a25abb59

src/com/android/launcher3/InsettableFrameLayout.java

index db4d855..154641c 100644 (file)
@@ -43,6 +43,10 @@ public class InsettableFrameLayout extends FrameLayout implements
 
     @Override
     public void setInsets(Rect insets) {
+        // If the insets haven't changed, this is a no-op. Avoid unnecessary layout caused by
+        // modifying child layout params.
+        if (insets.equals(mInsets)) return;
+
         final int n = getChildCount();
         for (int i = 0; i < n; i++) {
             final View child = getChildAt(i);