Create LoadResult.Page, LoadResult.Error
Make apps explicitly opt-in to Paging's error channel.
In order to support the two type of invalid states (exception thrown
vs error returned, intentionally), this change also extracts loading
out of PagedList.Builder(), outside of legacy compat (/testing)
cases.
This means reactive stream builders like LivePagedList have to manage
that load and error state more directly, which also clarifies their
role in initial load.
Test: ./gradlew paging:p-c:test paging:p-run:cC paging:p-rx:cC
Test: ./gradlew paging:p-c:updateApi paging:p-run:updateApi paging:p-rx:updateApi
Change-Id: I7571dc85fba6c1729ec5d99ec14bfae79d01cd7b
diff --git a/.idea/misc.xml b/.idea/misc.xml
index f4c5c4f..fbe0221 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -15,7 +15,7 @@
<option name="myDefaultNotNull" value="androidx.annotation.NonNull" />
<option name="myNullables">
<value>
- <list size="10">
+ <list size="12">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
@@ -26,12 +26,14 @@
<item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
<item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
<item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
+ <item index="10" class="java.lang.String" itemvalue="android.annotation.Nullable" />
+ <item index="11" class="java.lang.String" itemvalue="com.android.annotations.Nullable" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
- <list size="9">
+ <list size="11">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
@@ -41,14 +43,16 @@
<item index="6" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.NonNull" />
<item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
<item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
+ <item index="9" class="java.lang.String" itemvalue="android.annotation.NonNull" />
+ <item index="10" class="java.lang.String" itemvalue="com.android.annotations.NonNull" />
</list>
</value>
</option>
</component>
- <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
-</project>
+</project>
\ No newline at end of file