mirror of
https://github.com/KokaKiwi/BarInsta
synced 2024-12-23 05:16:58 +00:00
patch downloaded check
This commit is contained in:
parent
bf9d847e4b
commit
65624f0b42
@ -24,6 +24,7 @@ import awais.instagrabber.models.PostsLayoutPreferences;
|
||||
import awais.instagrabber.models.enums.MediaItemType;
|
||||
import awais.instagrabber.repositories.responses.Media;
|
||||
import awais.instagrabber.repositories.responses.User;
|
||||
import awais.instagrabber.utils.AppExecutors;
|
||||
import awais.instagrabber.utils.DownloadUtils;
|
||||
import awais.instagrabber.utils.ResponseBodyUtils;
|
||||
import awais.instagrabber.utils.TextUtils;
|
||||
@ -105,28 +106,33 @@ public class FeedGridItemViewHolder extends RecyclerView.ViewHolder {
|
||||
binding.typeIcon.setVisibility(View.VISIBLE);
|
||||
binding.typeIcon.setImageResource(typeIconRes);
|
||||
}
|
||||
final List<Boolean> checkList = DownloadUtils.checkDownloaded(media);
|
||||
if (checkList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
switch (media.getMediaType()) {
|
||||
case MEDIA_TYPE_IMAGE:
|
||||
case MEDIA_TYPE_VIDEO:
|
||||
binding.downloaded.setVisibility(checkList.get(0) ? View.VISIBLE : View.GONE);
|
||||
binding.downloaded.setImageTintList(ColorStateList.valueOf(itemView.getResources().getColor(R.color.green_A400)));
|
||||
break;
|
||||
case MEDIA_TYPE_SLIDER:
|
||||
binding.downloaded.setVisibility(checkList.get(0) ? View.VISIBLE : View.GONE);
|
||||
final List<Media> carouselMedia = media.getCarouselMedia();
|
||||
boolean allDownloaded = checkList.size() == (carouselMedia == null ? 0 : carouselMedia.size());
|
||||
if (allDownloaded) {
|
||||
allDownloaded = checkList.stream().allMatch(downloaded -> downloaded);
|
||||
binding.downloaded.setVisibility(View.GONE);
|
||||
AppExecutors.INSTANCE.getTasksThread().execute(() -> {
|
||||
final List<Boolean> checkList = DownloadUtils.checkDownloaded(media);
|
||||
if (checkList.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
AppExecutors.INSTANCE.getMainThread().execute(() -> {
|
||||
switch (media.getMediaType()) {
|
||||
case MEDIA_TYPE_IMAGE:
|
||||
case MEDIA_TYPE_VIDEO:
|
||||
binding.downloaded.setVisibility(checkList.get(0) ? View.VISIBLE : View.GONE);
|
||||
binding.downloaded.setImageTintList(ColorStateList.valueOf(itemView.getResources().getColor(R.color.green_A400)));
|
||||
break;
|
||||
case MEDIA_TYPE_SLIDER:
|
||||
binding.downloaded.setVisibility(checkList.get(0) ? View.VISIBLE : View.GONE);
|
||||
final List<Media> carouselMedia = media.getCarouselMedia();
|
||||
boolean allDownloaded = checkList.size() == (carouselMedia == null ? 0 : carouselMedia.size());
|
||||
if (allDownloaded) {
|
||||
allDownloaded = checkList.stream().allMatch(downloaded -> downloaded);
|
||||
}
|
||||
binding.downloaded.setImageTintList(ColorStateList.valueOf(itemView.getResources().getColor(
|
||||
allDownloaded ? R.color.green_A400 : R.color.yellow_400)));
|
||||
break;
|
||||
default:
|
||||
}
|
||||
binding.downloaded.setImageTintList(ColorStateList.valueOf(itemView.getResources().getColor(
|
||||
allDownloaded ? R.color.green_A400 : R.color.yellow_400)));
|
||||
break;
|
||||
default:
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private void setThumbImage(final String thumbnailUrl) {
|
||||
|
Loading…
Reference in New Issue
Block a user