- 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
138 lines
6.8 KiB
Java
138 lines
6.8 KiB
Java
package com.facebook.appevents.iap;
|
|
|
|
import android.app.Application;
|
|
import android.content.ComponentName;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.content.ServiceConnection;
|
|
import android.os.IBinder;
|
|
import android.util.Log;
|
|
import com.facebook.FacebookSdk;
|
|
import com.facebook.appevents.internal.AutomaticAnalyticsLogger;
|
|
import com.facebook.gamingservices.cloudgaming.internal.SDKConstants;
|
|
import com.unity3d.ads.metadata.InAppPurchaseMetaData;
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.Iterator;
|
|
import java.util.Map;
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import org.json.JSONException;
|
|
import org.json.JSONObject;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public final class InAppPurchaseActivityLifecycleTracker {
|
|
private static final String BILLING_ACTIVITY_NAME = "com.android.billingclient.api.ProxyBillingActivity";
|
|
private static final String SERVICE_INTERFACE_NAME = "com.android.vending.billing.IInAppBillingService$Stub";
|
|
private static Application.ActivityLifecycleCallbacks callbacks;
|
|
private static Boolean hasBillingActivity;
|
|
private static Boolean hasBillingService;
|
|
private static Object inAppBillingObj;
|
|
private static Intent intent;
|
|
private static ServiceConnection serviceConnection;
|
|
public static final InAppPurchaseActivityLifecycleTracker INSTANCE = new InAppPurchaseActivityLifecycleTracker();
|
|
private static final String TAG = InAppPurchaseActivityLifecycleTracker.class.getCanonicalName();
|
|
private static final AtomicBoolean isTracking = new AtomicBoolean(false);
|
|
|
|
private InAppPurchaseActivityLifecycleTracker() {
|
|
}
|
|
|
|
public static final void startIapLogging() {
|
|
InAppPurchaseActivityLifecycleTracker inAppPurchaseActivityLifecycleTracker = INSTANCE;
|
|
inAppPurchaseActivityLifecycleTracker.initializeIfNotInitialized();
|
|
if (!Intrinsics.areEqual(hasBillingService, Boolean.FALSE) && AutomaticAnalyticsLogger.isImplicitPurchaseLoggingEnabled()) {
|
|
inAppPurchaseActivityLifecycleTracker.startTracking();
|
|
}
|
|
}
|
|
|
|
private final void initializeIfNotInitialized() {
|
|
if (hasBillingService != null) {
|
|
return;
|
|
}
|
|
Boolean valueOf = Boolean.valueOf(InAppPurchaseUtils.getClass(SERVICE_INTERFACE_NAME) != null);
|
|
hasBillingService = valueOf;
|
|
if (Intrinsics.areEqual(valueOf, Boolean.FALSE)) {
|
|
return;
|
|
}
|
|
hasBillingActivity = Boolean.valueOf(InAppPurchaseUtils.getClass(BILLING_ACTIVITY_NAME) != null);
|
|
InAppPurchaseEventManager.clearSkuDetailsCache();
|
|
Intent intent2 = new Intent("com.android.vending.billing.InAppBillingService.BIND").setPackage("com.android.vending");
|
|
Intrinsics.checkNotNullExpressionValue(intent2, "Intent(\"com.android.vending.billing.InAppBillingService.BIND\")\n .setPackage(\"com.android.vending\")");
|
|
intent = intent2;
|
|
serviceConnection = new ServiceConnection() { // from class: com.facebook.appevents.iap.InAppPurchaseActivityLifecycleTracker$initializeIfNotInitialized$1
|
|
@Override // android.content.ServiceConnection
|
|
public void onServiceDisconnected(ComponentName name) {
|
|
Intrinsics.checkNotNullParameter(name, "name");
|
|
}
|
|
|
|
@Override // android.content.ServiceConnection
|
|
public void onServiceConnected(ComponentName name, IBinder service) {
|
|
Intrinsics.checkNotNullParameter(name, "name");
|
|
Intrinsics.checkNotNullParameter(service, "service");
|
|
InAppPurchaseActivityLifecycleTracker inAppPurchaseActivityLifecycleTracker = InAppPurchaseActivityLifecycleTracker.INSTANCE;
|
|
InAppPurchaseEventManager inAppPurchaseEventManager = InAppPurchaseEventManager.INSTANCE;
|
|
InAppPurchaseActivityLifecycleTracker.inAppBillingObj = InAppPurchaseEventManager.asInterface(FacebookSdk.getApplicationContext(), service);
|
|
}
|
|
};
|
|
callbacks = new InAppPurchaseActivityLifecycleTracker$initializeIfNotInitialized$2();
|
|
}
|
|
|
|
private final void startTracking() {
|
|
if (isTracking.compareAndSet(false, true)) {
|
|
Context applicationContext = FacebookSdk.getApplicationContext();
|
|
if (applicationContext instanceof Application) {
|
|
Application application = (Application) applicationContext;
|
|
Application.ActivityLifecycleCallbacks activityLifecycleCallbacks = callbacks;
|
|
if (activityLifecycleCallbacks == null) {
|
|
Intrinsics.throwUninitializedPropertyAccessException("callbacks");
|
|
throw null;
|
|
}
|
|
application.registerActivityLifecycleCallbacks(activityLifecycleCallbacks);
|
|
Intent intent2 = intent;
|
|
if (intent2 == null) {
|
|
Intrinsics.throwUninitializedPropertyAccessException(SDKConstants.PARAM_INTENT);
|
|
throw null;
|
|
}
|
|
ServiceConnection serviceConnection2 = serviceConnection;
|
|
if (serviceConnection2 != null) {
|
|
applicationContext.bindService(intent2, serviceConnection2, 1);
|
|
} else {
|
|
Intrinsics.throwUninitializedPropertyAccessException("serviceConnection");
|
|
throw null;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public final void logPurchase(Context context, ArrayList<String> arrayList, boolean z) {
|
|
if (arrayList.isEmpty()) {
|
|
return;
|
|
}
|
|
HashMap hashMap = new HashMap();
|
|
ArrayList arrayList2 = new ArrayList();
|
|
Iterator<String> it = arrayList.iterator();
|
|
while (it.hasNext()) {
|
|
String purchase = it.next();
|
|
try {
|
|
String sku = new JSONObject(purchase).getString(InAppPurchaseMetaData.KEY_PRODUCT_ID);
|
|
Intrinsics.checkNotNullExpressionValue(sku, "sku");
|
|
Intrinsics.checkNotNullExpressionValue(purchase, "purchase");
|
|
hashMap.put(sku, purchase);
|
|
arrayList2.add(sku);
|
|
} catch (JSONException e) {
|
|
Log.e(TAG, "Error parsing in-app purchase data.", e);
|
|
}
|
|
}
|
|
InAppPurchaseEventManager inAppPurchaseEventManager = InAppPurchaseEventManager.INSTANCE;
|
|
for (Map.Entry<String, String> entry : InAppPurchaseEventManager.getSkuDetails(context, arrayList2, inAppBillingObj, z).entrySet()) {
|
|
String key = entry.getKey();
|
|
String value = entry.getValue();
|
|
String str = (String) hashMap.get(key);
|
|
if (str != null) {
|
|
AutomaticAnalyticsLogger.logPurchase(str, value, z);
|
|
}
|
|
}
|
|
}
|
|
}
|