Force children to layout after listview layout.
This works around a bug in ListView in N and N-MR1.
Test: confirmed that the contact picker accepts clicks
immediately after load when fastscroll enabled on N-MR1
Bug: 31160338
Change-Id: I0aeef3d7554a88b0fb2c083234152be47beb3b2e
diff --git a/src/com/android/contacts/common/list/AutoScrollListView.java b/src/com/android/contacts/common/list/AutoScrollListView.java
index ae7ca17..d0070b5 100644
--- a/src/com/android/contacts/common/list/AutoScrollListView.java
+++ b/src/com/android/contacts/common/list/AutoScrollListView.java
@@ -17,6 +17,7 @@
package com.android.contacts.common.list;
import android.content.Context;
+import android.os.Build;
import android.util.AttributeSet;
import android.widget.ListView;
@@ -114,4 +115,15 @@
smoothScrollToPositionFromTop(position, offset);
}
}
+
+ @Override
+ protected void onLayout(boolean changed, int l, int t, int r, int b) {
+ super.onLayout(changed, l, t, r, b);
+
+ // Workaround for b/31160338.
+ if (android.os.Build.VERSION.SDK_INT == Build.VERSION_CODES.N
+ || android.os.Build.VERSION.SDK_INT == Build.VERSION_CODES.N_MR1) {
+ layoutChildren();
+ }
+ }
}