mirror of
https://github.com/M66B/FairEmail.git
synced 2024-12-22 07:42:52 +00:00
Prevent crash
This commit is contained in:
parent
13e3722b7a
commit
a9937508ca
2 changed files with 59 additions and 8 deletions
|
@ -525,14 +525,26 @@ public abstract class PagedList<T> extends AbstractList<T> {
|
||||||
|
|
||||||
@SuppressWarnings("WeakerAccess") /* synthetic access */
|
@SuppressWarnings("WeakerAccess") /* synthetic access */
|
||||||
void dispatchBoundaryCallbacks(boolean begin, boolean end) {
|
void dispatchBoundaryCallbacks(boolean begin, boolean end) {
|
||||||
// safe to deref mBoundaryCallback here, since we only defer if mBoundaryCallback present
|
try {
|
||||||
if (begin) {
|
// safe to deref mBoundaryCallback here, since we only defer if mBoundaryCallback present
|
||||||
//noinspection ConstantConditions
|
if (begin) {
|
||||||
mBoundaryCallback.onItemAtFrontLoaded(mStorage.getFirstLoadedItem());
|
//noinspection ConstantConditions
|
||||||
}
|
mBoundaryCallback.onItemAtFrontLoaded(mStorage.getFirstLoadedItem());
|
||||||
if (end) {
|
}
|
||||||
//noinspection ConstantConditions
|
if (end) {
|
||||||
mBoundaryCallback.onItemAtEndLoaded(mStorage.getLastLoadedItem());
|
//noinspection ConstantConditions
|
||||||
|
mBoundaryCallback.onItemAtEndLoaded(mStorage.getLastLoadedItem());
|
||||||
|
}
|
||||||
|
} catch (Throwable ex) {
|
||||||
|
eu.faircode.email.Log.w(ex);
|
||||||
|
/*
|
||||||
|
java.lang.ArrayIndexOutOfBoundsException: length=0; index=-1
|
||||||
|
at java.util.ArrayList.get(ArrayList.java:439)
|
||||||
|
at androidx.paging.PagedStorage.getLastLoadedItem(SourceFile:361)
|
||||||
|
at androidx.paging.PagedList.dispatchBoundaryCallbacks(SourceFile:535)
|
||||||
|
at androidx.paging.PagedList.tryDispatchBoundaryCallbacks(SourceFile:522)
|
||||||
|
at androidx.paging.PagedList$1.run(SourceFile:487)
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
39
patches/PagedList.patch
Normal file
39
patches/PagedList.patch
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
diff --git a/app/src/main/java/androidx/paging/PagedList.java b/app/src/main/java/androidx/paging/PagedList.java
|
||||||
|
index 1d4a184ef..19b8d5cca 100644
|
||||||
|
--- a/app/src/main/java/androidx/paging/PagedList.java
|
||||||
|
+++ b/app/src/main/java/androidx/paging/PagedList.java
|
||||||
|
@@ -525,14 +525,26 @@ public abstract class PagedList<T> extends AbstractList<T> {
|
||||||
|
|
||||||
|
@SuppressWarnings("WeakerAccess") /* synthetic access */
|
||||||
|
void dispatchBoundaryCallbacks(boolean begin, boolean end) {
|
||||||
|
- // safe to deref mBoundaryCallback here, since we only defer if mBoundaryCallback present
|
||||||
|
- if (begin) {
|
||||||
|
- //noinspection ConstantConditions
|
||||||
|
- mBoundaryCallback.onItemAtFrontLoaded(mStorage.getFirstLoadedItem());
|
||||||
|
- }
|
||||||
|
- if (end) {
|
||||||
|
- //noinspection ConstantConditions
|
||||||
|
- mBoundaryCallback.onItemAtEndLoaded(mStorage.getLastLoadedItem());
|
||||||
|
+ try {
|
||||||
|
+ // safe to deref mBoundaryCallback here, since we only defer if mBoundaryCallback present
|
||||||
|
+ if (begin) {
|
||||||
|
+ //noinspection ConstantConditions
|
||||||
|
+ mBoundaryCallback.onItemAtFrontLoaded(mStorage.getFirstLoadedItem());
|
||||||
|
+ }
|
||||||
|
+ if (end) {
|
||||||
|
+ //noinspection ConstantConditions
|
||||||
|
+ mBoundaryCallback.onItemAtEndLoaded(mStorage.getLastLoadedItem());
|
||||||
|
+ }
|
||||||
|
+ } catch (Throwable ex) {
|
||||||
|
+ eu.faircode.email.Log.w(ex);
|
||||||
|
+ /*
|
||||||
|
+ java.lang.ArrayIndexOutOfBoundsException: length=0; index=-1
|
||||||
|
+ at java.util.ArrayList.get(ArrayList.java:439)
|
||||||
|
+ at androidx.paging.PagedStorage.getLastLoadedItem(SourceFile:361)
|
||||||
|
+ at androidx.paging.PagedList.dispatchBoundaryCallbacks(SourceFile:535)
|
||||||
|
+ at androidx.paging.PagedList.tryDispatchBoundaryCallbacks(SourceFile:522)
|
||||||
|
+ at androidx.paging.PagedList$1.run(SourceFile:487)
|
||||||
|
+ */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue