Add Discord community version (64-bit only)

- 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
This commit is contained in:
2026-02-18 15:48:36 -08:00
parent c19eb3d7ff
commit c080f0d97f
26930 changed files with 2529574 additions and 0 deletions

View File

@@ -0,0 +1,92 @@
package com.ea.nimble.bridge;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import com.ea.nimble.Error;
import com.ea.nimble.IApplicationEnvironment;
import com.ea.nimble.NetworkConnectionCallback;
import com.ea.nimble.NetworkConnectionHandle;
import com.ea.nimble.SynergyNetworkConnectionCallback;
import com.ea.nimble.SynergyNetworkConnectionHandle;
import com.ea.nimble.SynergyRequest;
import com.ea.nimble.Utility;
import java.util.HashMap;
/* loaded from: classes2.dex */
public class BaseNativeCallback extends BroadcastReceiver implements NetworkConnectionCallback, SynergyNetworkConnectionCallback, SynergyRequest.SynergyRequestPreparingCallback, IApplicationEnvironment.IntegrityTokenCallback {
private int m_id;
public static native void nativeCallback(int i, Object... objArr);
public static native void nativeFinalize(int i);
public static void sendNativeCallback(final int i, final Object... objArr) {
Utility.runOnWorkerThread(new Runnable() { // from class: com.ea.nimble.bridge.BaseNativeCallback.1
@Override // java.lang.Runnable
public void run() {
BaseNativeCallback.nativeCallback(i, objArr);
}
});
}
public static void sendNativeCallback(final int i, final Runnable runnable, final Object... objArr) {
Utility.runOnWorkerThread(new Runnable() { // from class: com.ea.nimble.bridge.BaseNativeCallback.2
@Override // java.lang.Runnable
public void run() {
BaseNativeCallback.nativeCallback(i, objArr);
Runnable runnable2 = runnable;
if (runnable2 != null) {
runnable2.run();
}
}
});
}
public BaseNativeCallback(int i) {
this.m_id = i;
}
@Override // com.ea.nimble.NetworkConnectionCallback
public void callback(NetworkConnectionHandle networkConnectionHandle) {
sendNativeCallback(this.m_id, networkConnectionHandle);
}
public void finalize() throws Throwable {
super.finalize();
Utility.runOnWorkerThread(new Runnable() { // from class: com.ea.nimble.bridge.BaseNativeCallback.3
@Override // java.lang.Runnable
public void run() {
BaseNativeCallback.nativeFinalize(BaseNativeCallback.this.m_id);
}
});
}
@Override // android.content.BroadcastReceiver
public void onReceive(Context context, Intent intent) {
HashMap hashMap = new HashMap();
Bundle extras = intent.getExtras();
if (extras != null) {
for (String str : extras.keySet()) {
hashMap.put(str, extras.get(str));
}
}
sendNativeCallback(this.m_id, intent.getAction(), hashMap);
}
@Override // com.ea.nimble.SynergyRequest.SynergyRequestPreparingCallback
public void prepareRequest(SynergyRequest synergyRequest) {
sendNativeCallback(this.m_id, synergyRequest);
}
@Override // com.ea.nimble.SynergyNetworkConnectionCallback
public void callback(SynergyNetworkConnectionHandle synergyNetworkConnectionHandle) {
sendNativeCallback(this.m_id, synergyNetworkConnectionHandle);
}
@Override // com.ea.nimble.IApplicationEnvironment.IntegrityTokenCallback
public void onCallback(String str, Error error) {
sendNativeCallback(this.m_id, str, error);
}
}

View File

@@ -0,0 +1,21 @@
package com.ea.nimble.bridge;
import com.ea.nimble.Error;
import com.ea.nimble.IFacebook;
/* loaded from: classes2.dex */
public class FacebookNativeCallback implements IFacebook.RequestCallback {
private int m_id;
public FacebookNativeCallback(int i) {
this.m_id = i;
}
public void callback(String str, Error error) {
BaseNativeCallback.sendNativeCallback(this.m_id, str, error);
}
public void finalize() {
BaseNativeCallback.nativeFinalize(this.m_id);
}
}

View File

