예제 #1
0
  public static Intent createProxyAuthIntent(
      Context context,
      String applicationId,
      List<String> permissions,
      String e2e,
      boolean isRerequest,
      SessionDefaultAudience defaultAudience) {
    for (NativeAppInfo appInfo : facebookAppInfoList) {
      Intent intent =
          new Intent()
              .setClassName(appInfo.getPackage(), FACEBOOK_PROXY_AUTH_ACTIVITY)
              .putExtra(FACEBOOK_PROXY_AUTH_APP_ID_KEY, applicationId);

      if (!Utility.isNullOrEmpty(permissions)) {
        intent.putExtra(FACEBOOK_PROXY_AUTH_PERMISSIONS_KEY, TextUtils.join(",", permissions));
      }
      if (!Utility.isNullOrEmpty(e2e)) {
        intent.putExtra(FACEBOOK_PROXY_AUTH_E2E_KEY, e2e);
      }

      intent.putExtra(
          ServerProtocol.DIALOG_PARAM_RESPONSE_TYPE, ServerProtocol.DIALOG_RESPONSE_TYPE_TOKEN);
      intent.putExtra(
          ServerProtocol.DIALOG_PARAM_RETURN_SCOPES, ServerProtocol.DIALOG_RETURN_SCOPES_TRUE);
      intent.putExtra(
          ServerProtocol.DIALOG_PARAM_DEFAULT_AUDIENCE,
          defaultAudience.getNativeProtocolAudience());

      if (!Settings.getPlatformCompatibilityEnabled()) {
        // Override the API Version for Auth
        intent.putExtra(
            ServerProtocol.DIALOG_PARAM_LEGACY_OVERRIDE, ServerProtocol.GRAPH_API_VERSION);

        // Only set the rerequest auth type for non legacy requests
        if (isRerequest) {
          intent.putExtra(
              ServerProtocol.DIALOG_PARAM_AUTH_TYPE, ServerProtocol.DIALOG_REREQUEST_AUTH_TYPE);
        }
      }

      intent = validateActivityIntent(context, intent, appInfo);

      if (intent != null) {
        return intent;
      }
    }
    return null;
  }
 public String toString() {
   StringBuilder stringBuilder = new StringBuilder();
   stringBuilder
       .append("[ ")
       .append("mAppId:")
       .append(mAppId)
       .append(", ")
       .append("mNamespace:")
       .append(mNamespace)
       .append(", ")
       .append("mDefaultAudience:")
       .append(mDefaultAudience.name())
       .append(", ")
       .append("mLoginBehavior:")
       .append(mLoginBehavior.name())
       .append(", ")
       .append("mReadPermissions:")
       .append(mReadPermissions.toString())
       .append(", ")
       .append("mPublishPermissions:")
       .append(mPublishPermissions.toString())
       .append(" ]");
   return stringBuilder.toString();
 }