@Override public ShareMediaContent build() { return new ShareMediaContent(this); }
@Override public Builder readFrom(final ShareMediaContent model) { if (model == null) { return this; } return super. readFrom(model) .addMedia(model.getMedia()); }
private static void validateMediaContent(ShareMediaContent mediaContent, Validator validator) { List<ShareMedia> media = mediaContent.getMedia(); if (media == null || media.isEmpty()) { throw new FacebookException("Must specify at least one medium in ShareMediaContent."); } if (media.size() > ShareConstants.MAXIMUM_MEDIA_COUNT) { throw new FacebookException( String.format( Locale.ROOT, "Cannot add more than %d media.", ShareConstants.MAXIMUM_MEDIA_COUNT)); } for (ShareMedia medium : media) { validator.validate(medium); } }
public static List<Bundle> getMediaInfos( final ShareMediaContent mediaContent, final UUID appCallId) { final List<ShareMedia> media; if (mediaContent == null || (media = mediaContent.getMedia()) == null) { return null; } final List<NativeAppCallAttachmentStore.Attachment> attachments = new ArrayList<>(); List<Bundle> mediaInfos = Utility.map( media, new Utility.Mapper<ShareMedia, Bundle>() { @Override public Bundle apply(ShareMedia item) { NativeAppCallAttachmentStore.Attachment attachment = getAttachment(appCallId, item); attachments.add(attachment); Bundle mediaInfo = new Bundle(); mediaInfo.putString( ShareConstants.MEDIA_TYPE, item.getMediaType().name()); mediaInfo.putString( ShareConstants.MEDIA_URI, attachment.getAttachmentUrl()); return mediaInfo; } }); NativeAppCallAttachmentStore.addAttachments(attachments); return mediaInfos; }
public ShareMediaContent createFromParcel(final Parcel in) { return new ShareMediaContent(in); }