mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-21 02:08:40 +00:00
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.
This commit is contained in:
committed by
Alex Hart
parent
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();
|
||||
|
||||
Reference in New Issue
Block a user