Avoid unnecessary layout passes from insets callbacks if they haven't changed

Change-Id: Ia7560bd466ff47103811a1a1795af5a5a25abb59
This commit is contained in:
Adam Cohen
2016-07-01 16:55:30 -07:00
parent c9e71b8876
commit d1e0cec518

View 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);