Fix defaults for ConcatAdapter Config
This fixes an issue in ConcatAdapter config where the default
values did not match what is documented.
Bug: 181911004
Test: ConcatAdapterTest
Change-Id: I579a72e9acd938af7715e9c50684125bfa31fc78
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterTest.kt
index 01619d2..38f728d 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/ConcatAdapterTest.kt
@@ -1153,6 +1153,17 @@
)
}
+ @Test
+ public fun builderDefaults() {
+ val defaultBuilder = Builder().build()
+ assertThat(defaultBuilder.isolateViewTypes).isEqualTo(
+ ConcatAdapter.Config.DEFAULT.isolateViewTypes
+ )
+ assertThat(defaultBuilder.stableIdMode).isEqualTo(
+ ConcatAdapter.Config.DEFAULT.stableIdMode
+ )
+ }
+
private var itemCounter = 0
private fun produceItem(): TestItem = (itemCounter++).let {
TestItem(id = it, value = it)
diff --git a/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/ConcatAdapter.java b/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/ConcatAdapter.java
index 21a9492..e2bb204 100644
--- a/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/ConcatAdapter.java
+++ b/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/ConcatAdapter.java
@@ -353,6 +353,11 @@
public final StableIdMode stableIdMode;
+ /**
+ * Default configuration for {@link ConcatAdapter} where {@link Config#isolateViewTypes}
+ * is set to {@code true} and {@link Config#stableIdMode} is set to
+ * {@link StableIdMode#NO_STABLE_IDS}.
+ */
@NonNull
public static final Config DEFAULT = new Config(true, NO_STABLE_IDS);
@@ -403,8 +408,8 @@
* The builder for {@link Config} class.
*/
public static final class Builder {
- private boolean mIsolateViewTypes;
- private StableIdMode mStableIdMode = NO_STABLE_IDS;
+ private boolean mIsolateViewTypes = DEFAULT.isolateViewTypes;
+ private StableIdMode mStableIdMode = DEFAULT.stableIdMode;
/**
* Sets whether {@link ConcatAdapter} should isolate view types of nested adapters from
@@ -413,7 +418,8 @@
* @param isolateViewTypes {@code true} if {@link ConcatAdapter} should override view
* types of nested adapters to avoid view type
* conflicts, {@code false} otherwise.
- * Defaults to true.
+ * Defaults to {@link Config#DEFAULT}'s
+ * {@link Config#isolateViewTypes} value ({@code true}).
* @return this
* @see Config#isolateViewTypes
*/
@@ -429,7 +435,8 @@
* for details.
*
* @param stableIdMode The stable id mode for the {@link ConcatAdapter}. Defaults to
- * {@link StableIdMode#NO_STABLE_IDS}.
+ * {@link Config#DEFAULT}'s {@link Config#stableIdMode} value
+ * ({@link StableIdMode#NO_STABLE_IDS}).
* @return this
* @see Config#stableIdMode
*/