Fix some thumbnail images not showing up in MediaGallery.
This commit is contained in:
parent
25aa4f39a3
commit
e3b38e6d38
1 changed files with 49 additions and 2 deletions
|
@ -183,6 +183,14 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewAttachedToWindow(@NonNull ViewHolder holder) {
|
||||
super.onViewAttachedToWindow(holder);
|
||||
if (holder instanceof SelectableViewHolder) {
|
||||
((SelectableViewHolder) holder).onAttached();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSectionCount() {
|
||||
return media.getSectionCount();
|
||||
|
@ -264,6 +272,10 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
|||
bound = true;
|
||||
}
|
||||
|
||||
void rebind() {
|
||||
bound = true;
|
||||
}
|
||||
|
||||
void unbind() {
|
||||
bound = false;
|
||||
}
|
||||
|
@ -297,6 +309,12 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
|||
unbind();
|
||||
}
|
||||
}
|
||||
|
||||
void onAttached() {
|
||||
if (!bound) {
|
||||
rebind();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class GalleryViewHolder extends SelectableViewHolder {
|
||||
|
@ -307,6 +325,8 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
|||
private final ThumbnailView thumbnailView;
|
||||
private final TextView imageFileSize;
|
||||
|
||||
private Slide slide;
|
||||
|
||||
GalleryViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
this.thumbnailView = itemView.findViewById(R.id.image);
|
||||
|
@ -316,7 +336,7 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
|||
@Override
|
||||
public void bind(@NonNull Context context, @NonNull MediaTable.MediaRecord mediaRecord, @NonNull Slide slide) {
|
||||
super.bind(context, mediaRecord, slide);
|
||||
|
||||
this.slide = slide;
|
||||
if (showFileSizes | detailView) {
|
||||
imageFileSize.setText(Util.getPrettyFileSize(slide.getFileSize()));
|
||||
imageFileSize.setVisibility(View.VISIBLE);
|
||||
|
@ -340,6 +360,12 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
|||
thumbnailView.setScaleY(scale);
|
||||
}
|
||||
|
||||
@Override
|
||||
void rebind() {
|
||||
thumbnailView.setImageResource(glideRequests, slide, false, false);
|
||||
super.rebind();
|
||||
}
|
||||
|
||||
@Override
|
||||
void unbind() {
|
||||
thumbnailView.clear(glideRequests);
|
||||
|
@ -398,6 +424,13 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
|||
liveDataPair.observeForever(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
void rebind() {
|
||||
liveDataPair.observeForever(this);
|
||||
handler.postDelayed(selectForMarque, 2500);
|
||||
super.rebind();
|
||||
}
|
||||
|
||||
@Override
|
||||
void unbind() {
|
||||
liveDataPair.removeObserver(this);
|
||||
|
@ -517,6 +550,12 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
|||
return context.getString(R.string.ThreadRecord_voice_message);
|
||||
}
|
||||
|
||||
@Override
|
||||
void rebind() {
|
||||
super.rebind();
|
||||
audioItemListener.registerPlaybackStateObserver(audioView.getPlaybackStateObserver());
|
||||
}
|
||||
|
||||
@Override
|
||||
void unbind() {
|
||||
super.unbind();
|
||||
|
@ -533,6 +572,8 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
|||
|
||||
private final ThumbnailView thumbnailView;
|
||||
|
||||
private Slide slide;
|
||||
|
||||
GalleryDetailViewHolder(@NonNull View itemView) {
|
||||
super(itemView);
|
||||
this.thumbnailView = itemView.findViewById(R.id.image);
|
||||
|
@ -541,7 +582,7 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
|||
@Override
|
||||
public void bind(@NonNull Context context, @NonNull MediaTable.MediaRecord mediaRecord, @NonNull Slide slide) {
|
||||
super.bind(context, mediaRecord, slide);
|
||||
|
||||
this.slide = slide;
|
||||
thumbnailView.setImageResource(glideRequests, slide, false, false);
|
||||
thumbnailView.setOnClickListener(view -> itemClickListener.onMediaClicked(mediaRecord));
|
||||
thumbnailView.setOnLongClickListener(view -> onLongClick());
|
||||
|
@ -554,6 +595,12 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
|||
return super.getFileTypeDescription(context, slide);
|
||||
}
|
||||
|
||||
@Override
|
||||
void rebind() {
|
||||
thumbnailView.setImageResource(glideRequests, slide, false, false);
|
||||
super.rebind();
|
||||
}
|
||||
|
||||
@Override
|
||||
void unbind() {
|
||||
thumbnailView.clear(glideRequests);
|
||||
|
|
Loading…
Add table
Reference in a new issue