- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
226 lines
10 KiB
Java
226 lines
10 KiB
Java
package com.facebook.messenger;
|
|
|
|
import android.app.Activity;
|
|
import android.content.ActivityNotFoundException;
|
|
import android.content.ContentResolver;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.database.Cursor;
|
|
import android.net.Uri;
|
|
import android.os.Bundle;
|
|
import com.facebook.FacebookSdk;
|
|
import com.facebook.bolts.AppLinks;
|
|
import com.facebook.internal.FacebookSignatureValidator;
|
|
import com.facebook.internal.instrument.crashshield.CrashShieldHandler;
|
|
import com.facebook.messenger.MessengerThreadParams;
|
|
import java.util.ArrayList;
|
|
import java.util.HashSet;
|
|
import java.util.List;
|
|
import java.util.Set;
|
|
import kotlin.Unit;
|
|
import kotlin.collections.CollectionsKt__CollectionsKt;
|
|
import kotlin.io.CloseableKt;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import kotlin.text.StringsKt__StringsKt;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public final class MessengerUtils {
|
|
public static final String EXTRA_APP_ID = "com.facebook.orca.extra.APPLICATION_ID";
|
|
public static final String EXTRA_EXTERNAL_URI = "com.facebook.orca.extra.EXTERNAL_URI";
|
|
public static final String EXTRA_IS_COMPOSE = "com.facebook.orca.extra.IS_COMPOSE";
|
|
public static final String EXTRA_IS_REPLY = "com.facebook.orca.extra.IS_REPLY";
|
|
public static final String EXTRA_METADATA = "com.facebook.orca.extra.METADATA";
|
|
public static final String EXTRA_PARTICIPANTS = "com.facebook.orca.extra.PARTICIPANTS";
|
|
public static final String EXTRA_PROTOCOL_VERSION = "com.facebook.orca.extra.PROTOCOL_VERSION";
|
|
public static final String EXTRA_REPLY_TOKEN_KEY = "com.facebook.orca.extra.REPLY_TOKEN";
|
|
public static final String EXTRA_THREAD_TOKEN_KEY = "com.facebook.orca.extra.THREAD_TOKEN";
|
|
public static final MessengerUtils INSTANCE = new MessengerUtils();
|
|
public static final String ORCA_THREAD_CATEGORY_20150314 = "com.facebook.orca.category.PLATFORM_THREAD_20150314";
|
|
public static final String PACKAGE_NAME = "com.facebook.orca";
|
|
public static final int PROTOCOL_VERSION_20150314 = 20150314;
|
|
private static final String TAG = "MessengerUtils";
|
|
|
|
private MessengerUtils() {
|
|
}
|
|
|
|
public final void shareToMessenger(Activity activity, int i, ShareToMessengerParams shareToMessengerParams) {
|
|
if (CrashShieldHandler.isObjectCrashing(this)) {
|
|
return;
|
|
}
|
|
try {
|
|
Intrinsics.checkNotNullParameter(activity, "activity");
|
|
Intrinsics.checkNotNullParameter(shareToMessengerParams, "shareToMessengerParams");
|
|
if (!hasMessengerInstalled(activity)) {
|
|
openMessengerInPlayStore(activity);
|
|
} else if (getAllAvailableProtocolVersions(activity).contains(Integer.valueOf(PROTOCOL_VERSION_20150314))) {
|
|
shareToMessenger20150314(activity, i, shareToMessengerParams);
|
|
} else {
|
|
openMessengerInPlayStore(activity);
|
|
}
|
|
} catch (Throwable th) {
|
|
CrashShieldHandler.handleThrowable(th, this);
|
|
}
|
|
}
|
|
|
|
private final void shareToMessenger20150314(Activity activity, int i, ShareToMessengerParams shareToMessengerParams) {
|
|
try {
|
|
Intent intent = new Intent("android.intent.action.SEND");
|
|
intent.setFlags(1);
|
|
intent.setPackage(PACKAGE_NAME);
|
|
intent.putExtra("android.intent.extra.STREAM", shareToMessengerParams.getUri());
|
|
intent.setType(shareToMessengerParams.getMimeType());
|
|
intent.putExtra(EXTRA_PROTOCOL_VERSION, PROTOCOL_VERSION_20150314);
|
|
intent.putExtra(EXTRA_APP_ID, FacebookSdk.getApplicationId());
|
|
intent.putExtra(EXTRA_METADATA, shareToMessengerParams.getMetaData());
|
|
intent.putExtra(EXTRA_EXTERNAL_URI, shareToMessengerParams.getExternalUri());
|
|
activity.startActivityForResult(intent, i);
|
|
} catch (ActivityNotFoundException unused) {
|
|
activity.startActivity(activity.getPackageManager().getLaunchIntentForPackage(PACKAGE_NAME));
|
|
}
|
|
}
|
|
|
|
public final MessengerThreadParams getMessengerThreadParamsForIntent(Intent intent) {
|
|
MessengerThreadParams.Origin origin;
|
|
if (CrashShieldHandler.isObjectCrashing(this)) {
|
|
return null;
|
|
}
|
|
try {
|
|
Intrinsics.checkNotNullParameter(intent, "intent");
|
|
Set<String> categories = intent.getCategories();
|
|
if (categories != null && categories.contains(ORCA_THREAD_CATEGORY_20150314)) {
|
|
Bundle appLinkExtras = AppLinks.getAppLinkExtras(intent);
|
|
String string = appLinkExtras == null ? null : appLinkExtras.getString(EXTRA_THREAD_TOKEN_KEY);
|
|
String string2 = appLinkExtras == null ? null : appLinkExtras.getString(EXTRA_METADATA);
|
|
String string3 = appLinkExtras == null ? null : appLinkExtras.getString(EXTRA_PARTICIPANTS);
|
|
Boolean valueOf = appLinkExtras == null ? null : Boolean.valueOf(appLinkExtras.getBoolean(EXTRA_IS_REPLY));
|
|
Boolean valueOf2 = appLinkExtras == null ? null : Boolean.valueOf(appLinkExtras.getBoolean(EXTRA_IS_COMPOSE));
|
|
Boolean bool = Boolean.TRUE;
|
|
if (Intrinsics.areEqual(valueOf, bool)) {
|
|
origin = MessengerThreadParams.Origin.REPLY_FLOW;
|
|
} else if (Intrinsics.areEqual(valueOf2, bool)) {
|
|
origin = MessengerThreadParams.Origin.COMPOSE_FLOW;
|
|
} else {
|
|
origin = MessengerThreadParams.Origin.UNKNOWN;
|
|
}
|
|
if (string != null && string2 != null) {
|
|
return new MessengerThreadParams(origin, string, string2, parseParticipants(string3));
|
|
}
|
|
}
|
|
return null;
|
|
} catch (Throwable th) {
|
|
CrashShieldHandler.handleThrowable(th, this);
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public final void finishShareToMessenger(Activity activity, ShareToMessengerParams shareToMessengerParams) {
|
|
Intrinsics.checkNotNullParameter(activity, "activity");
|
|
Intrinsics.checkNotNullParameter(shareToMessengerParams, "shareToMessengerParams");
|
|
Intent originalIntent = activity.getIntent();
|
|
Set<String> categories = originalIntent.getCategories();
|
|
if (categories == null) {
|
|
activity.setResult(0, null);
|
|
activity.finish();
|
|
return;
|
|
}
|
|
if (categories.contains(ORCA_THREAD_CATEGORY_20150314)) {
|
|
AppLinks appLinks = AppLinks.INSTANCE;
|
|
Intrinsics.checkNotNullExpressionValue(originalIntent, "originalIntent");
|
|
Bundle appLinkExtras = AppLinks.getAppLinkExtras(originalIntent);
|
|
Intent intent = new Intent();
|
|
if (appLinkExtras != null && categories.contains(ORCA_THREAD_CATEGORY_20150314)) {
|
|
intent.putExtra(EXTRA_PROTOCOL_VERSION, PROTOCOL_VERSION_20150314);
|
|
intent.putExtra(EXTRA_THREAD_TOKEN_KEY, appLinkExtras.getString(EXTRA_THREAD_TOKEN_KEY));
|
|
intent.setDataAndType(shareToMessengerParams.getUri(), shareToMessengerParams.getMimeType());
|
|
intent.setFlags(1);
|
|
intent.putExtra(EXTRA_APP_ID, FacebookSdk.getApplicationId());
|
|
intent.putExtra(EXTRA_METADATA, shareToMessengerParams.getMetaData());
|
|
intent.putExtra(EXTRA_EXTERNAL_URI, shareToMessengerParams.getExternalUri());
|
|
activity.setResult(-1, intent);
|
|
activity.finish();
|
|
return;
|
|
}
|
|
throw new RuntimeException();
|
|
}
|
|
activity.setResult(0, null);
|
|
activity.finish();
|
|
}
|
|
|
|
public final boolean hasMessengerInstalled(Context context) {
|
|
Intrinsics.checkNotNullParameter(context, "context");
|
|
return FacebookSignatureValidator.validateSignature(context, PACKAGE_NAME);
|
|
}
|
|
|
|
public final void openMessengerInPlayStore(Context context) {
|
|
if (CrashShieldHandler.isObjectCrashing(this)) {
|
|
return;
|
|
}
|
|
try {
|
|
Intrinsics.checkNotNullParameter(context, "context");
|
|
try {
|
|
startViewUri(context, "market://details?id=com.facebook.orca");
|
|
} catch (ActivityNotFoundException unused) {
|
|
startViewUri(context, "http://play.google.com/store/apps/details?id=com.facebook.orca");
|
|
}
|
|
} catch (Throwable th) {
|
|
CrashShieldHandler.handleThrowable(th, this);
|
|
}
|
|
}
|
|
|
|
private final Set<Integer> getAllAvailableProtocolVersions(Context context) {
|
|
ContentResolver contentResolver = context.getContentResolver();
|
|
HashSet hashSet = new HashSet();
|
|
Cursor query = contentResolver.query(Uri.parse("content://com.facebook.orca.provider.MessengerPlatformProvider/versions"), new String[]{"version"}, null, null, null);
|
|
if (query != null) {
|
|
try {
|
|
int columnIndex = query.getColumnIndex("version");
|
|
while (query.moveToNext()) {
|
|
hashSet.add(Integer.valueOf(query.getInt(columnIndex)));
|
|
}
|
|
Unit unit = Unit.INSTANCE;
|
|
CloseableKt.closeFinally(query, null);
|
|
} finally {
|
|
}
|
|
}
|
|
return hashSet;
|
|
}
|
|
|
|
private final void startViewUri(Context context, String str) {
|
|
context.startActivity(new Intent("android.intent.action.VIEW", Uri.parse(str)));
|
|
}
|
|
|
|
private final List<String> parseParticipants(String str) {
|
|
List split$default;
|
|
if (str == null || str.length() == 0) {
|
|
return CollectionsKt__CollectionsKt.emptyList();
|
|
}
|
|
split$default = StringsKt__StringsKt.split$default((CharSequence) str, new String[]{","}, false, 0, 6, (Object) null);
|
|
Object[] array = split$default.toArray(new String[0]);
|
|
if (array == null) {
|
|
throw new NullPointerException("null cannot be cast to non-null type kotlin.Array<T>");
|
|
}
|
|
String[] strArr = (String[]) array;
|
|
ArrayList arrayList = new ArrayList(strArr.length);
|
|
for (String str2 : strArr) {
|
|
int length = str2.length() - 1;
|
|
int i = 0;
|
|
boolean z = false;
|
|
while (i <= length) {
|
|
boolean z2 = Intrinsics.compare((int) str2.charAt(!z ? i : length), 32) <= 0;
|
|
if (z) {
|
|
if (!z2) {
|
|
break;
|
|
}
|
|
length--;
|
|
} else if (z2) {
|
|
i++;
|
|
} else {
|
|
z = true;
|
|
}
|
|
}
|
|
arrayList.add(str2.subSequence(i, length + 1).toString());
|
|
}
|
|
return arrayList;
|
|
}
|
|
}
|