kopia lustrzana https://github.com/ryukoposting/Signal-Android
Fix some thumbnail images not showing up in MediaGallery.
rodzic
25aa4f39a3
commit
e3b38e6d38
|
@ -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
|
@Override
|
||||||
public int getSectionCount() {
|
public int getSectionCount() {
|
||||||
return media.getSectionCount();
|
return media.getSectionCount();
|
||||||
|
@ -264,6 +272,10 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
||||||
bound = true;
|
bound = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void rebind() {
|
||||||
|
bound = true;
|
||||||
|
}
|
||||||
|
|
||||||
void unbind() {
|
void unbind() {
|
||||||
bound = false;
|
bound = false;
|
||||||
}
|
}
|
||||||
|
@ -297,6 +309,12 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
||||||
unbind();
|
unbind();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void onAttached() {
|
||||||
|
if (!bound) {
|
||||||
|
rebind();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class GalleryViewHolder extends SelectableViewHolder {
|
private class GalleryViewHolder extends SelectableViewHolder {
|
||||||
|
@ -307,6 +325,8 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
||||||
private final ThumbnailView thumbnailView;
|
private final ThumbnailView thumbnailView;
|
||||||
private final TextView imageFileSize;
|
private final TextView imageFileSize;
|
||||||
|
|
||||||
|
private Slide slide;
|
||||||
|
|
||||||
GalleryViewHolder(@NonNull View itemView) {
|
GalleryViewHolder(@NonNull View itemView) {
|
||||||
super(itemView);
|
super(itemView);
|
||||||
this.thumbnailView = itemView.findViewById(R.id.image);
|
this.thumbnailView = itemView.findViewById(R.id.image);
|
||||||
|
@ -316,7 +336,7 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
||||||
@Override
|
@Override
|
||||||
public void bind(@NonNull Context context, @NonNull MediaTable.MediaRecord mediaRecord, @NonNull Slide slide) {
|
public void bind(@NonNull Context context, @NonNull MediaTable.MediaRecord mediaRecord, @NonNull Slide slide) {
|
||||||
super.bind(context, mediaRecord, slide);
|
super.bind(context, mediaRecord, slide);
|
||||||
|
this.slide = slide;
|
||||||
if (showFileSizes | detailView) {
|
if (showFileSizes | detailView) {
|
||||||
imageFileSize.setText(Util.getPrettyFileSize(slide.getFileSize()));
|
imageFileSize.setText(Util.getPrettyFileSize(slide.getFileSize()));
|
||||||
imageFileSize.setVisibility(View.VISIBLE);
|
imageFileSize.setVisibility(View.VISIBLE);
|
||||||
|
@ -340,6 +360,12 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
||||||
thumbnailView.setScaleY(scale);
|
thumbnailView.setScaleY(scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void rebind() {
|
||||||
|
thumbnailView.setImageResource(glideRequests, slide, false, false);
|
||||||
|
super.rebind();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
void unbind() {
|
void unbind() {
|
||||||
thumbnailView.clear(glideRequests);
|
thumbnailView.clear(glideRequests);
|
||||||
|
@ -398,6 +424,13 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
||||||
liveDataPair.observeForever(this);
|
liveDataPair.observeForever(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void rebind() {
|
||||||
|
liveDataPair.observeForever(this);
|
||||||
|
handler.postDelayed(selectForMarque, 2500);
|
||||||
|
super.rebind();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
void unbind() {
|
void unbind() {
|
||||||
liveDataPair.removeObserver(this);
|
liveDataPair.removeObserver(this);
|
||||||
|
@ -517,6 +550,12 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
||||||
return context.getString(R.string.ThreadRecord_voice_message);
|
return context.getString(R.string.ThreadRecord_voice_message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void rebind() {
|
||||||
|
super.rebind();
|
||||||
|
audioItemListener.registerPlaybackStateObserver(audioView.getPlaybackStateObserver());
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
void unbind() {
|
void unbind() {
|
||||||
super.unbind();
|
super.unbind();
|
||||||
|
@ -533,6 +572,8 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
||||||
|
|
||||||
private final ThumbnailView thumbnailView;
|
private final ThumbnailView thumbnailView;
|
||||||
|
|
||||||
|
private Slide slide;
|
||||||
|
|
||||||
GalleryDetailViewHolder(@NonNull View itemView) {
|
GalleryDetailViewHolder(@NonNull View itemView) {
|
||||||
super(itemView);
|
super(itemView);
|
||||||
this.thumbnailView = itemView.findViewById(R.id.image);
|
this.thumbnailView = itemView.findViewById(R.id.image);
|
||||||
|
@ -541,7 +582,7 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
||||||
@Override
|
@Override
|
||||||
public void bind(@NonNull Context context, @NonNull MediaTable.MediaRecord mediaRecord, @NonNull Slide slide) {
|
public void bind(@NonNull Context context, @NonNull MediaTable.MediaRecord mediaRecord, @NonNull Slide slide) {
|
||||||
super.bind(context, mediaRecord, slide);
|
super.bind(context, mediaRecord, slide);
|
||||||
|
this.slide = slide;
|
||||||
thumbnailView.setImageResource(glideRequests, slide, false, false);
|
thumbnailView.setImageResource(glideRequests, slide, false, false);
|
||||||
thumbnailView.setOnClickListener(view -> itemClickListener.onMediaClicked(mediaRecord));
|
thumbnailView.setOnClickListener(view -> itemClickListener.onMediaClicked(mediaRecord));
|
||||||
thumbnailView.setOnLongClickListener(view -> onLongClick());
|
thumbnailView.setOnLongClickListener(view -> onLongClick());
|
||||||
|
@ -554,6 +595,12 @@ final class MediaGalleryAllAdapter extends StickyHeaderGridAdapter {
|
||||||
return super.getFileTypeDescription(context, slide);
|
return super.getFileTypeDescription(context, slide);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void rebind() {
|
||||||
|
thumbnailView.setImageResource(glideRequests, slide, false, false);
|
||||||
|
super.rebind();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
void unbind() {
|
void unbind() {
|
||||||
thumbnailView.clear(glideRequests);
|
thumbnailView.clear(glideRequests);
|
||||||
|
|
Ładowanie…
Reference in New Issue