@@ -0,0 +1,35 @@
package com.ea.nimble.bridge;
import com.ea.nimble.Error;
import com.ea.nimble.friends.INimbleOriginFriendsService;
import com.ea.nimble.friends.NimbleFriendsList;
import com.ea.nimble.friends.NimbleFriendsRefreshCallback;
import com.ea.nimble.friends.NimbleFriendsRefreshResult;
import com.ea.nimble.friends.NimbleFriendsRefreshScope;
import com.ea.nimble.friends.NimbleUser;
import java.util.ArrayList;
/* loaded from: classes2.dex */
public class FriendsNativeCallback implements NimbleFriendsRefreshCallback, INimbleOriginFriendsService.NimbleUserSearchCallback, INimbleOriginFriendsService.NimbleFriendInvitationCallback {
private int m_id;
public FriendsNativeCallback(int i) {
this.m_id = i;
}
public void onCallback(NimbleFriendsList nimbleFriendsList, NimbleFriendsRefreshScope nimbleFriendsRefreshScope, NimbleFriendsRefreshResult nimbleFriendsRefreshResult) {
BaseNativeCallback.sendNativeCallback(this.m_id, nimbleFriendsList, nimbleFriendsRefreshScope, nimbleFriendsRefreshResult);
}
public void onCallback(ArrayList<NimbleUser> arrayList, Error error) {
BaseNativeCallback.sendNativeCallback(this.m_id, arrayList, error);
}
public void onCallback(boolean z, Error error) {
BaseNativeCallback.sendNativeCallback(this.m_id, Boolean.valueOf(z), error);
}
public void finalize() {
BaseNativeCallback.nativeFinalize(this.m_id);
}
}

View File

@@ -0,0 +1,22 @@
package com.ea.nimble.bridge;
import com.ea.nimble.Error;
import com.ea.nimble.INimbleAndroidGoogleService;
import java.util.Map;
/* loaded from: classes2.dex */
public class GoogleServiceRequestCallback implements INimbleAndroidGoogleService.RequestCallback {
private int m_id;
public GoogleServiceRequestCallback(int i) {
this.m_id = i;
}
public void callback(Map<String, Object> map, Error error) {
BaseNativeCallback.sendNativeCallback(this.m_id, map, error);
}
public void finalize() {
BaseNativeCallback.nativeFinalize(this.m_id);
}
}

View File

@@ -0,0 +1,26 @@
package com.ea.nimble.bridge;
import com.ea.nimble.identity.INimbleIdentityGenericAuthenticationConductor;
import com.ea.nimble.identity.INimbleIdentityGenericLoginResolver;
import com.ea.nimble.identity.INimbleIdentityGenericLogoutResolver;
/* loaded from: classes2.dex */
public class IdentityGenericAuthenticationConductor implements INimbleIdentityGenericAuthenticationConductor {
private int m_id;
public IdentityGenericAuthenticationConductor(int i) {
this.m_id = i;
}
public void handleLogin(INimbleIdentityGenericLoginResolver iNimbleIdentityGenericLoginResolver) {
BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityGenericLoginResolver);
}
public void handleLogout(INimbleIdentityGenericLogoutResolver iNimbleIdentityGenericLogoutResolver) {
BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityGenericLogoutResolver, null);
}
public void finalize() {
BaseNativeCallback.nativeFinalize(this.m_id);
}
}

View File

@@ -0,0 +1,30 @@
package com.ea.nimble.bridge;
import com.ea.nimble.identity.INimbleIdentityMigrationAuthenticationConductor;
import com.ea.nimble.identity.INimbleIdentityMigrationLoginResolver;
import com.ea.nimble.identity.INimbleIdentityPendingMigrationResolver;
/* loaded from: classes2.dex */
public class IdentityMigrationAuthenticationConductor implements INimbleIdentityMigrationAuthenticationConductor {
private int m_id;
public IdentityMigrationAuthenticationConductor(int i) {
this.m_id = i;
}
public void handleLogin(INimbleIdentityMigrationLoginResolver iNimbleIdentityMigrationLoginResolver) {
BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityMigrationLoginResolver);
}
public void handleLogout() {
BaseNativeCallback.sendNativeCallback(this.m_id, new Object[0]);
}
public void handlePendingMigration(INimbleIdentityPendingMigrationResolver iNimbleIdentityPendingMigrationResolver) {
BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityPendingMigrationResolver, null);
}
public void finalize() {
BaseNativeCallback.nativeFinalize(this.m_id);
}
}

View File

