mirror of
https://github.com/oxen-io/session-android.git
synced 2025-06-09 11:18:35 +00:00
parent
7507dadbe7
commit
d075a33d4e
@ -239,6 +239,11 @@ public final class MediaPreviewActivity extends PassphraseRequiredActionBarActiv
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!((MediaItemAdapter) mediaPager.getAdapter()).hasFragmentFor(mediaPager.getCurrentItem())) {
|
||||||
|
Log.d(TAG, "MediaItemAdapter wasn't ready. Posting again...");
|
||||||
|
viewModel.resubmitPreviewData();
|
||||||
|
}
|
||||||
|
|
||||||
View playbackControls = ((MediaItemAdapter) mediaPager.getAdapter()).getPlaybackControls(mediaPager.getCurrentItem());
|
View playbackControls = ((MediaItemAdapter) mediaPager.getAdapter()).getPlaybackControls(mediaPager.getCurrentItem());
|
||||||
|
|
||||||
if (previewData.getAlbumThumbnails().isEmpty() && previewData.getCaption() == null && playbackControls == null) {
|
if (previewData.getAlbumThumbnails().isEmpty() && previewData.getCaption() == null && playbackControls == null) {
|
||||||
@ -427,7 +432,6 @@ public final class MediaPreviewActivity extends PassphraseRequiredActionBarActiv
|
|||||||
mediaPager.setAdapter(adapter);
|
mediaPager.setAdapter(adapter);
|
||||||
adapter.setActive(true);
|
adapter.setActive(true);
|
||||||
|
|
||||||
Util.postToMain(() -> {
|
|
||||||
viewModel.setCursor(this, data.first, leftIsRecent);
|
viewModel.setCursor(this, data.first, leftIsRecent);
|
||||||
|
|
||||||
int item = restartItem >= 0 ? restartItem : data.second;
|
int item = restartItem >= 0 ? restartItem : data.second;
|
||||||
@ -436,7 +440,6 @@ public final class MediaPreviewActivity extends PassphraseRequiredActionBarActiv
|
|||||||
if (item == 0) {
|
if (item == 0) {
|
||||||
viewPagerListener.onPageSelected(0);
|
viewPagerListener.onPageSelected(0);
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -565,6 +568,11 @@ public final class MediaPreviewActivity extends PassphraseRequiredActionBarActiv
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasFragmentFor(int position) {
|
||||||
|
return mediaPreviewFragment != null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void anchorMarginsToBottomInsets(@NonNull View viewToAnchor) {
|
private static void anchorMarginsToBottomInsets(@NonNull View viewToAnchor) {
|
||||||
@ -703,6 +711,11 @@ public final class MediaPreviewActivity extends PassphraseRequiredActionBarActiv
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasFragmentFor(int position) {
|
||||||
|
return mediaFragments.containsKey(position);
|
||||||
|
}
|
||||||
|
|
||||||
private int getCursorPosition(int position) {
|
private int getCursorPosition(int position) {
|
||||||
if (leftIsRecent) return position;
|
if (leftIsRecent) return position;
|
||||||
else return cursor.getCount() - 1 - position;
|
else return cursor.getCount() - 1 - position;
|
||||||
@ -737,5 +750,6 @@ public final class MediaPreviewActivity extends PassphraseRequiredActionBarActiv
|
|||||||
MediaItem getMediaItemFor(int position);
|
MediaItem getMediaItemFor(int position);
|
||||||
void pause(int position);
|
void pause(int position);
|
||||||
@Nullable View getPlaybackControls(int position);
|
@Nullable View getPlaybackControls(int position);
|
||||||
|
boolean hasFragmentFor(int position);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -83,6 +83,10 @@ public class MediaPreviewViewModel extends ViewModel {
|
|||||||
rail.indexOf(activeMedia)));
|
rail.indexOf(activeMedia)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void resubmitPreviewData() {
|
||||||
|
previewData.postValue(previewData.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
private int getCursorPosition(int position) {
|
private int getCursorPosition(int position) {
|
||||||
if (cursor == null) {
|
if (cursor == null) {
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user