mirror of
				https://github.com/KokaKiwi/BarInsta
				synced 2025-10-30 19:15:35 +00:00 
			
		
		
		
	
							parent
							
								
									85953352b9
								
							
						
					
					
						commit
						cea09771d6
					
				| @ -89,7 +89,7 @@ public class DirectItemMediaShareViewHolder extends DirectItemViewHolder { | ||||
| 
 | ||||
|     private void setupPreview(@NonNull final Media media, | ||||
|                               final MessageDirection messageDirection) { | ||||
|         final String url = ResponseBodyUtils.getThumbUrl(media.getImageVersions2()); | ||||
|         final String url = ResponseBodyUtils.getThumbUrl(media); | ||||
|         if (Objects.equals(url, binding.mediaPreview.getTag())) { | ||||
|             return; | ||||
|         } | ||||
|  | ||||
| @ -66,9 +66,7 @@ public class DirectItemMediaViewHolder extends DirectItemViewHolder { | ||||
|         binding.mediaPreview.requestLayout(); | ||||
|         binding.bgTime.getLayoutParams().width = width; | ||||
|         binding.bgTime.requestLayout(); | ||||
|         final ImageVersions2 imageVersions2 = media.getImageVersions2(); | ||||
|         if (imageVersions2 == null) return; | ||||
|         final String thumbUrl = ResponseBodyUtils.getThumbUrl(imageVersions2); | ||||
|         final String thumbUrl = ResponseBodyUtils.getThumbUrl(media); | ||||
|         binding.mediaPreview.setImageURI(thumbUrl); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -86,8 +86,7 @@ public class DirectItemProfileViewHolder extends DirectItemViewHolder { | ||||
|         for (int i = 0; i < previewMedias.size(); i++) { | ||||
|             final Media previewMedia = previewMedias.get(i); | ||||
|             if (previewMedia == null) continue; | ||||
|             final ImageVersions2 imageVersions2 = previewMedia.getImageVersions2(); | ||||
|             final String url = ResponseBodyUtils.getThumbUrl(imageVersions2); | ||||
|             final String url = ResponseBodyUtils.getThumbUrl(previewMedia); | ||||
|             if (url == null) continue; | ||||
|             previewViews.get(i).setImageURI(url); | ||||
|         } | ||||
|  | ||||
| @ -180,9 +180,7 @@ public class DirectItemRavenMediaViewHolder extends DirectItemViewHolder { | ||||
|         layoutParams.width = widthHeight.first != null ? widthHeight.first : 0; | ||||
|         layoutParams.height = widthHeight.second != null ? widthHeight.second : 0; | ||||
|         binding.preview.requestLayout(); | ||||
|         final ImageVersions2 imageVersions2 = media.getImageVersions2(); | ||||
|         if (imageVersions2 == null) return; | ||||
|         final String thumbUrl = ResponseBodyUtils.getThumbUrl(imageVersions2); | ||||
|         final String thumbUrl = ResponseBodyUtils.getThumbUrl(media); | ||||
|         binding.preview.setImageURI(thumbUrl); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -162,9 +162,7 @@ public class DirectItemReelShareViewHolder extends DirectItemViewHolder { | ||||
|         binding.preview.setHierarchy(new GenericDraweeHierarchyBuilder(itemView.getResources()) | ||||
|                                              .setRoundingParams(roundingParams) | ||||
|                                              .build()); | ||||
|         final ImageVersions2 imageVersions2 = media.getImageVersions2(); | ||||
|         if (imageVersions2 == null) return; | ||||
|         final String thumbUrl = ResponseBodyUtils.getThumbUrl(imageVersions2); | ||||
|         final String thumbUrl = ResponseBodyUtils.getThumbUrl(media); | ||||
|         binding.preview.setImageURI(thumbUrl); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -86,9 +86,7 @@ public class DirectItemStoryShareViewHolder extends DirectItemViewHolder { | ||||
|         layoutParams.width = widthHeight.first != null ? widthHeight.first : 0; | ||||
|         layoutParams.height = widthHeight.second != null ? widthHeight.second : 0; | ||||
|         binding.ivMediaPreview.requestLayout(); | ||||
|         final ImageVersions2 imageVersions2 = storyShareMedia.getImageVersions2(); | ||||
|         if (imageVersions2 == null) return; | ||||
|         final String thumbUrl = ResponseBodyUtils.getThumbUrl(imageVersions2); | ||||
|         final String thumbUrl = ResponseBodyUtils.getThumbUrl(storyShareMedia); | ||||
|         binding.ivMediaPreview.setImageURI(thumbUrl); | ||||
|     } | ||||
| 
 | ||||
|  | ||||
| @ -242,10 +242,10 @@ public abstract class DirectItemViewHolder extends RecyclerView.ViewHolder imple | ||||
|                 text = replied.getPlaceholder().getMessage(); | ||||
|                 break; | ||||
|             case MEDIA: | ||||
|                 url = ResponseBodyUtils.getThumbUrl(replied.getMedia().getImageVersions2()); | ||||
|                 url = ResponseBodyUtils.getThumbUrl(replied.getMedia()); | ||||
|                 break; | ||||
|             case RAVEN_MEDIA: | ||||
|                 url = ResponseBodyUtils.getThumbUrl(replied.getVisualMedia().getMedia().getImageVersions2()); | ||||
|                 url = ResponseBodyUtils.getThumbUrl(replied.getVisualMedia().getMedia()); | ||||
|                 break; | ||||
|             case VOICE_MEDIA: | ||||
|                 text = resources.getString(R.string.voice_message); | ||||
| @ -255,7 +255,7 @@ public abstract class DirectItemViewHolder extends RecyclerView.ViewHolder imple | ||||
|                 if (mediaShare.getMediaType() == MediaItemType.MEDIA_TYPE_SLIDER) { | ||||
|                     mediaShare = mediaShare.getCarouselMedia().get(0); | ||||
|                 } | ||||
|                 url = ResponseBodyUtils.getThumbUrl(mediaShare.getImageVersions2()); | ||||
|                 url = ResponseBodyUtils.getThumbUrl(mediaShare); | ||||
|                 break; | ||||
|             case REEL_SHARE: | ||||
|                 text = replied.getReelShare().getText(); | ||||
|  | ||||
| @ -13,6 +13,7 @@ import org.json.JSONObject; | ||||
| import java.util.ArrayList; | ||||
| import java.util.Collections; | ||||
| import java.util.List; | ||||
| import java.util.stream.Collectors; | ||||
| 
 | ||||
| import awais.instagrabber.BuildConfig; | ||||
| import awais.instagrabber.models.StoryModel; | ||||
| @ -1094,29 +1095,24 @@ public final class ResponseBodyUtils { | ||||
|     } | ||||
| 
 | ||||
|     public static String getThumbUrl(final Media media) { | ||||
|         if (media == null) { | ||||
|             return null; | ||||
|         } | ||||
|         final ImageVersions2 imageVersions2 = media.getImageVersions2(); | ||||
|         return getThumbUrl(imageVersions2); | ||||
|     } | ||||
| 
 | ||||
|     public static String getThumbUrl(final ImageVersions2 imageVersions2) { | ||||
|         if (imageVersions2 == null) return null; | ||||
|         final List<MediaCandidate> candidates = imageVersions2.getCandidates(); | ||||
|         if (candidates == null || candidates.isEmpty()) return null; | ||||
|         final MediaCandidate mediaCandidate = candidates.get(candidates.size() - 1); | ||||
|         if (mediaCandidate == null) return null; | ||||
|         return mediaCandidate.getUrl(); | ||||
|         return getImageCandidate(media, CandidateType.THUMBNAIL); | ||||
|     } | ||||
| 
 | ||||
|     public static String getImageUrl(final Media media) { | ||||
|         return getImageCandidate(media, CandidateType.DOWNLOAD); | ||||
|     } | ||||
| 
 | ||||
|     private static String getImageCandidate(final Media media, final CandidateType type) { | ||||
|         if (media == null) return null; | ||||
|         final ImageVersions2 imageVersions2 = media.getImageVersions2(); | ||||
|         if (imageVersions2 == null) return null; | ||||
|         final List<MediaCandidate> candidates = imageVersions2.getCandidates(); | ||||
|         if (candidates == null || candidates.isEmpty()) return null; | ||||
|         final MediaCandidate candidate = candidates.get(0); | ||||
|         final List<MediaCandidate> sortedCandidates = candidates.stream() | ||||
|                 .sorted((c1, c2) -> Integer.compare(c2.getWidth(), c1.getWidth())) | ||||
|                 .filter(c -> c.getWidth() < type.getValue()) | ||||
|                 .collect(Collectors.toList()); | ||||
|         final MediaCandidate candidate = sortedCandidates.get(0); | ||||
|         if (candidate == null) return null; | ||||
|         return candidate.getUrl(); | ||||
|     } | ||||
| @ -1133,4 +1129,19 @@ public final class ResponseBodyUtils { | ||||
|         model.setVideoUrl(data.getString("dash_playback_url")); | ||||
|         return model; | ||||
|     } | ||||
| 
 | ||||
|     private enum CandidateType { | ||||
|         THUMBNAIL(1000), | ||||
|         DOWNLOAD(10000); | ||||
| 
 | ||||
|         private final int value; | ||||
| 
 | ||||
|         CandidateType(final int value) { | ||||
|             this.value = value; | ||||
|         } | ||||
| 
 | ||||
|         public int getValue() { | ||||
|             return value; | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user