@@ -0,0 +1,34 @@
package com.ea.nimble.bridge;
import com.ea.nimble.Error;
import com.ea.nimble.identity.INimbleIdentityAuthenticator;
import org.json.JSONObject;
/* loaded from: classes2.dex */
public class IdentityNativeCallback implements INimbleIdentityAuthenticator.NimbleIdentityAuthenticatorCallback, INimbleIdentityAuthenticator.NimbleIdentityServerAuthCodeCallback, INimbleIdentityAuthenticator.NimbleIdentityFriendsIdentityInfoCallback, INimbleIdentityAuthenticator.NimbleAuthenticatorAccessTokenCallback {
private int m_id;
public IdentityNativeCallback(int i) {
this.m_id = i;
}
public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, JSONObject jSONObject, Error error) {
BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityAuthenticator, jSONObject, error);
}
public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, String str, String str2, String str3, Error error) {
BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityAuthenticator, str, str2, str3, error);
}
public void onCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, Error error) {
BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityAuthenticator, error);
}
public void AccessTokenCallback(INimbleIdentityAuthenticator iNimbleIdentityAuthenticator, String str, String str2, Error error) {
BaseNativeCallback.sendNativeCallback(this.m_id, iNimbleIdentityAuthenticator, str, str2, error);
}
public void finalize() {
BaseNativeCallback.nativeFinalize(this.m_id);
}
}

View File

@@ -0,0 +1,24 @@
package com.ea.nimble.bridge;
import com.ea.nimble.identity.INimbleIdentityPlainAuthenticationConductor;
/* loaded from: classes2.dex */
public class IdentityPlainAuthenticationConductor implements INimbleIdentityPlainAuthenticationConductor {
private int m_id;
public IdentityPlainAuthenticationConductor(int i) {
this.m_id = i;
}
public void handleLogin() {
BaseNativeCallback.sendNativeCallback(this.m_id, new Object[0]);
}
public void handleLogout() {
BaseNativeCallback.sendNativeCallback(this.m_id, null);
}
public void finalize() {
BaseNativeCallback.nativeFinalize(this.m_id);
}
}

View File

@@ -0,0 +1,21 @@
package com.ea.nimble.bridge;
import com.ea.nimble.ILog;
/* loaded from: classes2.dex */
public class LogNativeCallback implements ILog.LogCallback {
private int m_id;
public LogNativeCallback(int i) {
this.m_id = i;
}
@Override // com.ea.nimble.ILog.LogCallback
public void callback(int i, String str, String str2) {
BaseNativeCallback.sendNativeCallback(this.m_id, Integer.valueOf(i), str, str2);
}
public void finalize() {
BaseNativeCallback.nativeFinalize(this.m_id);
}
}

View File

@@ -0,0 +1,37 @@
package com.ea.nimble.bridge;
import com.ea.nimble.mtx.INimbleMTX;
import com.ea.nimble.mtx.NimbleMTXTransaction;
/* loaded from: classes2.dex */
public class MTXNativeCallback implements INimbleMTX.PurchaseTransactionCallback, INimbleMTX.ItemGrantedCallback, INimbleMTX.FinalizeTransactionCallback {
private int m_id;
public MTXNativeCallback(int i) {
this.m_id = i;
}
@Override // com.ea.nimble.mtx.INimbleMTX.FinalizeTransactionCallback
public void finalizeComplete(NimbleMTXTransaction nimbleMTXTransaction) {
BaseNativeCallback.sendNativeCallback(this.m_id, nimbleMTXTransaction);
}
@Override // com.ea.nimble.mtx.INimbleMTX.ItemGrantedCallback
public void itemGrantedComplete(NimbleMTXTransaction nimbleMTXTransaction) {
BaseNativeCallback.sendNativeCallback(this.m_id, nimbleMTXTransaction);
}
@Override // com.ea.nimble.mtx.INimbleMTX.PurchaseTransactionCallback
public void purchaseComplete(NimbleMTXTransaction nimbleMTXTransaction) {
BaseNativeCallback.sendNativeCallback(this.m_id, nimbleMTXTransaction, Boolean.TRUE);
}
@Override // com.ea.nimble.mtx.INimbleMTX.PurchaseTransactionCallback
public void unverifiedReceiptReceived(NimbleMTXTransaction nimbleMTXTransaction) {
BaseNativeCallback.sendNativeCallback(this.m_id, nimbleMTXTransaction, Boolean.FALSE);
}
public void finalize() {
BaseNativeCallback.nativeFinalize(this.m_id);
}
}

View File

