Merge "Mark two ContextCompat methods static." into mnc-ub-dev
diff --git a/v7/preference/src/android/support/v7/preference/PreferenceGroupAdapter.java b/v7/preference/src/android/support/v7/preference/PreferenceGroupAdapter.java
index 9943087..c4ccc66 100644
--- a/v7/preference/src/android/support/v7/preference/PreferenceGroupAdapter.java
+++ b/v7/preference/src/android/support/v7/preference/PreferenceGroupAdapter.java
@@ -79,6 +79,14 @@
         private int widgetResId;
         private String name;
 
+        public PreferenceLayout() {}
+
+        public PreferenceLayout(PreferenceLayout other) {
+            resId = other.resId;
+            widgetResId = other.widgetResId;
+            name = other.name;
+        }
+
         @Override
         public boolean equals(Object o) {
             if (!(o instanceof PreferenceLayout)) {
@@ -249,7 +257,14 @@
 
         mTempPreferenceLayout = createPreferenceLayout(preference, mTempPreferenceLayout);
 
-        return mPreferenceLayouts.indexOf(mTempPreferenceLayout);
+        int viewType = mPreferenceLayouts.indexOf(mTempPreferenceLayout);
+        if (viewType != -1) {
+            return viewType;
+        } else {
+            viewType = mPreferenceLayouts.size();
+            mPreferenceLayouts.add(new PreferenceLayout(mTempPreferenceLayout));
+            return viewType;
+        }
     }
 
     @Override