@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 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; }
@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()) ; } }
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; }
webParams, ShareConstants.WEB_DIALOG_PARAM_QUOTE, shareLinkContent.getQuote());