@@ -0,0 +1,168 @@
package com.ea.nimble.bridge;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import com.ea.eadp.pushnotification.forwarding.FCMMessageService;
import com.ea.nimble.ApplicationEnvironment;
import com.ea.nimble.ApplicationLifecycle;
import com.ea.nimble.Base;
import com.ea.nimble.Component;
import com.ea.nimble.IApplicationLifecycle;
import com.ea.nimble.Log;
import com.ea.nimble.SynergyEnvironment;
import com.ironsource.v8;
import java.util.HashMap;
import java.util.Map;
/* loaded from: classes2.dex */
public class NimbleCppApplicationLifeCycle extends Component implements IApplicationLifecycle.ApplicationLifecycleCallbacks, IApplicationLifecycle.ActivityEventCallbacks, IApplicationLifecycle.ActivityLifecycleCallbacks {
public static final String COMPONENT_ID = "com.ea.nimble.bridge.NimbleCppApplicationLifeCycle";
private Intent m_newIntent = null;
@Override // com.ea.nimble.Component
public String getComponentId() {
return COMPONENT_ID;
}
@Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks
public void onActivityCreated(Activity activity, Bundle bundle) {
}
@Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks
public void onActivityDestroyed(Activity activity) {
}
@Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks
public void onActivityPaused(Activity activity) {
}
@Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks
public void onActivityResult(Activity activity, int i, int i2, Intent intent) {
}
@Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
}
@Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks
public void onActivityStarted(Activity activity) {
}
@Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks
public void onActivityStopped(Activity activity) {
}
public native void onApplicationLaunch(Map<String, String> map);
@Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks
public native void onApplicationQuit();
public native void onApplicationResume(Map<String, String> map);
@Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks
public native void onApplicationSuspend();
@Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks
public boolean onBackPressed() {
return true;
}
@Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks
public void onNewIntent(Activity activity, Intent intent) {
this.m_newIntent = intent;
}
public native void onUpdateLaunchMethod(Map<String, String> map);
@Override // com.ea.nimble.IApplicationLifecycle.ActivityEventCallbacks
public void onWindowFocusChanged(boolean z) {
}
private static void initialize() {
Base.registerComponent(new NimbleCppApplicationLifeCycle(), COMPONENT_ID);
}
@Override // com.ea.nimble.Component
public void setup() {
ApplicationLifecycle.getComponent().registerApplicationLifecycleCallbacks(this);
ApplicationLifecycle.getComponent().registerActivityEventCallbacks(this);
ApplicationLifecycle.getComponent().registerActivityLifecycleCallbacks(this);
}
@Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks
public void onApplicationLaunch(Intent intent) {
onApplicationLaunch(parseIntentInformation(intent, null));
}
@Override // com.ea.nimble.IApplicationLifecycle.ApplicationLifecycleCallbacks
public void onApplicationResume() {
onApplicationResume(parseIntentInformation(ApplicationEnvironment.getCurrentActivity().getIntent(), this.m_newIntent));
this.m_newIntent = null;
}
@Override // com.ea.nimble.IApplicationLifecycle.ActivityLifecycleCallbacks
public void onActivityResumed(Activity activity) {
Intent intent = this.m_newIntent;
if (intent != null) {
onUpdateLaunchMethod(parseIntentInformation(null, intent));
this.m_newIntent = null;
}
}
private Map<String, String> parseIntentInformation(Intent intent, Intent intent2) {
HashMap hashMap = new HashMap();
if (intent2 != null) {
if (intent2.getData() != null) {
hashMap.put(v8.a.s, "url");
hashMap.put("url", intent2.getDataString());
String stringExtra = intent2.getStringExtra("key");
if (stringExtra != null) {
hashMap.put("key", stringExtra);
}
return hashMap;
}
if (intent2.getStringExtra("PushNotification") != null) {
parsePushNotificationDetails(hashMap, intent2.getExtras());
return hashMap;
}
}
if (intent != null) {
if (intent.getData() != null) {
hashMap.put(v8.a.s, "url");
hashMap.put("url", intent.getDataString());
String stringExtra2 = intent.getStringExtra("key");
if (stringExtra2 != null) {
hashMap.put("key", stringExtra2);
}
return hashMap;
}
if (intent.getStringExtra("PushNotification") != null) {
parsePushNotificationDetails(hashMap, intent.getExtras());
}
}
return hashMap;
}
private void parsePushNotificationDetails(Map<String, String> map, Bundle bundle) {
map.put(v8.a.s, "pn");
if (bundle == null || bundle.isEmpty()) {
return;
}
for (String str : bundle.keySet()) {
try {
Object obj = bundle.get(str);
if (obj != null) {
map.put(str, obj.toString());
} else {
Log.Helper.LOGW(this, "parsePushNotificationDetails(): Found null value for key: " + str, new Object[0]);
}
} catch (Exception e) {
Log.Helper.LOGE(this, "parsePushNotificationDetails(): Unable to acquire value for key [" + str + "] with error: " + e.toString(), new Object[0]);
}
}
if (map.containsKey(FCMMessageService.PushIntentExtraKeys.PUSH_ID) || map.containsKey(FCMMessageService.PushIntentExtraKeys.PN_TYPE)) {
map.put("deviceId", SynergyEnvironment.getComponent().getEADeviceId());
}
}
}

