kopia lustrzana https://github.com/ryukoposting/Signal-Android
Fix crash from using a closed Cursor.
The call to setActive was causing the cursor held by the ViewModel to be used, which hadn't been updated yet.fork-5.53.8
rodzic
c27f5787fe
commit
bd915cdd7f
|
@ -553,6 +553,8 @@ public final class MediaPreviewActivity extends PassphraseRequiredActivity
|
|||
}
|
||||
cursor = Objects.requireNonNull(data.first);
|
||||
|
||||
viewModel.setCursor(this, cursor, leftIsRecent);
|
||||
|
||||
int mediaPosition = Objects.requireNonNull(data.second);
|
||||
|
||||
CursorPagerAdapter oldAdapter = (CursorPagerAdapter) mediaPager.getAdapter();
|
||||
|
@ -565,13 +567,13 @@ public final class MediaPreviewActivity extends PassphraseRequiredActivity
|
|||
oldAdapter.setActive(true);
|
||||
}
|
||||
|
||||
viewModel.setCursor(this, cursor, leftIsRecent);
|
||||
if (oldAdapter == null || restartItem >= 0) {
|
||||
int item = restartItem >= 0 ? restartItem : mediaPosition;
|
||||
mediaPager.setCurrentItem(item);
|
||||
|
||||
int item = restartItem >= 0 ? restartItem : mediaPosition;
|
||||
mediaPager.setCurrentItem(item);
|
||||
|
||||
if (item == 0) {
|
||||
viewPagerListener.onPageSelected(0);
|
||||
if (item == 0) {
|
||||
viewPagerListener.onPageSelected(0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
mediaNotAvailable();
|
||||
|
|
Ładowanie…
Reference in New Issue