package com.facebook; import android.content.Context; import android.graphics.Bitmap; import android.location.Location; import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Parcel; import android.os.ParcelFileDescriptor; import android.os.Parcelable; import android.text.TextUtils; import android.util.Log; import android.util.Pair; import androidx.annotation.VisibleForTesting; import com.facebook.GraphRequest; import com.facebook.GraphRequestBatch; import com.facebook.internal.AttributionIdentifiers; import com.facebook.internal.InternalSettings; import com.facebook.internal.Logger; import com.facebook.internal.NativeProtocol; import com.facebook.internal.ServerProtocol; import com.facebook.internal.Utility; import com.facebook.internal.Validate; import com.google.android.gms.drive.DriveFile; import com.google.firebase.perf.network.FirebasePerfUrlConnection; import com.ironsource.v8; import com.mbridge.msdk.foundation.entity.CampaignEx; import java.io.Closeable; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import java.nio.charset.Charset; import java.security.SecureRandom; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; import kotlin.collections.ArraysKt___ArraysKt; import kotlin.jvm.internal.DefaultConstructorMarker; import kotlin.jvm.internal.Intrinsics; import kotlin.jvm.internal.StringCompanionObject; import kotlin.text.Charsets; import kotlin.text.StringsKt__StringsJVMKt; import kotlin.text.StringsKt__StringsKt; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; /* loaded from: classes2.dex */ public final class GraphRequest { private static final String ACCEPT_LANGUAGE_HEADER = "Accept-Language"; public static final String ACCESS_TOKEN_PARAM = "access_token"; private static final String ATTACHED_FILES_PARAM = "attached_files"; private static final String ATTACHMENT_FILENAME_PREFIX = "file"; private static final String BATCH_APP_ID_PARAM = "batch_app_id"; private static final String BATCH_BODY_PARAM = "body"; private static final String BATCH_ENTRY_DEPENDS_ON_PARAM = "depends_on"; private static final String BATCH_ENTRY_NAME_PARAM = "name"; private static final String BATCH_ENTRY_OMIT_RESPONSE_ON_SUCCESS_PARAM = "omit_response_on_success"; private static final String BATCH_METHOD_PARAM = "method"; private static final String BATCH_PARAM = "batch"; private static final String BATCH_RELATIVE_URL_PARAM = "relative_url"; private static final String CAPTION_PARAM = "caption"; private static final String CONTENT_ENCODING_HEADER = "Content-Encoding"; private static final String CONTENT_TYPE_HEADER = "Content-Type"; private static final String DEBUG_KEY = "__debug__"; private static final String DEBUG_MESSAGES_KEY = "messages"; private static final String DEBUG_MESSAGE_KEY = "message"; private static final String DEBUG_MESSAGE_LINK_KEY = "link"; private static final String DEBUG_MESSAGE_TYPE_KEY = "type"; private static final String DEBUG_PARAM = "debug"; private static final String DEBUG_SEVERITY_INFO = "info"; private static final String DEBUG_SEVERITY_WARNING = "warning"; public static final String FIELDS_PARAM = "fields"; private static final String FORMAT_JSON = "json"; private static final String FORMAT_PARAM = "format"; private static final String ISO_8601_FORMAT_STRING = "yyyy-MM-dd'T'HH:mm:ssZ"; public static final int MAXIMUM_BATCH_SIZE = 50; private static final String ME = "me"; private static final String MIME_BOUNDARY; private static final String MY_FRIENDS = "me/friends"; private static final String MY_PHOTOS = "me/photos"; private static final String PICTURE_PARAM = "picture"; private static final String SDK_ANDROID = "android"; private static final String SDK_PARAM = "sdk"; private static final String SEARCH = "search"; private static final String USER_AGENT_BASE = "FBAndroidSDK"; private static final String USER_AGENT_HEADER = "User-Agent"; private static final String VIDEOS_SUFFIX = "/videos"; private static String defaultBatchApplicationId; private static volatile String userAgent; private static final Pattern versionPattern; private AccessToken accessToken; private String batchEntryDependsOn; private String batchEntryName; private boolean batchEntryOmitResultOnSuccess; private Callback callback; private boolean forceApplicationRequest; private JSONObject graphObject; private String graphPath; private HttpMethod httpMethod; private String overriddenURL; private Bundle parameters; private Object tag; private String version; public static final Companion Companion = new Companion(null); public static final String TAG = GraphRequest.class.getSimpleName(); public interface Callback { void onCompleted(GraphResponse graphResponse); } public interface GraphJSONArrayCallback { void onCompleted(JSONArray jSONArray, GraphResponse graphResponse); } public interface GraphJSONObjectCallback { void onCompleted(JSONObject jSONObject, GraphResponse graphResponse); } public interface KeyValueSerializer { void writeString(String str, String str2); } public interface OnProgressCallback extends Callback { void onProgress(long j, long j2); } public GraphRequest() { this(null, null, null, null, null, null, 63, null); } public GraphRequest(AccessToken accessToken) { this(accessToken, null, null, null, null, null, 62, null); } public GraphRequest(AccessToken accessToken, String str) { this(accessToken, str, null, null, null, null, 60, null); } public GraphRequest(AccessToken accessToken, String str, Bundle bundle) { this(accessToken, str, bundle, null, null, null, 56, null); } public GraphRequest(AccessToken accessToken, String str, Bundle bundle, HttpMethod httpMethod) { this(accessToken, str, bundle, httpMethod, null, null, 48, null); } public GraphRequest(AccessToken accessToken, String str, Bundle bundle, HttpMethod httpMethod, Callback callback) { this(accessToken, str, bundle, httpMethod, callback, null, 32, null); } public static final GraphResponse executeAndWait(GraphRequest graphRequest) { return Companion.executeAndWait(graphRequest); } public static final List executeBatchAndWait(GraphRequestBatch graphRequestBatch) { return Companion.executeBatchAndWait(graphRequestBatch); } public static final List executeBatchAndWait(Collection collection) { return Companion.executeBatchAndWait(collection); } public static final List executeBatchAndWait(GraphRequest... graphRequestArr) { return Companion.executeBatchAndWait(graphRequestArr); } public static final GraphRequestAsyncTask executeBatchAsync(GraphRequestBatch graphRequestBatch) { return Companion.executeBatchAsync(graphRequestBatch); } public static final GraphRequestAsyncTask executeBatchAsync(Collection collection) { return Companion.executeBatchAsync(collection); } public static final GraphRequestAsyncTask executeBatchAsync(GraphRequest... graphRequestArr) { return Companion.executeBatchAsync(graphRequestArr); } public static final List executeConnectionAndWait(HttpURLConnection httpURLConnection, GraphRequestBatch graphRequestBatch) { return Companion.executeConnectionAndWait(httpURLConnection, graphRequestBatch); } public static final List executeConnectionAndWait(HttpURLConnection httpURLConnection, Collection collection) { return Companion.executeConnectionAndWait(httpURLConnection, collection); } public static final GraphRequestAsyncTask executeConnectionAsync(Handler handler, HttpURLConnection httpURLConnection, GraphRequestBatch graphRequestBatch) { return Companion.executeConnectionAsync(handler, httpURLConnection, graphRequestBatch); } public static final GraphRequestAsyncTask executeConnectionAsync(HttpURLConnection httpURLConnection, GraphRequestBatch graphRequestBatch) { return Companion.executeConnectionAsync(httpURLConnection, graphRequestBatch); } public static final String getDefaultBatchApplicationId() { return Companion.getDefaultBatchApplicationId(); } public static final GraphRequest newCustomAudienceThirdPartyIdRequest(AccessToken accessToken, Context context, Callback callback) { return Companion.newCustomAudienceThirdPartyIdRequest(accessToken, context, callback); } public static final GraphRequest newCustomAudienceThirdPartyIdRequest(AccessToken accessToken, Context context, String str, Callback callback) { return Companion.newCustomAudienceThirdPartyIdRequest(accessToken, context, str, callback); } public static final GraphRequest newDeleteObjectRequest(AccessToken accessToken, String str, Callback callback) { return Companion.newDeleteObjectRequest(accessToken, str, callback); } public static final GraphRequest newGraphPathRequest(AccessToken accessToken, String str, Callback callback) { return Companion.newGraphPathRequest(accessToken, str, callback); } public static final GraphRequest newMeRequest(AccessToken accessToken, GraphJSONObjectCallback graphJSONObjectCallback) { return Companion.newMeRequest(accessToken, graphJSONObjectCallback); } public static final GraphRequest newMyFriendsRequest(AccessToken accessToken, GraphJSONArrayCallback graphJSONArrayCallback) { return Companion.newMyFriendsRequest(accessToken, graphJSONArrayCallback); } public static final GraphRequest newPlacesSearchRequest(AccessToken accessToken, Location location, int i, int i2, String str, GraphJSONArrayCallback graphJSONArrayCallback) { return Companion.newPlacesSearchRequest(accessToken, location, i, i2, str, graphJSONArrayCallback); } public static final GraphRequest newPostRequest(AccessToken accessToken, String str, JSONObject jSONObject, Callback callback) { return Companion.newPostRequest(accessToken, str, jSONObject, callback); } public static final GraphRequest newPostRequestWithBundle(AccessToken accessToken, String str, Bundle bundle, Callback callback) { return Companion.newPostRequestWithBundle(accessToken, str, bundle, callback); } public static final GraphRequest newUploadPhotoRequest(AccessToken accessToken, String str, Bitmap bitmap, String str2, Bundle bundle, Callback callback) { return Companion.newUploadPhotoRequest(accessToken, str, bitmap, str2, bundle, callback); } public static final GraphRequest newUploadPhotoRequest(AccessToken accessToken, String str, Uri uri, String str2, Bundle bundle, Callback callback) throws FileNotFoundException, FacebookException { return Companion.newUploadPhotoRequest(accessToken, str, uri, str2, bundle, callback); } public static final GraphRequest newUploadPhotoRequest(AccessToken accessToken, String str, File file, String str2, Bundle bundle, Callback callback) throws FileNotFoundException { return Companion.newUploadPhotoRequest(accessToken, str, file, str2, bundle, callback); } public static final void setDefaultBatchApplicationId(String str) { Companion.setDefaultBatchApplicationId(str); } public static final HttpURLConnection toHttpConnection(GraphRequestBatch graphRequestBatch) { return Companion.toHttpConnection(graphRequestBatch); } public static final HttpURLConnection toHttpConnection(Collection collection) { return Companion.toHttpConnection(collection); } public static final HttpURLConnection toHttpConnection(GraphRequest... graphRequestArr) { return Companion.toHttpConnection(graphRequestArr); } public final AccessToken getAccessToken() { return this.accessToken; } public final String getBatchEntryDependsOn() { return this.batchEntryDependsOn; } public final String getBatchEntryName() { return this.batchEntryName; } public final boolean getBatchEntryOmitResultOnSuccess() { return this.batchEntryOmitResultOnSuccess; } public final Callback getCallback() { return this.callback; } public final JSONObject getGraphObject() { return this.graphObject; } public final String getGraphPath() { return this.graphPath; } public final HttpMethod getHttpMethod() { return this.httpMethod; } public final Bundle getParameters() { return this.parameters; } public final Object getTag() { return this.tag; } public final String getVersion() { return this.version; } public final void setAccessToken(AccessToken accessToken) { this.accessToken = accessToken; } public final void setBatchEntryDependsOn(String str) { this.batchEntryDependsOn = str; } public final void setBatchEntryName(String str) { this.batchEntryName = str; } public final void setBatchEntryOmitResultOnSuccess(boolean z) { this.batchEntryOmitResultOnSuccess = z; } public final void setForceApplicationRequest(boolean z) { this.forceApplicationRequest = z; } public final void setGraphObject(JSONObject jSONObject) { this.graphObject = jSONObject; } public final void setGraphPath(String str) { this.graphPath = str; } public final void setParameters(Bundle bundle) { Intrinsics.checkNotNullParameter(bundle, ""); this.parameters = bundle; } public final void setTag(Object obj) { this.tag = obj; } public final void setVersion(String str) { this.version = str; } public final void setCallback(final Callback callback) { FacebookSdk facebookSdk = FacebookSdk.INSTANCE; if (FacebookSdk.isLoggingBehaviorEnabled(LoggingBehavior.GRAPH_API_DEBUG_INFO) || FacebookSdk.isLoggingBehaviorEnabled(LoggingBehavior.GRAPH_API_DEBUG_WARNING)) { this.callback = new Callback() { // from class: com.facebook.GraphRequest$$ExternalSyntheticLambda0 @Override // com.facebook.GraphRequest.Callback public final void onCompleted(GraphResponse graphResponse) { GraphRequest.m434_set_callback_$lambda0(GraphRequest.Callback.this, graphResponse); } }; } else { this.callback = callback; } } /* JADX INFO: Access modifiers changed from: private */ /* renamed from: _set_callback_$lambda-0, reason: not valid java name */ public static final void m434_set_callback_$lambda0(Callback callback, GraphResponse response) { int length; Intrinsics.checkNotNullParameter(response, "response"); JSONObject jSONObject = response.getJSONObject(); JSONObject optJSONObject = jSONObject == null ? null : jSONObject.optJSONObject(DEBUG_KEY); JSONArray optJSONArray = optJSONObject == null ? null : optJSONObject.optJSONArray(DEBUG_MESSAGES_KEY); if (optJSONArray != null && (length = optJSONArray.length()) > 0) { int i = 0; while (true) { int i2 = i + 1; JSONObject optJSONObject2 = optJSONArray.optJSONObject(i); String optString = optJSONObject2 == null ? null : optJSONObject2.optString("message"); String optString2 = optJSONObject2 == null ? null : optJSONObject2.optString("type"); String optString3 = optJSONObject2 == null ? null : optJSONObject2.optString("link"); if (optString != null && optString2 != null) { LoggingBehavior loggingBehavior = LoggingBehavior.GRAPH_API_DEBUG_INFO; if (Intrinsics.areEqual(optString2, DEBUG_SEVERITY_WARNING)) { loggingBehavior = LoggingBehavior.GRAPH_API_DEBUG_WARNING; } if (!Utility.isNullOrEmpty(optString3)) { optString = ((Object) optString) + " Link: " + ((Object) optString3); } Logger.Companion companion = Logger.Companion; String TAG2 = TAG; Intrinsics.checkNotNullExpressionValue(TAG2, "TAG"); companion.log(loggingBehavior, TAG2, optString); } if (i2 >= length) { break; } else { i = i2; } } } if (callback == null) { return; } callback.onCompleted(response); } public final void setHttpMethod(HttpMethod httpMethod) { if (this.overriddenURL != null && httpMethod != HttpMethod.GET) { throw new FacebookException("Can't change HTTP method on request with overridden URL."); } if (httpMethod == null) { httpMethod = HttpMethod.GET; } this.httpMethod = httpMethod; } public static final class Companion { public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } private final String getDefaultPhotoPathIfNull(String str) { return str == null ? GraphRequest.MY_PHOTOS : str; } @VisibleForTesting(otherwise = 2) public static /* synthetic */ void getTAG$facebook_core_release$annotations() { } private Companion() { } public final String getDefaultBatchApplicationId() { return GraphRequest.defaultBatchApplicationId; } public final void setDefaultBatchApplicationId(String str) { GraphRequest.defaultBatchApplicationId = str; } public final GraphRequest newDeleteObjectRequest(AccessToken accessToken, String str, Callback callback) { return new GraphRequest(accessToken, str, null, HttpMethod.DELETE, callback, null, 32, null); } public final GraphRequest newMeRequest(AccessToken accessToken, final GraphJSONObjectCallback graphJSONObjectCallback) { return new GraphRequest(accessToken, "me", null, null, new Callback() { // from class: com.facebook.GraphRequest$Companion$$ExternalSyntheticLambda1 @Override // com.facebook.GraphRequest.Callback public final void onCompleted(GraphResponse graphResponse) { GraphRequest.Companion.m435newMeRequest$lambda0(GraphRequest.GraphJSONObjectCallback.this, graphResponse); } }, null, 32, null); } /* JADX INFO: Access modifiers changed from: private */ /* renamed from: newMeRequest$lambda-0, reason: not valid java name */ public static final void m435newMeRequest$lambda0(GraphJSONObjectCallback graphJSONObjectCallback, GraphResponse response) { Intrinsics.checkNotNullParameter(response, "response"); if (graphJSONObjectCallback == null) { return; } graphJSONObjectCallback.onCompleted(response.getJSONObject(), response); } public final GraphRequest newPostRequest(AccessToken accessToken, String str, JSONObject jSONObject, Callback callback) { GraphRequest graphRequest = new GraphRequest(accessToken, str, null, HttpMethod.POST, callback, null, 32, null); graphRequest.setGraphObject(jSONObject); return graphRequest; } public final GraphRequest newPostRequestWithBundle(AccessToken accessToken, String str, Bundle bundle, Callback callback) { return new GraphRequest(accessToken, str, bundle, HttpMethod.POST, callback, null, 32, null); } public final GraphRequest newMyFriendsRequest(AccessToken accessToken, final GraphJSONArrayCallback graphJSONArrayCallback) { return new GraphRequest(accessToken, GraphRequest.MY_FRIENDS, null, null, new Callback() { // from class: com.facebook.GraphRequest$Companion$newMyFriendsRequest$wrapper$1 @Override // com.facebook.GraphRequest.Callback public void onCompleted(GraphResponse response) { Intrinsics.checkNotNullParameter(response, "response"); if (GraphRequest.GraphJSONArrayCallback.this != null) { JSONObject jSONObject = response.getJSONObject(); GraphRequest.GraphJSONArrayCallback.this.onCompleted(jSONObject == null ? null : jSONObject.optJSONArray("data"), response); } } }, null, 32, null); } public final GraphRequest newGraphPathRequest(AccessToken accessToken, String str, Callback callback) { return new GraphRequest(accessToken, str, null, null, callback, null, 32, null); } public final GraphRequest newPlacesSearchRequest(AccessToken accessToken, Location location, int i, int i2, String str, final GraphJSONArrayCallback graphJSONArrayCallback) { if (location == null && Utility.isNullOrEmpty(str)) { throw new FacebookException("Either location or searchText must be specified."); } Bundle bundle = new Bundle(5); bundle.putString("type", "place"); bundle.putInt("limit", i2); if (location != null) { StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format(Locale.US, "%f,%f", Arrays.copyOf(new Object[]{Double.valueOf(location.getLatitude()), Double.valueOf(location.getLongitude())}, 2)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(locale, format, *args)"); bundle.putString("center", format); bundle.putInt("distance", i); } if (!Utility.isNullOrEmpty(str)) { bundle.putString(CampaignEx.JSON_KEY_AD_Q, str); } return new GraphRequest(accessToken, "search", bundle, HttpMethod.GET, new Callback() { // from class: com.facebook.GraphRequest$Companion$$ExternalSyntheticLambda2 @Override // com.facebook.GraphRequest.Callback public final void onCompleted(GraphResponse graphResponse) { GraphRequest.Companion.m436newPlacesSearchRequest$lambda1(GraphRequest.GraphJSONArrayCallback.this, graphResponse); } }, null, 32, null); } /* JADX INFO: Access modifiers changed from: private */ /* renamed from: newPlacesSearchRequest$lambda-1, reason: not valid java name */ public static final void m436newPlacesSearchRequest$lambda1(GraphJSONArrayCallback graphJSONArrayCallback, GraphResponse response) { Intrinsics.checkNotNullParameter(response, "response"); if (graphJSONArrayCallback != null) { JSONObject jSONObject = response.getJSONObject(); graphJSONArrayCallback.onCompleted(jSONObject == null ? null : jSONObject.optJSONArray("data"), response); } } public final GraphRequest newUploadPhotoRequest(AccessToken accessToken, String str, Bitmap image, String str2, Bundle bundle, Callback callback) { Intrinsics.checkNotNullParameter(image, "image"); Bundle bundle2 = new Bundle(); if (bundle != null) { bundle2.putAll(bundle); } bundle2.putParcelable("picture", image); if (str2 != null && str2.length() > 0) { bundle2.putString("caption", str2); } return new GraphRequest(accessToken, getDefaultPhotoPathIfNull(str), bundle2, HttpMethod.POST, callback, null, 32, null); } public final GraphRequest newUploadPhotoRequest(AccessToken accessToken, String str, File file, String str2, Bundle bundle, Callback callback) throws FileNotFoundException { Intrinsics.checkNotNullParameter(file, "file"); ParcelFileDescriptor open = ParcelFileDescriptor.open(file, DriveFile.MODE_READ_ONLY); Bundle bundle2 = new Bundle(); if (bundle != null) { bundle2.putAll(bundle); } bundle2.putParcelable("picture", open); if (str2 != null && str2.length() > 0) { bundle2.putString("caption", str2); } return new GraphRequest(accessToken, getDefaultPhotoPathIfNull(str), bundle2, HttpMethod.POST, callback, null, 32, null); } public final GraphRequest newUploadPhotoRequest(AccessToken accessToken, String str, Uri photoUri, String str2, Bundle bundle, Callback callback) throws FileNotFoundException, FacebookException { Intrinsics.checkNotNullParameter(photoUri, "photoUri"); if (Utility.isFileUri(photoUri)) { return newUploadPhotoRequest(accessToken, str, new File(photoUri.getPath()), str2, bundle, callback); } if (!Utility.isContentUri(photoUri)) { throw new FacebookException("The photo Uri must be either a file:// or content:// Uri"); } Bundle bundle2 = new Bundle(); if (bundle != null) { bundle2.putAll(bundle); } bundle2.putParcelable("picture", photoUri); if (str2 != null && str2.length() > 0) { bundle2.putString("caption", str2); } return new GraphRequest(accessToken, getDefaultPhotoPathIfNull(str), bundle2, HttpMethod.POST, callback, null, 32, null); } public final GraphRequest newCustomAudienceThirdPartyIdRequest(AccessToken accessToken, Context context, String str, Callback callback) { Intrinsics.checkNotNullParameter(context, "context"); if (str == null && accessToken != null) { str = accessToken.getApplicationId(); } if (str == null) { str = Utility.getMetadataApplicationId(context); } if (str == null) { throw new FacebookException("Facebook App ID cannot be determined"); } String stringPlus = Intrinsics.stringPlus(str, "/custom_audience_third_party_id"); AttributionIdentifiers attributionIdentifiers = AttributionIdentifiers.Companion.getAttributionIdentifiers(context); Bundle bundle = new Bundle(); if (accessToken == null) { if (attributionIdentifiers == null) { throw new FacebookException("There is no access token and attribution identifiers could not be retrieved"); } String attributionId = attributionIdentifiers.getAttributionId() != null ? attributionIdentifiers.getAttributionId() : attributionIdentifiers.getAndroidAdvertiserId(); if (attributionId != null) { bundle.putString("udid", attributionId); } } if (FacebookSdk.getLimitEventAndDataUsage(context) || (attributionIdentifiers != null && attributionIdentifiers.isTrackingLimited())) { bundle.putString("limit_event_usage", "1"); } return new GraphRequest(accessToken, stringPlus, bundle, HttpMethod.GET, callback, null, 32, null); } public final GraphRequest newCustomAudienceThirdPartyIdRequest(AccessToken accessToken, Context context, Callback callback) { Intrinsics.checkNotNullParameter(context, "context"); return newCustomAudienceThirdPartyIdRequest(accessToken, context, null, callback); } public final HttpURLConnection toHttpConnection(GraphRequest... requests) { List list; Intrinsics.checkNotNullParameter(requests, "requests"); list = ArraysKt___ArraysKt.toList(requests); return toHttpConnection(list); } public final HttpURLConnection toHttpConnection(Collection requests) { Intrinsics.checkNotNullParameter(requests, "requests"); Validate.notEmpty(requests, "requests"); return toHttpConnection(new GraphRequestBatch(requests)); } public final HttpURLConnection toHttpConnection(GraphRequestBatch requests) { URL url; Intrinsics.checkNotNullParameter(requests, "requests"); validateFieldsParamForGetRequests$facebook_core_release(requests); try { if (requests.size() == 1) { url = new URL(requests.get(0).getUrlForSingleRequest()); } else { url = new URL(ServerProtocol.getGraphUrlBase()); } HttpURLConnection httpURLConnection = null; try { httpURLConnection = createConnection(url); serializeToUrlConnection$facebook_core_release(requests, httpURLConnection); return httpURLConnection; } catch (IOException e) { Utility.disconnectQuietly(httpURLConnection); throw new FacebookException("could not construct request body", e); } catch (JSONException e2) { Utility.disconnectQuietly(httpURLConnection); throw new FacebookException("could not construct request body", e2); } } catch (MalformedURLException e3) { throw new FacebookException("could not construct URL for request", e3); } } public final GraphResponse executeAndWait(GraphRequest request) { Intrinsics.checkNotNullParameter(request, "request"); List executeBatchAndWait = executeBatchAndWait(request); if (executeBatchAndWait.size() != 1) { throw new FacebookException("invalid state: expected a single response"); } return executeBatchAndWait.get(0); } public final List executeBatchAndWait(GraphRequest... requests) { List list; Intrinsics.checkNotNullParameter(requests, "requests"); list = ArraysKt___ArraysKt.toList(requests); return executeBatchAndWait(list); } public final List executeBatchAndWait(Collection requests) { Intrinsics.checkNotNullParameter(requests, "requests"); return executeBatchAndWait(new GraphRequestBatch(requests)); } public final List executeBatchAndWait(GraphRequestBatch requests) { Exception exc; HttpURLConnection httpURLConnection; List list; Intrinsics.checkNotNullParameter(requests, "requests"); Validate.notEmptyAndContainsNoNulls(requests, "requests"); HttpURLConnection httpURLConnection2 = null; try { httpURLConnection = toHttpConnection(requests); exc = null; } catch (Exception e) { exc = e; httpURLConnection = null; } catch (Throwable th) { th = th; Utility.disconnectQuietly(httpURLConnection2); throw th; } try { if (httpURLConnection != null) { list = executeConnectionAndWait(httpURLConnection, requests); } else { List constructErrorResponses = GraphResponse.Companion.constructErrorResponses(requests.getRequests(), null, new FacebookException(exc)); runCallbacks$facebook_core_release(requests, constructErrorResponses); list = constructErrorResponses; } Utility.disconnectQuietly(httpURLConnection); return list; } catch (Throwable th2) { th = th2; httpURLConnection2 = httpURLConnection; Utility.disconnectQuietly(httpURLConnection2); throw th; } } public final GraphRequestAsyncTask executeBatchAsync(GraphRequest... requests) { List list; Intrinsics.checkNotNullParameter(requests, "requests"); list = ArraysKt___ArraysKt.toList(requests); return executeBatchAsync(list); } public final GraphRequestAsyncTask executeBatchAsync(Collection requests) { Intrinsics.checkNotNullParameter(requests, "requests"); return executeBatchAsync(new GraphRequestBatch(requests)); } public final GraphRequestAsyncTask executeBatchAsync(GraphRequestBatch requests) { Intrinsics.checkNotNullParameter(requests, "requests"); Validate.notEmptyAndContainsNoNulls(requests, "requests"); GraphRequestAsyncTask graphRequestAsyncTask = new GraphRequestAsyncTask(requests); graphRequestAsyncTask.executeOnExecutor(FacebookSdk.getExecutor(), new Void[0]); return graphRequestAsyncTask; } public final List executeConnectionAndWait(HttpURLConnection connection, Collection requests) { Intrinsics.checkNotNullParameter(connection, "connection"); Intrinsics.checkNotNullParameter(requests, "requests"); return executeConnectionAndWait(connection, new GraphRequestBatch(requests)); } public final List executeConnectionAndWait(HttpURLConnection connection, GraphRequestBatch requests) { Intrinsics.checkNotNullParameter(connection, "connection"); Intrinsics.checkNotNullParameter(requests, "requests"); List fromHttpConnection$facebook_core_release = GraphResponse.Companion.fromHttpConnection$facebook_core_release(connection, requests); Utility.disconnectQuietly(connection); int size = requests.size(); if (size != fromHttpConnection$facebook_core_release.size()) { StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format(Locale.US, "Received %d responses while expecting %d", Arrays.copyOf(new Object[]{Integer.valueOf(fromHttpConnection$facebook_core_release.size()), Integer.valueOf(size)}, 2)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(locale, format, *args)"); throw new FacebookException(format); } runCallbacks$facebook_core_release(requests, fromHttpConnection$facebook_core_release); AccessTokenManager.Companion.getInstance().extendAccessTokenIfNeeded(); return fromHttpConnection$facebook_core_release; } public final GraphRequestAsyncTask executeConnectionAsync(HttpURLConnection connection, GraphRequestBatch requests) { Intrinsics.checkNotNullParameter(connection, "connection"); Intrinsics.checkNotNullParameter(requests, "requests"); return executeConnectionAsync(null, connection, requests); } public final GraphRequestAsyncTask executeConnectionAsync(Handler handler, HttpURLConnection connection, GraphRequestBatch requests) { Intrinsics.checkNotNullParameter(connection, "connection"); Intrinsics.checkNotNullParameter(requests, "requests"); GraphRequestAsyncTask graphRequestAsyncTask = new GraphRequestAsyncTask(connection, requests); requests.setCallbackHandler(handler); graphRequestAsyncTask.executeOnExecutor(FacebookSdk.getExecutor(), new Void[0]); return graphRequestAsyncTask; } public final void runCallbacks$facebook_core_release(final GraphRequestBatch requests, List responses) { Intrinsics.checkNotNullParameter(requests, "requests"); Intrinsics.checkNotNullParameter(responses, "responses"); int size = requests.size(); final ArrayList arrayList = new ArrayList(); if (size > 0) { int i = 0; while (true) { int i2 = i + 1; GraphRequest graphRequest = requests.get(i); if (graphRequest.getCallback() != null) { arrayList.add(new Pair(graphRequest.getCallback(), responses.get(i))); } if (i2 >= size) { break; } else { i = i2; } } } if (arrayList.size() > 0) { Runnable runnable = new Runnable() { // from class: com.facebook.GraphRequest$Companion$$ExternalSyntheticLambda0 @Override // java.lang.Runnable public final void run() { GraphRequest.Companion.m437runCallbacks$lambda2(arrayList, requests); } }; Handler callbackHandler = requests.getCallbackHandler(); if ((callbackHandler == null ? null : Boolean.valueOf(callbackHandler.post(runnable))) == null) { runnable.run(); } } } /* JADX INFO: Access modifiers changed from: private */ /* renamed from: runCallbacks$lambda-2, reason: not valid java name */ public static final void m437runCallbacks$lambda2(ArrayList callbacks, GraphRequestBatch requests) { Intrinsics.checkNotNullParameter(callbacks, "$callbacks"); Intrinsics.checkNotNullParameter(requests, "$requests"); Iterator it = callbacks.iterator(); while (it.hasNext()) { Pair pair = (Pair) it.next(); Callback callback = (Callback) pair.first; Object obj = pair.second; Intrinsics.checkNotNullExpressionValue(obj, "pair.second"); callback.onCompleted((GraphResponse) obj); } Iterator it2 = requests.getCallbacks().iterator(); while (it2.hasNext()) { it2.next().onBatchCompleted(requests); } } private final HttpURLConnection createConnection(URL url) throws IOException { URLConnection uRLConnection = (URLConnection) FirebasePerfUrlConnection.instrument(url.openConnection()); if (uRLConnection == null) { throw new NullPointerException("null cannot be cast to non-null type java.net.HttpURLConnection"); } HttpURLConnection httpURLConnection = (HttpURLConnection) uRLConnection; httpURLConnection.setRequestProperty("User-Agent", getUserAgent()); httpURLConnection.setRequestProperty(GraphRequest.ACCEPT_LANGUAGE_HEADER, Locale.getDefault().toString()); httpURLConnection.setChunkedStreamingMode(0); return httpURLConnection; } private final boolean hasOnProgressCallbacks(GraphRequestBatch graphRequestBatch) { Iterator it = graphRequestBatch.getCallbacks().iterator(); while (it.hasNext()) { if (it.next() instanceof GraphRequestBatch.OnProgressCallback) { return true; } } Iterator it2 = graphRequestBatch.iterator(); while (it2.hasNext()) { if (it2.next().getCallback() instanceof OnProgressCallback) { return true; } } return false; } private final void setConnectionContentType(HttpURLConnection httpURLConnection, boolean z) { if (z) { httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); httpURLConnection.setRequestProperty("Content-Encoding", "gzip"); } else { httpURLConnection.setRequestProperty("Content-Type", getMimeContentType()); } } private final boolean isGzipCompressible(GraphRequestBatch graphRequestBatch) { Iterator it = graphRequestBatch.iterator(); while (it.hasNext()) { GraphRequest next = it.next(); Iterator it2 = next.getParameters().keySet().iterator(); while (it2.hasNext()) { if (isSupportedAttachmentType(next.getParameters().get(it2.next()))) { return false; } } } return true; } public final void validateFieldsParamForGetRequests$facebook_core_release(GraphRequestBatch requests) { Intrinsics.checkNotNullParameter(requests, "requests"); Iterator it = requests.iterator(); while (it.hasNext()) { GraphRequest next = it.next(); if (HttpMethod.GET == next.getHttpMethod()) { Utility utility = Utility.INSTANCE; if (Utility.isNullOrEmpty(next.getParameters().getString(GraphRequest.FIELDS_PARAM))) { Logger.Companion companion = Logger.Companion; LoggingBehavior loggingBehavior = LoggingBehavior.DEVELOPER_ERRORS; StringBuilder sb = new StringBuilder(); sb.append("GET requests for /"); String graphPath = next.getGraphPath(); if (graphPath == null) { graphPath = ""; } sb.append(graphPath); sb.append(" should contain an explicit \"fields\" parameter."); companion.log(loggingBehavior, 5, "Request", sb.toString()); } } } } /* JADX WARN: Removed duplicated region for block: B:26:0x00ed */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ public final void serializeToUrlConnection$facebook_core_release(com.facebook.GraphRequestBatch r14, java.net.HttpURLConnection r15) throws java.io.IOException, org.json.JSONException { /* Method dump skipped, instructions count: 245 To view this dump add '--comments-level debug' option */ throw new UnsupportedOperationException("Method not decompiled: com.facebook.GraphRequest.Companion.serializeToUrlConnection$facebook_core_release(com.facebook.GraphRequestBatch, java.net.HttpURLConnection):void"); } private final void processRequest(GraphRequestBatch graphRequestBatch, Logger logger, int i, URL url, OutputStream outputStream, boolean z) { Serializer serializer = new Serializer(outputStream, logger, z); if (i == 1) { GraphRequest graphRequest = graphRequestBatch.get(0); HashMap hashMap = new HashMap(); for (String key : graphRequest.getParameters().keySet()) { Object obj = graphRequest.getParameters().get(key); if (isSupportedAttachmentType(obj)) { Intrinsics.checkNotNullExpressionValue(key, "key"); hashMap.put(key, new Attachment(graphRequest, obj)); } } if (logger != null) { logger.append(" Parameters:\n"); } serializeParameters(graphRequest.getParameters(), serializer, graphRequest); if (logger != null) { logger.append(" Attachments:\n"); } serializeAttachments(hashMap, serializer); JSONObject graphObject = graphRequest.getGraphObject(); if (graphObject != null) { String path = url.getPath(); Intrinsics.checkNotNullExpressionValue(path, "url.path"); processGraphObject(graphObject, path, serializer); return; } return; } String batchAppId = getBatchAppId(graphRequestBatch); if (batchAppId.length() == 0) { throw new FacebookException("App ID was not specified at the request or Settings."); } serializer.writeString(GraphRequest.BATCH_APP_ID_PARAM, batchAppId); HashMap hashMap2 = new HashMap(); serializeRequestsAsJSON(serializer, graphRequestBatch, hashMap2); if (logger != null) { logger.append(" Attachments:\n"); } serializeAttachments(hashMap2, serializer); } private final boolean isMeRequest(String str) { Matcher matcher = GraphRequest.versionPattern.matcher(str); if (matcher.matches()) { str = matcher.group(1); Intrinsics.checkNotNullExpressionValue(str, "matcher.group(1)"); } return StringsKt__StringsJVMKt.startsWith$default(str, "me/", false, 2, null) || StringsKt__StringsJVMKt.startsWith$default(str, "/me/", false, 2, null); } /* JADX INFO: Access modifiers changed from: private */ /* JADX WARN: Removed duplicated region for block: B:12:0x002e */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct add '--show-bad-code' argument */ public final void processGraphObject(org.json.JSONObject r10, java.lang.String r11, com.facebook.GraphRequest.KeyValueSerializer r12) { /* r9 = this; boolean r0 = r9.isMeRequest(r11) r1 = 1 r2 = 0 if (r0 == 0) goto L23 java.lang.String r4 = ":" r5 = 0 r6 = 0 r7 = 6 r8 = 0 r3 = r11 int r0 = kotlin.text.StringsKt.indexOf$default(r3, r4, r5, r6, r7, r8) java.lang.String r4 = "?" int r11 = kotlin.text.StringsKt.indexOf$default(r3, r4, r5, r6, r7, r8) r3 = 3 if (r0 <= r3) goto L23 r3 = -1 if (r11 == r3) goto L21 if (r0 >= r11) goto L23 L21: r11 = r1 goto L24 L23: r11 = r2 L24: java.util.Iterator r0 = r10.keys() L28: boolean r3 = r0.hasNext() if (r3 == 0) goto L53 java.lang.Object r3 = r0.next() java.lang.String r3 = (java.lang.String) r3 java.lang.Object r4 = r10.opt(r3) if (r11 == 0) goto L44 java.lang.String r5 = "image" boolean r5 = kotlin.text.StringsKt.equals(r3, r5, r1) if (r5 == 0) goto L44 r5 = r1 goto L45 L44: r5 = r2 L45: java.lang.String r6 = "key" kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r3, r6) java.lang.String r6 = "value" kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r4, r6) r9.processGraphObjectProperty(r3, r4, r12, r5) goto L28 L53: return */ throw new UnsupportedOperationException("Method not decompiled: com.facebook.GraphRequest.Companion.processGraphObject(org.json.JSONObject, java.lang.String, com.facebook.GraphRequest$KeyValueSerializer):void"); } private final void processGraphObjectProperty(String str, Object obj, KeyValueSerializer keyValueSerializer, boolean z) { Class cls = obj.getClass(); if (JSONObject.class.isAssignableFrom(cls)) { JSONObject jSONObject = (JSONObject) obj; if (z) { Iterator keys = jSONObject.keys(); while (keys.hasNext()) { String next = keys.next(); StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format("%s[%s]", Arrays.copyOf(new Object[]{str, next}, 2)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(format, *args)"); Object opt = jSONObject.opt(next); Intrinsics.checkNotNullExpressionValue(opt, "jsonObject.opt(propertyName)"); processGraphObjectProperty(format, opt, keyValueSerializer, z); } return; } if (jSONObject.has("id")) { String optString = jSONObject.optString("id"); Intrinsics.checkNotNullExpressionValue(optString, "jsonObject.optString(\"id\")"); processGraphObjectProperty(str, optString, keyValueSerializer, z); return; } else if (jSONObject.has("url")) { String optString2 = jSONObject.optString("url"); Intrinsics.checkNotNullExpressionValue(optString2, "jsonObject.optString(\"url\")"); processGraphObjectProperty(str, optString2, keyValueSerializer, z); return; } else { if (jSONObject.has(NativeProtocol.OPEN_GRAPH_CREATE_OBJECT_KEY)) { String jSONObject2 = jSONObject.toString(); Intrinsics.checkNotNullExpressionValue(jSONObject2, "jsonObject.toString()"); processGraphObjectProperty(str, jSONObject2, keyValueSerializer, z); return; } return; } } if (JSONArray.class.isAssignableFrom(cls)) { JSONArray jSONArray = (JSONArray) obj; int length = jSONArray.length(); if (length <= 0) { return; } int i = 0; while (true) { int i2 = i + 1; StringCompanionObject stringCompanionObject2 = StringCompanionObject.INSTANCE; String format2 = String.format(Locale.ROOT, "%s[%d]", Arrays.copyOf(new Object[]{str, Integer.valueOf(i)}, 2)); Intrinsics.checkNotNullExpressionValue(format2, "java.lang.String.format(locale, format, *args)"); Object opt2 = jSONArray.opt(i); Intrinsics.checkNotNullExpressionValue(opt2, "jsonArray.opt(i)"); processGraphObjectProperty(format2, opt2, keyValueSerializer, z); if (i2 >= length) { return; } else { i = i2; } } } else { if (String.class.isAssignableFrom(cls) || Number.class.isAssignableFrom(cls) || Boolean.class.isAssignableFrom(cls)) { keyValueSerializer.writeString(str, obj.toString()); return; } if (Date.class.isAssignableFrom(cls)) { String format3 = new SimpleDateFormat(GraphRequest.ISO_8601_FORMAT_STRING, Locale.US).format((Date) obj); Intrinsics.checkNotNullExpressionValue(format3, "iso8601DateFormat.format(date)"); keyValueSerializer.writeString(str, format3); return; } Utility utility = Utility.INSTANCE; Utility.logd(GraphRequest.TAG, "The type of property " + str + " in the graph object is unknown. It won't be sent in the request."); } } private final void serializeParameters(Bundle bundle, Serializer serializer, GraphRequest graphRequest) { for (String key : bundle.keySet()) { Object obj = bundle.get(key); if (isSupportedParameterType(obj)) { Intrinsics.checkNotNullExpressionValue(key, "key"); serializer.writeObject(key, obj, graphRequest); } } } private final void serializeRequestsAsJSON(Serializer serializer, Collection collection, Map map) { JSONArray jSONArray = new JSONArray(); Iterator it = collection.iterator(); while (it.hasNext()) { it.next().serializeToBatch(jSONArray, map); } serializer.writeRequestsAsJson(GraphRequest.BATCH_PARAM, jSONArray, collection); } private final String getMimeContentType() { StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format("multipart/form-data; boundary=%s", Arrays.copyOf(new Object[]{GraphRequest.MIME_BOUNDARY}, 1)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(format, *args)"); return format; } private final String getUserAgent() { if (GraphRequest.userAgent == null) { StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format("%s.%s", Arrays.copyOf(new Object[]{GraphRequest.USER_AGENT_BASE, FacebookSdkVersion.BUILD}, 2)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(format, *args)"); GraphRequest.userAgent = format; String customUserAgent = InternalSettings.getCustomUserAgent(); if (!Utility.isNullOrEmpty(customUserAgent)) { String format2 = String.format(Locale.ROOT, "%s/%s", Arrays.copyOf(new Object[]{GraphRequest.userAgent, customUserAgent}, 2)); Intrinsics.checkNotNullExpressionValue(format2, "java.lang.String.format(locale, format, *args)"); GraphRequest.userAgent = format2; } } return GraphRequest.userAgent; } private final String getBatchAppId(GraphRequestBatch graphRequestBatch) { String batchApplicationId = graphRequestBatch.getBatchApplicationId(); if (batchApplicationId != null && (!graphRequestBatch.isEmpty())) { return batchApplicationId; } Iterator it = graphRequestBatch.iterator(); while (it.hasNext()) { AccessToken accessToken = it.next().getAccessToken(); if (accessToken != null) { return accessToken.getApplicationId(); } } String str = GraphRequest.defaultBatchApplicationId; return (str == null || str.length() <= 0) ? FacebookSdk.getApplicationId() : str; } /* JADX INFO: Access modifiers changed from: private */ public final boolean isSupportedAttachmentType(Object obj) { return (obj instanceof Bitmap) || (obj instanceof byte[]) || (obj instanceof Uri) || (obj instanceof ParcelFileDescriptor) || (obj instanceof ParcelableResourceWithMimeType); } /* JADX INFO: Access modifiers changed from: private */ public final boolean isSupportedParameterType(Object obj) { return (obj instanceof String) || (obj instanceof Boolean) || (obj instanceof Number) || (obj instanceof Date); } /* JADX INFO: Access modifiers changed from: private */ public final String parameterToString(Object obj) { if (obj instanceof String) { return (String) obj; } if ((obj instanceof Boolean) || (obj instanceof Number)) { return obj.toString(); } if (obj instanceof Date) { String format = new SimpleDateFormat(GraphRequest.ISO_8601_FORMAT_STRING, Locale.US).format((Date) obj); Intrinsics.checkNotNullExpressionValue(format, "iso8601DateFormat.format(value)"); return format; } throw new IllegalArgumentException("Unsupported parameter type."); } private final void serializeAttachments(Map map, Serializer serializer) { for (Map.Entry entry : map.entrySet()) { if (GraphRequest.Companion.isSupportedAttachmentType(entry.getValue().getValue())) { serializer.writeObject(entry.getKey(), entry.getValue().getValue(), entry.getValue().getRequest()); } } } } static { char[] charArray = "-_1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray(); Intrinsics.checkNotNullExpressionValue(charArray, "(this as java.lang.String).toCharArray()"); StringBuilder sb = new StringBuilder(); SecureRandom secureRandom = new SecureRandom(); int nextInt = secureRandom.nextInt(11) + 30; if (nextInt > 0) { int i = 0; do { i++; sb.append(charArray[secureRandom.nextInt(charArray.length)]); } while (i < nextInt); } String sb2 = sb.toString(); Intrinsics.checkNotNullExpressionValue(sb2, "buffer.toString()"); MIME_BOUNDARY = sb2; versionPattern = Pattern.compile("^/?v\\d+\\.\\d+/(.*)"); } public /* synthetic */ GraphRequest(AccessToken accessToken, String str, Bundle bundle, HttpMethod httpMethod, Callback callback, String str2, int i, DefaultConstructorMarker defaultConstructorMarker) { this((i & 1) != 0 ? null : accessToken, (i & 2) != 0 ? null : str, (i & 4) != 0 ? null : bundle, (i & 8) != 0 ? null : httpMethod, (i & 16) != 0 ? null : callback, (i & 32) != 0 ? null : str2); } public GraphRequest(AccessToken accessToken, String str, Bundle bundle, HttpMethod httpMethod, Callback callback, String str2) { this.batchEntryOmitResultOnSuccess = true; this.accessToken = accessToken; this.graphPath = str; this.version = str2; setCallback(callback); setHttpMethod(httpMethod); if (bundle != null) { this.parameters = new Bundle(bundle); } else { this.parameters = new Bundle(); } if (this.version == null) { this.version = FacebookSdk.getGraphApiVersion(); } } public GraphRequest(AccessToken accessToken, URL overriddenURL) { Intrinsics.checkNotNullParameter(overriddenURL, "overriddenURL"); this.batchEntryOmitResultOnSuccess = true; this.accessToken = accessToken; this.overriddenURL = overriddenURL.toString(); setHttpMethod(HttpMethod.GET); this.parameters = new Bundle(); } public final GraphResponse executeAndWait() { return Companion.executeAndWait(this); } public final GraphRequestAsyncTask executeAsync() { return Companion.executeBatchAsync(this); } public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{Request: "); sb.append(" accessToken: "); Object obj = this.accessToken; if (obj == null) { obj = "null"; } sb.append(obj); sb.append(", graphPath: "); sb.append(this.graphPath); sb.append(", graphObject: "); sb.append(this.graphObject); sb.append(", httpMethod: "); sb.append(this.httpMethod); sb.append(", parameters: "); sb.append(this.parameters); sb.append("}"); String sb2 = sb.toString(); Intrinsics.checkNotNullExpressionValue(sb2, "StringBuilder()\n .append(\"{Request: \")\n .append(\" accessToken: \")\n .append(if (accessToken == null) \"null\" else accessToken)\n .append(\", graphPath: \")\n .append(graphPath)\n .append(\", graphObject: \")\n .append(graphObject)\n .append(\", httpMethod: \")\n .append(httpMethod)\n .append(\", parameters: \")\n .append(parameters)\n .append(\"}\")\n .toString()"); return sb2; } private final void addCommonParameters() { Bundle bundle = this.parameters; if (shouldForceClientTokenForRequest()) { bundle.putString("access_token", getClientTokenForRequest()); } else { String accessTokenToUseForRequest = getAccessTokenToUseForRequest(); if (accessTokenToUseForRequest != null) { bundle.putString("access_token", accessTokenToUseForRequest); } } if (!bundle.containsKey("access_token")) { Utility utility = Utility.INSTANCE; if (Utility.isNullOrEmpty(FacebookSdk.getClientToken())) { Log.w(TAG, "Starting with v13 of the SDK, a client token must be embedded in your client code before making Graph API calls. Visit https://developers.facebook.com/docs/android/getting-started#client-token to learn how to implement this change."); } } bundle.putString("sdk", "android"); bundle.putString(FORMAT_PARAM, FORMAT_JSON); FacebookSdk facebookSdk = FacebookSdk.INSTANCE; if (FacebookSdk.isLoggingBehaviorEnabled(LoggingBehavior.GRAPH_API_DEBUG_INFO)) { bundle.putString("debug", DEBUG_SEVERITY_INFO); } else if (FacebookSdk.isLoggingBehaviorEnabled(LoggingBehavior.GRAPH_API_DEBUG_WARNING)) { bundle.putString("debug", DEBUG_SEVERITY_WARNING); } } private final String getAccessTokenToUseForRequest() { AccessToken accessToken = this.accessToken; if (accessToken != null) { if (!this.parameters.containsKey("access_token")) { String token = accessToken.getToken(); Logger.Companion.registerAccessToken(token); return token; } } else if (!this.parameters.containsKey("access_token")) { return getClientTokenForRequest(); } return this.parameters.getString("access_token"); } private final String getClientTokenForRequest() { String applicationId = FacebookSdk.getApplicationId(); String clientToken = FacebookSdk.getClientToken(); if (applicationId.length() > 0 && clientToken.length() > 0) { return applicationId + '|' + clientToken; } Utility utility = Utility.INSTANCE; Utility.logd(TAG, "Warning: Request without access token missing application ID or client token."); return null; } private final String appendParametersToBaseUrl(String str, boolean z) { if (!z && this.httpMethod == HttpMethod.POST) { return str; } Uri.Builder buildUpon = Uri.parse(str).buildUpon(); for (String str2 : this.parameters.keySet()) { Object obj = this.parameters.get(str2); if (obj == null) { obj = ""; } Companion companion = Companion; if (!companion.isSupportedParameterType(obj)) { if (this.httpMethod != HttpMethod.GET) { StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format(Locale.US, "Unsupported parameter type for GET request: %s", Arrays.copyOf(new Object[]{obj.getClass().getSimpleName()}, 1)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(locale, format, *args)"); throw new IllegalArgumentException(format); } } else { buildUpon.appendQueryParameter(str2, companion.parameterToString(obj).toString()); } } String builder = buildUpon.toString(); Intrinsics.checkNotNullExpressionValue(builder, "uriBuilder.toString()"); return builder; } public final String getRelativeUrlForBatchedRequest() { if (this.overriddenURL != null) { throw new FacebookException("Can't override URL for a batch request"); } String urlWithGraphPath = getUrlWithGraphPath(ServerProtocol.getGraphUrlBase()); addCommonParameters(); Uri parse = Uri.parse(appendParametersToBaseUrl(urlWithGraphPath, true)); StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format("%s?%s", Arrays.copyOf(new Object[]{parse.getPath(), parse.getQuery()}, 2)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(format, *args)"); return format; } public final String getUrlForSingleRequest() { String graphUrlBaseForSubdomain; String str = this.overriddenURL; if (str != null) { return String.valueOf(str); } String str2 = this.graphPath; if (this.httpMethod == HttpMethod.POST && str2 != null && StringsKt__StringsJVMKt.endsWith$default(str2, VIDEOS_SUFFIX, false, 2, null)) { graphUrlBaseForSubdomain = ServerProtocol.getGraphVideoUrlBase(); } else { ServerProtocol serverProtocol = ServerProtocol.INSTANCE; graphUrlBaseForSubdomain = ServerProtocol.getGraphUrlBaseForSubdomain(FacebookSdk.getGraphDomain()); } String urlWithGraphPath = getUrlWithGraphPath(graphUrlBaseForSubdomain); addCommonParameters(); return appendParametersToBaseUrl(urlWithGraphPath, false); } private final String getGraphPathWithVersion() { if (versionPattern.matcher(this.graphPath).matches()) { return this.graphPath; } StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format("%s/%s", Arrays.copyOf(new Object[]{this.version, this.graphPath}, 2)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(format, *args)"); return format; } private final String getUrlWithGraphPath(String str) { if (!isValidGraphRequestForDomain()) { str = ServerProtocol.getFacebookGraphUrlBase(); } StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format("%s/%s", Arrays.copyOf(new Object[]{str, getGraphPathWithVersion()}, 2)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(format, *args)"); return format; } private final boolean shouldForceClientTokenForRequest() { String accessTokenToUseForRequest = getAccessTokenToUseForRequest(); boolean contains$default = accessTokenToUseForRequest == null ? false : StringsKt__StringsKt.contains$default(accessTokenToUseForRequest, "|", false, 2, null); if (accessTokenToUseForRequest == null || !StringsKt__StringsJVMKt.startsWith$default(accessTokenToUseForRequest, "IG", false, 2, null) || contains$default || !isApplicationRequest()) { return (isValidGraphRequestForDomain() || contains$default) ? false : true; } return true; } private final boolean isValidGraphRequestForDomain() { if (Intrinsics.areEqual(FacebookSdk.getGraphDomain(), FacebookSdk.INSTAGRAM_COM)) { return !isApplicationRequest(); } return true; } private final boolean isApplicationRequest() { if (this.graphPath == null) { return false; } StringBuilder sb = new StringBuilder(); sb.append("^/?"); sb.append(FacebookSdk.getApplicationId()); sb.append("/?.*"); return this.forceApplicationRequest || Pattern.matches(sb.toString(), this.graphPath) || Pattern.matches("^/?app/?.*", this.graphPath); } public static final class Attachment { private final GraphRequest request; private final Object value; public final GraphRequest getRequest() { return this.request; } public final Object getValue() { return this.value; } public Attachment(GraphRequest request, Object obj) { Intrinsics.checkNotNullParameter(request, "request"); this.request = request; this.value = obj; } } /* JADX INFO: Access modifiers changed from: private */ public final void serializeToBatch(JSONArray jSONArray, Map map) throws JSONException, IOException { JSONObject jSONObject = new JSONObject(); String str = this.batchEntryName; if (str != null) { jSONObject.put("name", str); jSONObject.put(BATCH_ENTRY_OMIT_RESPONSE_ON_SUCCESS_PARAM, this.batchEntryOmitResultOnSuccess); } String str2 = this.batchEntryDependsOn; if (str2 != null) { jSONObject.put(BATCH_ENTRY_DEPENDS_ON_PARAM, str2); } String relativeUrlForBatchedRequest = getRelativeUrlForBatchedRequest(); jSONObject.put(BATCH_RELATIVE_URL_PARAM, relativeUrlForBatchedRequest); jSONObject.put("method", this.httpMethod); AccessToken accessToken = this.accessToken; if (accessToken != null) { Logger.Companion.registerAccessToken(accessToken.getToken()); } ArrayList arrayList = new ArrayList(); Iterator it = this.parameters.keySet().iterator(); while (it.hasNext()) { Object obj = this.parameters.get(it.next()); if (Companion.isSupportedAttachmentType(obj)) { StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format(Locale.ROOT, "%s%d", Arrays.copyOf(new Object[]{"file", Integer.valueOf(map.size())}, 2)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(locale, format, *args)"); arrayList.add(format); map.put(format, new Attachment(this, obj)); } } if (!arrayList.isEmpty()) { jSONObject.put(ATTACHED_FILES_PARAM, TextUtils.join(",", arrayList)); } JSONObject jSONObject2 = this.graphObject; if (jSONObject2 != null) { final ArrayList arrayList2 = new ArrayList(); Companion.processGraphObject(jSONObject2, relativeUrlForBatchedRequest, new KeyValueSerializer() { // from class: com.facebook.GraphRequest$serializeToBatch$1 @Override // com.facebook.GraphRequest.KeyValueSerializer public void writeString(String key, String value) throws IOException { Intrinsics.checkNotNullParameter(key, "key"); Intrinsics.checkNotNullParameter(value, "value"); ArrayList arrayList3 = arrayList2; StringCompanionObject stringCompanionObject2 = StringCompanionObject.INSTANCE; String format2 = String.format(Locale.US, "%s=%s", Arrays.copyOf(new Object[]{key, URLEncoder.encode(value, "UTF-8")}, 2)); Intrinsics.checkNotNullExpressionValue(format2, "java.lang.String.format(locale, format, *args)"); arrayList3.add(format2); } }); jSONObject.put("body", TextUtils.join(v8.i.c, arrayList2)); } jSONArray.put(jSONObject); } public static final class Serializer implements KeyValueSerializer { private boolean firstWrite; private final Logger logger; private final OutputStream outputStream; private final boolean useUrlEncode; public Serializer(OutputStream outputStream, Logger logger, boolean z) { Intrinsics.checkNotNullParameter(outputStream, "outputStream"); this.outputStream = outputStream; this.logger = logger; this.firstWrite = true; this.useUrlEncode = z; } public final void writeObject(String key, Object obj, GraphRequest graphRequest) { Intrinsics.checkNotNullParameter(key, "key"); Closeable closeable = this.outputStream; if (closeable instanceof RequestOutputStream) { ((RequestOutputStream) closeable).setCurrentRequest(graphRequest); } Companion companion = GraphRequest.Companion; if (companion.isSupportedParameterType(obj)) { writeString(key, companion.parameterToString(obj)); return; } if (obj instanceof Bitmap) { writeBitmap(key, (Bitmap) obj); return; } if (obj instanceof byte[]) { writeBytes(key, (byte[]) obj); return; } if (obj instanceof Uri) { writeContentUri(key, (Uri) obj, null); return; } if (obj instanceof ParcelFileDescriptor) { writeFile(key, (ParcelFileDescriptor) obj, null); return; } if (obj instanceof ParcelableResourceWithMimeType) { ParcelableResourceWithMimeType parcelableResourceWithMimeType = (ParcelableResourceWithMimeType) obj; Parcelable resource = parcelableResourceWithMimeType.getResource(); String mimeType = parcelableResourceWithMimeType.getMimeType(); if (resource instanceof ParcelFileDescriptor) { writeFile(key, (ParcelFileDescriptor) resource, mimeType); return; } else { if (resource instanceof Uri) { writeContentUri(key, (Uri) resource, mimeType); return; } throw getInvalidTypeError(); } } throw getInvalidTypeError(); } private final RuntimeException getInvalidTypeError() { return new IllegalArgumentException("value is not a supported type."); } public final void writeRequestsAsJson(String key, JSONArray requestJsonArray, Collection requests) { Intrinsics.checkNotNullParameter(key, "key"); Intrinsics.checkNotNullParameter(requestJsonArray, "requestJsonArray"); Intrinsics.checkNotNullParameter(requests, "requests"); Closeable closeable = this.outputStream; if (!(closeable instanceof RequestOutputStream)) { String jSONArray = requestJsonArray.toString(); Intrinsics.checkNotNullExpressionValue(jSONArray, "requestJsonArray.toString()"); writeString(key, jSONArray); return; } RequestOutputStream requestOutputStream = (RequestOutputStream) closeable; writeContentDisposition(key, null, null); write(v8.i.d, new Object[0]); int i = 0; for (GraphRequest graphRequest : requests) { int i2 = i + 1; JSONObject jSONObject = requestJsonArray.getJSONObject(i); requestOutputStream.setCurrentRequest(graphRequest); if (i > 0) { write(",%s", jSONObject.toString()); } else { write("%s", jSONObject.toString()); } i = i2; } write(v8.i.e, new Object[0]); Logger logger = this.logger; if (logger == null) { return; } String stringPlus = Intrinsics.stringPlus(" ", key); String jSONArray2 = requestJsonArray.toString(); Intrinsics.checkNotNullExpressionValue(jSONArray2, "requestJsonArray.toString()"); logger.appendKeyValue(stringPlus, jSONArray2); } @Override // com.facebook.GraphRequest.KeyValueSerializer public void writeString(String key, String value) { Intrinsics.checkNotNullParameter(key, "key"); Intrinsics.checkNotNullParameter(value, "value"); writeContentDisposition(key, null, null); writeLine("%s", value); writeRecordBoundary(); Logger logger = this.logger; if (logger == null) { return; } logger.appendKeyValue(Intrinsics.stringPlus(" ", key), value); } public final void writeBitmap(String key, Bitmap bitmap) { Intrinsics.checkNotNullParameter(key, "key"); Intrinsics.checkNotNullParameter(bitmap, "bitmap"); writeContentDisposition(key, key, "image/png"); bitmap.compress(Bitmap.CompressFormat.PNG, 100, this.outputStream); writeLine("", new Object[0]); writeRecordBoundary(); Logger logger = this.logger; if (logger == null) { return; } logger.appendKeyValue(Intrinsics.stringPlus(" ", key), ""); } public final void writeBytes(String key, byte[] bytes) { Intrinsics.checkNotNullParameter(key, "key"); Intrinsics.checkNotNullParameter(bytes, "bytes"); writeContentDisposition(key, key, "content/unknown"); this.outputStream.write(bytes); writeLine("", new Object[0]); writeRecordBoundary(); Logger logger = this.logger; if (logger == null) { return; } String stringPlus = Intrinsics.stringPlus(" ", key); StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format(Locale.ROOT, "", Arrays.copyOf(new Object[]{Integer.valueOf(bytes.length)}, 1)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(locale, format, *args)"); logger.appendKeyValue(stringPlus, format); } public final void writeContentUri(String key, Uri contentUri, String str) { int copyAndCloseInputStream; Intrinsics.checkNotNullParameter(key, "key"); Intrinsics.checkNotNullParameter(contentUri, "contentUri"); if (str == null) { str = "content/unknown"; } writeContentDisposition(key, key, str); if (this.outputStream instanceof ProgressNoopOutputStream) { ((ProgressNoopOutputStream) this.outputStream).addProgress(Utility.getContentSize(contentUri)); copyAndCloseInputStream = 0; } else { InputStream openInputStream = FacebookSdk.getApplicationContext().getContentResolver().openInputStream(contentUri); Utility utility = Utility.INSTANCE; copyAndCloseInputStream = Utility.copyAndCloseInputStream(openInputStream, this.outputStream); } writeLine("", new Object[0]); writeRecordBoundary(); Logger logger = this.logger; if (logger == null) { return; } String stringPlus = Intrinsics.stringPlus(" ", key); StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format(Locale.ROOT, "", Arrays.copyOf(new Object[]{Integer.valueOf(copyAndCloseInputStream)}, 1)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(locale, format, *args)"); logger.appendKeyValue(stringPlus, format); } public final void writeFile(String key, ParcelFileDescriptor descriptor, String str) { int copyAndCloseInputStream; Intrinsics.checkNotNullParameter(key, "key"); Intrinsics.checkNotNullParameter(descriptor, "descriptor"); if (str == null) { str = "content/unknown"; } writeContentDisposition(key, key, str); OutputStream outputStream = this.outputStream; if (outputStream instanceof ProgressNoopOutputStream) { ((ProgressNoopOutputStream) outputStream).addProgress(descriptor.getStatSize()); copyAndCloseInputStream = 0; } else { ParcelFileDescriptor.AutoCloseInputStream autoCloseInputStream = new ParcelFileDescriptor.AutoCloseInputStream(descriptor); Utility utility = Utility.INSTANCE; copyAndCloseInputStream = Utility.copyAndCloseInputStream(autoCloseInputStream, this.outputStream); } writeLine("", new Object[0]); writeRecordBoundary(); Logger logger = this.logger; if (logger == null) { return; } String stringPlus = Intrinsics.stringPlus(" ", key); StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format(Locale.ROOT, "", Arrays.copyOf(new Object[]{Integer.valueOf(copyAndCloseInputStream)}, 1)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(locale, format, *args)"); logger.appendKeyValue(stringPlus, format); } public final void writeRecordBoundary() { if (!this.useUrlEncode) { writeLine("--%s", GraphRequest.MIME_BOUNDARY); return; } OutputStream outputStream = this.outputStream; byte[] bytes = v8.i.c.getBytes(Charsets.UTF_8); Intrinsics.checkNotNullExpressionValue(bytes, "(this as java.lang.String).getBytes(charset)"); outputStream.write(bytes); } public final void writeContentDisposition(String str, String str2, String str3) { if (!this.useUrlEncode) { write("Content-Disposition: form-data; name=\"%s\"", str); if (str2 != null) { write("; filename=\"%s\"", str2); } writeLine("", new Object[0]); if (str3 != null) { writeLine("%s: %s", "Content-Type", str3); } writeLine("", new Object[0]); return; } OutputStream outputStream = this.outputStream; StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; String format = String.format("%s=", Arrays.copyOf(new Object[]{str}, 1)); Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(format, *args)"); Charset charset = Charsets.UTF_8; if (format == null) { throw new NullPointerException("null cannot be cast to non-null type java.lang.String"); } byte[] bytes = format.getBytes(charset); Intrinsics.checkNotNullExpressionValue(bytes, "(this as java.lang.String).getBytes(charset)"); outputStream.write(bytes); } public final void write(String format, Object... args) { Intrinsics.checkNotNullParameter(format, "format"); Intrinsics.checkNotNullParameter(args, "args"); if (!this.useUrlEncode) { if (this.firstWrite) { OutputStream outputStream = this.outputStream; Charset charset = Charsets.UTF_8; byte[] bytes = "--".getBytes(charset); Intrinsics.checkNotNullExpressionValue(bytes, "(this as java.lang.String).getBytes(charset)"); outputStream.write(bytes); OutputStream outputStream2 = this.outputStream; String str = GraphRequest.MIME_BOUNDARY; if (str == null) { throw new NullPointerException("null cannot be cast to non-null type java.lang.String"); } byte[] bytes2 = str.getBytes(charset); Intrinsics.checkNotNullExpressionValue(bytes2, "(this as java.lang.String).getBytes(charset)"); outputStream2.write(bytes2); OutputStream outputStream3 = this.outputStream; byte[] bytes3 = "\r\n".getBytes(charset); Intrinsics.checkNotNullExpressionValue(bytes3, "(this as java.lang.String).getBytes(charset)"); outputStream3.write(bytes3); this.firstWrite = false; } OutputStream outputStream4 = this.outputStream; StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE; Object[] copyOf = Arrays.copyOf(args, args.length); String format2 = String.format(format, Arrays.copyOf(copyOf, copyOf.length)); Intrinsics.checkNotNullExpressionValue(format2, "java.lang.String.format(format, *args)"); Charset charset2 = Charsets.UTF_8; if (format2 == null) { throw new NullPointerException("null cannot be cast to non-null type java.lang.String"); } byte[] bytes4 = format2.getBytes(charset2); Intrinsics.checkNotNullExpressionValue(bytes4, "(this as java.lang.String).getBytes(charset)"); outputStream4.write(bytes4); return; } OutputStream outputStream5 = this.outputStream; StringCompanionObject stringCompanionObject2 = StringCompanionObject.INSTANCE; Locale locale = Locale.US; Object[] copyOf2 = Arrays.copyOf(args, args.length); String format3 = String.format(locale, format, Arrays.copyOf(copyOf2, copyOf2.length)); Intrinsics.checkNotNullExpressionValue(format3, "java.lang.String.format(locale, format, *args)"); String encode = URLEncoder.encode(format3, "UTF-8"); Intrinsics.checkNotNullExpressionValue(encode, "encode(String.format(Locale.US, format, *args), \"UTF-8\")"); byte[] bytes5 = encode.getBytes(Charsets.UTF_8); Intrinsics.checkNotNullExpressionValue(bytes5, "(this as java.lang.String).getBytes(charset)"); outputStream5.write(bytes5); } public final void writeLine(String format, Object... args) { Intrinsics.checkNotNullParameter(format, "format"); Intrinsics.checkNotNullParameter(args, "args"); write(format, Arrays.copyOf(args, args.length)); if (this.useUrlEncode) { return; } write("\r\n", new Object[0]); } } public static final class ParcelableResourceWithMimeType implements Parcelable { private final String mimeType; private final RESOURCE resource; public static final Companion Companion = new Companion(null); public static final Parcelable.Creator> CREATOR = new Parcelable.Creator>() { // from class: com.facebook.GraphRequest$ParcelableResourceWithMimeType$Companion$CREATOR$1 /* JADX WARN: Can't rename method to resolve collision */ @Override // android.os.Parcelable.Creator public GraphRequest.ParcelableResourceWithMimeType createFromParcel(Parcel source) { Intrinsics.checkNotNullParameter(source, "source"); return new GraphRequest.ParcelableResourceWithMimeType<>(source, (DefaultConstructorMarker) null); } /* JADX WARN: Can't rename method to resolve collision */ @Override // android.os.Parcelable.Creator public GraphRequest.ParcelableResourceWithMimeType[] newArray(int i) { return new GraphRequest.ParcelableResourceWithMimeType[i]; } }; public /* synthetic */ ParcelableResourceWithMimeType(Parcel parcel, DefaultConstructorMarker defaultConstructorMarker) { this(parcel); } @Override // android.os.Parcelable public int describeContents() { return 1; } public final String getMimeType() { return this.mimeType; } public final RESOURCE getResource() { return this.resource; } @Override // android.os.Parcelable public void writeToParcel(Parcel out, int i) { Intrinsics.checkNotNullParameter(out, "out"); out.writeString(this.mimeType); out.writeParcelable(this.resource, i); } public ParcelableResourceWithMimeType(RESOURCE resource, String str) { this.mimeType = str; this.resource = resource; } private ParcelableResourceWithMimeType(Parcel parcel) { this.mimeType = parcel.readString(); this.resource = (RESOURCE) parcel.readParcelable(FacebookSdk.getApplicationContext().getClassLoader()); } public static final class Companion { public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } private Companion() { } } } }