View File

@@ -0,0 +1,71 @@
package com.ea.nimble.bridge;
import com.ea.nimble.Base;
import com.ea.nimble.Component;
import java.util.HashMap;
import java.util.Map;
/* loaded from: classes2.dex */
public class NimbleCppComponentRegistrar extends Component {
public static final String COMPONENT_ID = "com.ea.nimble.bridge.NimbleCppComponentRegistrar";
static boolean m_baseComponentSetupComplete;
static HashMap<String, Component> m_components = new HashMap<>();
@Override // com.ea.nimble.Component
public String getComponentId() {
return COMPONENT_ID;
}
public static class NimbleCppComponent extends Component {
private String m_componentId;
@Override // com.ea.nimble.Component
public native void cleanup();
@Override // com.ea.nimble.Component
public String getComponentId() {
return this.m_componentId;
}
@Override // com.ea.nimble.Component
public native void restore();
@Override // com.ea.nimble.Component
public native void resume();
@Override // com.ea.nimble.Component
public native void setup();
@Override // com.ea.nimble.Component
public native void suspend();
@Override // com.ea.nimble.Component
public native void teardown();
public NimbleCppComponent(String str) {
this.m_componentId = str;
}
}
private static void initialize() {
Base.registerComponent(new NimbleCppComponentRegistrar(), COMPONENT_ID);
m_baseComponentSetupComplete = true;
for (Map.Entry<String, Component> entry : m_components.entrySet()) {
Base.registerComponent(entry.getValue(), entry.getKey());
}
m_components.clear();
}
public static void register(String str) {
NimbleCppComponent nimbleCppComponent = new NimbleCppComponent(str);
if (m_baseComponentSetupComplete) {
Base.registerComponent(nimbleCppComponent, str);
} else {
m_components.put(str, nimbleCppComponent);
}
}
public static String getComponentId(Component component) {
return component.getComponentId();
}
}

View File

@@ -0,0 +1,36 @@
package com.ea.nimble.bridge;
import com.ea.eadp.pushnotification.listeners.IPushListener;
/* loaded from: classes2.dex */
public class PushTNGNativeCallback implements IPushListener {
private int m_id;
public PushTNGNativeCallback(int i) {
this.m_id = i;
}
@Override // com.ea.eadp.pushnotification.listeners.IPushListener
public void onConnectionError(int i, String str) {
BaseNativeCallback.sendNativeCallback(this.m_id, 0, Integer.valueOf(i), str);
}
@Override // com.ea.eadp.pushnotification.listeners.IPushListener
public void onGetInAppSuccess(int i, String str) {
BaseNativeCallback.sendNativeCallback(this.m_id, 1, Integer.valueOf(i), str);
}
@Override // com.ea.eadp.pushnotification.listeners.IPushListener
public void onRegistrationSuccess(int i, String str) {
BaseNativeCallback.sendNativeCallback(this.m_id, 2, Integer.valueOf(i), str);
}
@Override // com.ea.eadp.pushnotification.listeners.IPushListener
public void onTrackingSuccess(int i, String str) {
BaseNativeCallback.sendNativeCallback(this.m_id, 3, Integer.valueOf(i), str);
}
public void finalize() {
BaseNativeCallback.nativeFinalize(this.m_id);
}
}

View File

@@ -0,0 +1,7 @@
package com.ea.nimble.bridge;
/* loaded from: classes2.dex */
public final class R {
private R() {
}
}

View File

@@ -0,0 +1,21 @@
package com.ea.nimble.bridge;
import com.ea.nimble.WebViewCallback;
/* loaded from: classes2.dex */
public class WebViewNativeCallback implements WebViewCallback {
private int m_id;
public WebViewNativeCallback(int i) {
this.m_id = i;
}
@Override // com.ea.nimble.WebViewCallback
public void callback(String str, Runnable runnable) {
BaseNativeCallback.sendNativeCallback(this.m_id, runnable, str);
}
public void finalize() {
BaseNativeCallback.nativeFinalize(this.m_id);
}
}