The issue is a crash that occurs onResume we load the cursor again and then set the pager position and that triggers viewPagerListener, but the listener is reused and holds an index which may or may not be valid. As range checks only check index is positive, we might have an index that exceeds the bounds, and if leftIsRecent is set then its reversed. This commit fixes the issue and adds some additional info if we do throw.
It'd be good to rewrite this class in the near future
Th clamping in onLoadFinished also improves an issue when the Activity is started wiyh an inalid index causing the pager to not be populated at all when the activity is opened
The issue is a crash that occurs onResume we load the cursor again and then set the pager position and that triggers viewPagerListener, but the listener is reused and holds an index which may or may not be valid. As range checks only check index is positive, we might have an index that exceeds the bounds, and if
leftIsRecent
is set then its reversed. This commit fixes the issue and adds some additional info if we do throw.It'd be good to rewrite this class in the near future
Th clamping in
onLoadFinished
also improves an issue when the Activity is started wiyh an inalid index causing the pager to not be populated at all when the activity is opened