@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 protected void registerCallbackImpl ( final CallbackManagerImpl callbackManager, final FacebookCallback<Result> callback) { final ResultProcessor resultProcessor = (callback == null) ? null : new ResultProcessor(callback) { @Override public void onSuccess(AppCall appCall, Bundle results) { callback.onSuccess(new Result(results)); } }; CallbackManagerImpl.Callback callbackManagerCallback = new CallbackManagerImpl.Callback() { @Override public boolean onActivityResult(int resultCode, Intent data) { return ShareInternalUtility.handleActivityResult( getRequestCode(), resultCode, data, resultProcessor); } }; callbackManager.registerCallback(getRequestCode(), callbackManagerCallback); }
@Override protected void registerCallbackImpl( final CallbackManagerImpl callbackManager, final FacebookCallback<Result> callback) { final ResultProcessor resultProcessor = (callback == null) ? null : new ResultProcessor(callback) { @Override public void onSuccess(AppCall appCall, Bundle results) { callback.onSuccess(new Result(results.getString("id"))); } }; CallbackManagerImpl.Callback callbackManagerCallback = new CallbackManagerImpl.Callback() { @Override public boolean onActivityResult(int resultCode, Intent data) { return ShareInternalUtility.handleActivityResult( getRequestCode(), resultCode, data, resultProcessor); } }; callbackManager.registerCallback(getRequestCode(), callbackManagerCallback); }
@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; }
public static boolean handleActivityResult( int requestCode, int resultCode, Intent data, ResultProcessor resultProcessor) { AppCall appCall = getAppCallFromActivityResult(requestCode, resultCode, data); if (appCall == null) { return false; } NativeAppCallAttachmentStore.cleanupAttachmentsForCall(appCall.getCallId()); if (resultProcessor == null) { return true; } FacebookException exception = NativeProtocol.getExceptionFromErrorData( NativeProtocol.getErrorDataFromResultIntent(data)); if (exception != null) { if (exception instanceof FacebookOperationCanceledException) { resultProcessor.onCancel(appCall); } else { resultProcessor.onError(appCall, exception); } } else { // If here, we did not find an error in the result. Bundle results = NativeProtocol.getSuccessResultsFromIntent(data); resultProcessor.onSuccess(appCall, results); } return true; }
private static AppCall getAppCallFromActivityResult(int requestCode, int resultCode, Intent data) { UUID callId = NativeProtocol.getCallIdFromIntent(data); if (callId == null) { return null; } return AppCall.finishPendingCall(callId, requestCode); }
@Override protected void registerCallbackImpl ( final CallbackManagerImpl callbackManager, final FacebookCallback<Result> callback) { final ResultProcessor resultProcessor = (callback == null) ? null : new ResultProcessor(callback) { @Override public void onSuccess(AppCall appCall, Bundle results) { callback.onSuccess(new Result(results)); } }; CallbackManagerImpl.Callback callbackManagerCallback = new CallbackManagerImpl.Callback() { @Override public boolean onActivityResult(int resultCode, Intent data) { return ShareInternalUtility.handleActivityResult( getRequestCode(), resultCode, data, resultProcessor); } }; callbackManager.registerCallback( getRequestCode(), callbackManagerCallback); }
@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 protected void registerCallbackImpl( final CallbackManagerImpl callbackManager, final FacebookCallback<Result> callback) { final ResultProcessor resultProcessor = (callback == null) ? null : new ResultProcessor(callback) { @Override public void onSuccess(AppCall appCall, Bundle results) { if (results != null) { callback.onSuccess(new Result(results)); } else { onCancel(appCall); } } }; callbackManager.registerCallback( getRequestCode(), new CallbackManagerImpl.Callback() { @Override public boolean onActivityResult(int resultCode, Intent data) { return ShareInternalUtility.handleActivityResult( getRequestCode(), resultCode, data, resultProcessor); } }); }
@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; }
@Override protected void registerCallbackImpl( final CallbackManagerImpl callbackManager, final FacebookCallback<Result> callback) { final ResultProcessor resultProcessor = (callback == null) ? null : new ResultProcessor(callback) { @Override public void onSuccess(AppCall appCall, Bundle results) { if (results != null) { callback.onSuccess(new Result(results.getString( ShareConstants.WEB_DIALOG_RESULT_PARAM_REQUEST_ID))); } else { onCancel(appCall); } } }; callbackManager.registerCallback( getRequestCode(), new CallbackManagerImpl.Callback() { @Override public boolean onActivityResult(int resultCode, Intent data) { return ShareInternalUtility.handleActivityResult( getRequestCode(), resultCode, data, resultProcessor); } }); }