@Override public AppCall createAppCall(final LikeContent content) { final AppCall appCall = createBaseAppCall(); DialogPresenter.setupAppCallForNativeDialog( appCall, new DialogPresenter.ParameterProvider() { @Override public Bundle getParameters() { return createParameters(content); } @Override public Bundle getLegacyParameters() { // Like is not supported with legacy fb4a devices. Should never get here Log.e(TAG, "Attempting to present the Like Dialog with an outdated " + "Facebook app on the device"); return new Bundle(); } }, getFeature()); return appCall; }
@Override public AppCall createAppCall(final ShareContent content) { logDialogShare(getActivityContext(), content, Mode.WEB); final AppCall appCall = createBaseAppCall(); ShareContentValidation.validateForWebShare(content); Bundle params; if (content instanceof ShareLinkContent) { params = WebDialogParameters.create((ShareLinkContent)content); } else { params = WebDialogParameters.create((ShareOpenGraphContent)content); } DialogPresenter.setupAppCallForWebDialog( appCall, getActionName(content), params); return appCall; }
@Override public AppCall createAppCall(final ShareContent content) { logDialogShare(getActivityContext(), content, Mode.FEED); AppCall appCall = createBaseAppCall(); Bundle params; if (content instanceof ShareLinkContent) { ShareLinkContent linkContent = (ShareLinkContent)content; ShareContentValidation.validateForWebShare(linkContent); params = WebDialogParameters.createForFeed(linkContent); } else { ShareFeedContent feedContent = (ShareFeedContent)content; params = WebDialogParameters.createForFeed(feedContent); } DialogPresenter.setupAppCallForWebDialog( appCall, FEED_DIALOG, params); return appCall; }
@Override public AppCall createAppCall(final ShareContent content) { logDialogShare(getActivityContext(), content, Mode.FEED); final ShareLinkContent linkContent = (ShareLinkContent)content; final AppCall appCall = createBaseAppCall(); ShareContentValidation.validateForWebShare(linkContent); DialogPresenter.setupAppCallForWebDialog( appCall, FEED_DIALOG, WebDialogParameters.createForFeed(linkContent)); return appCall; }
@Override public AppCall createAppCall(final LikeContent content) { final AppCall appCall = createBaseAppCall(); DialogPresenter.setupAppCallForWebFallbackDialog( appCall, createParameters(content), getFeature()); return appCall; }
@Override public AppCall createAppCall(final ShareContent content) { ShareContentValidation.validateForMessage(content); final AppCall appCall = createBaseAppCall(); final boolean shouldFailOnDataError = getShouldFailOnDataError(); final Activity activity = getActivityContext(); DialogPresenter.setupAppCallForNativeDialog( appCall, new DialogPresenter.ParameterProvider() { @Override public Bundle getParameters() { return NativeDialogParameters.create( appCall.getCallId(), content, shouldFailOnDataError); } @Override public Bundle getLegacyParameters() { return LegacyNativeDialogParameters.create( appCall.getCallId(), content, shouldFailOnDataError); } }, getFeature(content.getClass())); return appCall; }
@Override public AppCall createAppCall(final ShareContent content) { logDialogShare(getActivityContext(), content, Mode.NATIVE); ShareContentValidation.validateForNativeShare(content); final AppCall appCall = createBaseAppCall(); final boolean shouldFailOnDataError = getShouldFailOnDataError(); DialogPresenter.setupAppCallForNativeDialog( appCall, new DialogPresenter.ParameterProvider() { @Override public Bundle getParameters() { return NativeDialogParameters.create( appCall.getCallId(), content, shouldFailOnDataError); } @Override public Bundle getLegacyParameters() { return LegacyNativeDialogParameters.create( appCall.getCallId(), content, shouldFailOnDataError); } }, getFeature(content.getClass())); return appCall; }
@Override public AppCall createAppCall(final String content) { AppCall appCall = createBaseAppCall(); Bundle params = new Bundle(); params.putString(ShareConstants.WEB_DIALOG_PARAM_ID, content); DialogPresenter.setupAppCallForWebDialog( appCall, JOIN_GAME_GROUP_DIALOG, params); return appCall; }
@Override public AppCall createAppCall(final GameRequestContent content) { GameRequestValidation.validate(content); AppCall appCall = createBaseAppCall(); DialogPresenter.setupAppCallForWebDialog( appCall, GAME_REQUEST_DIALOG, WebDialogParameters.create(content)); return appCall; }
@Override public AppCall createAppCall(final AppGroupCreationContent content) { AppCall appCall = createBaseAppCall(); DialogPresenter.setupAppCallForWebDialog( appCall, GAME_GROUP_CREATION_DIALOG, WebDialogParameters.create(content)); return appCall; }
public static boolean canShowNativeDialog() { return DialogPresenter.canPresentNativeDialogWithFeature(getFeature()); }
public static boolean canShowWebFallback() { return DialogPresenter.canPresentWebFallbackDialogWithFeature(getFeature()); }
private static boolean canShowNative(Class<? extends ShareContent> contentType) { DialogFeature feature = getFeature(contentType); return feature != null && DialogPresenter.canPresentNativeDialogWithFeature(feature); }
public static boolean canShowNativeDialog() { return (Build.VERSION.SDK_INT >= ShareConstants.MIN_API_VERSION_FOR_WEB_FALLBACK_DIALOGS) && DialogPresenter.canPresentNativeDialogWithFeature(getFeature()); }
public static boolean canShowWebFallback() { return (Build.VERSION.SDK_INT >= ShareConstants.MIN_API_VERSION_FOR_WEB_FALLBACK_DIALOGS) && DialogPresenter.canPresentWebFallbackDialogWithFeature(getFeature()); }
/** * Indicates whether it is possible to show the dialog for * {@link com.facebook.share.model.ShareContent} of the specified type. * * @param contentType Class of the intended {@link com.facebook.share.model.ShareContent} to * send. * @return True if the specified content type can be shown via the dialog */ public static boolean canShow(Class<? extends ShareContent> contentType) { DialogFeature feature = getFeature(contentType); return feature != null && DialogPresenter.canPresentNativeDialogWithFeature(feature); }