private static Bundle create(ShareLinkContent linkContent, boolean dataErrorsFatal) { Bundle params = createBaseParameters(linkContent, dataErrorsFatal); Utility.putNonEmptyString(params, ShareConstants.TITLE, linkContent.getContentTitle()); Utility.putNonEmptyString( params, ShareConstants.DESCRIPTION, linkContent.getContentDescription()); Utility.putUri(params, ShareConstants.IMAGE_URL, linkContent.getImageUrl()); Utility.putNonEmptyString(params, ShareConstants.QUOTE, linkContent.getQuote()); Utility.putUri(params, ShareConstants.MESSENGER_URL, linkContent.getContentUrl()); Utility.putUri(params, ShareConstants.TARGET_DISPLAY, linkContent.getContentUrl()); return params; }
public ShareLinkContent createFromParcel(final Parcel in) { return new ShareLinkContent(in); }
private void shareLinkContent(final ShareLinkContent linkContent, final FacebookCallback<Sharer.Result> callback) { final GraphRequest.Callback requestCallback = new GraphRequest.Callback() { @Override public void onCompleted(GraphResponse response) { final JSONObject data = response.getJSONObject(); final String postId = (data == null ? null : data.optString("id")); ShareInternalUtility.invokeCallbackWithResults(callback, postId, response); } }; final Bundle parameters = new Bundle(); this.addCommonParameters(parameters, linkContent); parameters.putString("message", this.getMessage()); parameters.putString("link", Utility.getUriString(linkContent.getContentUrl())); parameters.putString("picture", Utility.getUriString(linkContent.getImageUrl())); parameters.putString("name", linkContent.getContentTitle()); parameters.putString("description", linkContent.getContentDescription()); parameters.putString("ref", linkContent.getRef()); new GraphRequest( AccessToken.getCurrentAccessToken(), getGraphPath("feed"), parameters, HttpMethod.POST, requestCallback).executeAsync(); }
private static Bundle create(ShareLinkContent linkContent, boolean dataErrorsFatal) { Bundle params = createBaseParameters(linkContent, dataErrorsFatal); Utility.putNonEmptyString( params, ShareConstants.LEGACY_TITLE, linkContent.getContentTitle()); Utility.putNonEmptyString( params, ShareConstants.LEGACY_DESCRIPTION, linkContent.getContentDescription()); Utility.putUri(params, ShareConstants.LEGACY_IMAGE, linkContent.getImageUrl()); return params; }
public static Bundle create(ShareLinkContent shareLinkContent) { Bundle params = createBaseParameters(shareLinkContent); Utility.putUri( params, ShareConstants.WEB_DIALOG_PARAM_HREF, shareLinkContent.getContentUrl()); Utility.putNonEmptyString( params, ShareConstants.WEB_DIALOG_PARAM_QUOTE, shareLinkContent.getQuote()); return params; }
private static void validateLinkContent( ShareLinkContent linkContent, Validator validator) { Uri imageUrl = linkContent.getImageUrl(); if (imageUrl != null && !Utility.isWebUri(imageUrl)) { throw new FacebookException("Image Url must be an http:// or https:// url"); } }
@Override public void validate(ShareLinkContent linkContent) { if (!Utility.isNullOrEmpty(linkContent.getQuote())) { throw new FacebookException( "Cannot share link content with quote using the share api"); } } }
public static void assertEquals(final ShareLinkContent a, final ShareLinkContent b) { Assert.assertEquals(a.getContentDescription(), b.getContentDescription()); Assert.assertEquals(a.getImageUrl(), b.getImageUrl()); Assert.assertEquals(a.getContentTitle(), b.getContentTitle()); assertContentEquals(a, b); }
@Override public boolean canShow(final ShareContent content, boolean isBestEffort) { if (content == null || (content instanceof ShareCameraEffectContent) || (content instanceof ShareStoryContent)) { return false; } boolean canShowResult = true; if (!isBestEffort) { // The following features are considered best-effort and will not prevent the // native share dialog from being presented, even if the installed version does // not support the feature. // However, to let apps pivot to a different approach or dialog (for example, Web), // we need to be able to signal back when native support is lacking. if (content.getShareHashtag() != null) { canShowResult = DialogPresenter.canPresentNativeDialogWithFeature( ShareDialogFeature.HASHTAG); } if ((content instanceof ShareLinkContent) && (!Utility.isNullOrEmpty(((ShareLinkContent)content).getQuote()))) { canShowResult &= DialogPresenter.canPresentNativeDialogWithFeature( ShareDialogFeature.LINK_SHARE_QUOTES); } } return canShowResult && ShareDialog.canShowNative(content.getClass()); }
@Override public Builder readFrom(final ShareLinkContent model) { if (model == null) { return this; } return super .readFrom(model) .setContentDescription(model.getContentDescription()) .setImageUrl(model.getImageUrl()) .setContentTitle(model.getContentTitle()) .setQuote(model.getQuote()) ; } }
@Override public ShareLinkContent build() { return new ShareLinkContent(this); }
webParams, ShareConstants.WEB_DIALOG_PARAM_NAME, shareLinkContent.getContentTitle()); shareLinkContent.getContentDescription()); Utility.getUriString(shareLinkContent.getContentUrl())); Utility.getUriString(shareLinkContent.getImageUrl())); shareLinkContent.getQuote()); ShareHashtag shareHashtag = shareLinkContent.getShareHashtag(); if (shareHashtag != null) { Utility.putNonEmptyString( webParams, ShareConstants.WEB_DIALOG_PARAM_HASHTAG, shareLinkContent.getShareHashtag().getHashtag());