Files
rr3-apk/decompiled-community/sources/com/ea/nimble/SynergyNetworkImpl.java
Daniel Elliott c080f0d97f 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
2026-02-18 15:48:36 -08:00

160 lines
7.0 KiB
Java

package com.ea.nimble;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.ea.nimble.ComponentManager;
import com.ea.nimble.Error;
import com.ea.nimble.IHttpRequest;
import com.ea.nimble.ISynergyRequest;
import com.ea.nimble.Log;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
import java.util.UUID;
/* loaded from: classes2.dex */
public class SynergyNetworkImpl extends Component implements ISynergyNetwork {
private String m_sessionId;
private ArrayList<SynergyNetworkConnection> m_pendingRequests = null;
private BroadcastReceiver m_synergyEnvironmentNotifyReceiver = null;
private boolean m_sessionIdNeedsRefresh = false;
@Override // com.ea.nimble.Component
public String getComponentId() {
return SynergyNetwork.COMPONENT_ID;
}
@Override // com.ea.nimble.Component
public void suspend() {
this.m_sessionIdNeedsRefresh = true;
}
public String getSessionId() {
if (this.m_sessionId == null || (this.m_sessionIdNeedsRefresh && BaseCore.getInstance().getComponentManager().getStage() == ComponentManager.Stage.READY)) {
this.m_sessionId = generateSessionId();
this.m_sessionIdNeedsRefresh = false;
}
return this.m_sessionId;
}
public static ISynergyNetwork getComponent() {
return (ISynergyNetwork) Base.getComponent(SynergyNetwork.COMPONENT_ID);
}
@Override // com.ea.nimble.Component
public void setup() {
this.m_pendingRequests = new ArrayList<>();
getSessionId();
}
@Override // com.ea.nimble.Component
public void restore() {
if (SynergyEnvironment.getComponent().isDataAvailable()) {
return;
}
BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { // from class: com.ea.nimble.SynergyNetworkImpl.1
@Override // android.content.BroadcastReceiver
public void onReceive(Context context, Intent intent) {
String stringExtra = intent.getStringExtra("result");
ArrayList arrayList = new ArrayList(SynergyNetworkImpl.this.m_pendingRequests);
if (stringExtra != null && stringExtra.equals("0")) {
Iterator it = arrayList.iterator();
while (it.hasNext()) {
((SynergyNetworkConnection) it.next()).errorPriorToSend(new Error(Error.Code.SYNERGY_ENVIRONMENT_UPDATE_FAILURE, "Failed to retrieve Environment data from Synergy"));
}
} else {
Iterator it2 = arrayList.iterator();
while (it2.hasNext()) {
((SynergyNetworkConnection) it2.next()).start();
}
}
SynergyNetworkImpl.this.m_pendingRequests.clear();
}
};
this.m_synergyEnvironmentNotifyReceiver = broadcastReceiver;
Utility.registerReceiver(SynergyEnvironment.NOTIFICATION_STARTUP_REQUESTS_FINISHED, broadcastReceiver);
}
@Override // com.ea.nimble.Component
public void resume() {
getSessionId();
}
@Override // com.ea.nimble.Component
public void cleanup() {
BroadcastReceiver broadcastReceiver = this.m_synergyEnvironmentNotifyReceiver;
if (broadcastReceiver != null) {
Utility.unregisterReceiver(broadcastReceiver);
this.m_synergyEnvironmentNotifyReceiver = null;
}
this.m_pendingRequests.clear();
}
@Override // com.ea.nimble.ISynergyNetwork
public SynergyNetworkConnectionHandle sendGetRequest(String str, String str2, Map<String, String> map, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback) {
Log.Helper.LOGPUBLICFUNC(this);
SynergyRequest synergyRequest = new SynergyRequest(str2, IHttpRequest.Method.GET, null);
synergyRequest.baseUrl = str;
synergyRequest.urlParameters = map;
return sendSynergyRequest(synergyRequest, synergyNetworkConnectionCallback);
}
@Override // com.ea.nimble.ISynergyNetwork
public SynergyNetworkConnectionHandle sendPostRequest(String str, String str2, Map<String, String> map, ISynergyRequest.IJsonData iJsonData, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback) {
Log.Helper.LOGPUBLICFUNC(this);
SynergyRequest synergyRequest = new SynergyRequest(str2, IHttpRequest.Method.POST, null);
synergyRequest.baseUrl = str;
synergyRequest.urlParameters = map;
synergyRequest.jsonData = iJsonData;
return sendSynergyRequest(synergyRequest, synergyNetworkConnectionCallback);
}
@Override // com.ea.nimble.ISynergyNetwork
public SynergyNetworkConnectionHandle sendPostRequest(String str, String str2, Map<String, String> map, ISynergyRequest.IJsonData iJsonData, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback, Map<String, String> map2) {
Log.Helper.LOGPUBLICFUNC(this);
SynergyRequest synergyRequest = new SynergyRequest(str2, IHttpRequest.Method.POST, null);
synergyRequest.baseUrl = str;
synergyRequest.urlParameters = map;
synergyRequest.jsonData = iJsonData;
if (map2 != null) {
synergyRequest.httpRequest.headers.putAll(map2);
}
return sendSynergyRequest(synergyRequest, synergyNetworkConnectionCallback);
}
@Override // com.ea.nimble.ISynergyNetwork
public void sendRequest(SynergyRequest synergyRequest, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback) {
Log.Helper.LOGPUBLICFUNC(this);
ISynergyEnvironment component = SynergyEnvironment.getComponent();
if (component.isDataAvailable()) {
sendSynergyRequest(synergyRequest, synergyNetworkConnectionCallback);
return;
}
SynergyNetworkConnection synergyNetworkConnection = new SynergyNetworkConnection(synergyRequest, synergyNetworkConnectionCallback);
if (component.isUpdateInProgress()) {
this.m_pendingRequests.add(synergyNetworkConnection);
return;
}
Error checkAndInitiateSynergyEnvironmentUpdate = component.checkAndInitiateSynergyEnvironmentUpdate();
if (checkAndInitiateSynergyEnvironmentUpdate == null) {
this.m_pendingRequests.add(synergyNetworkConnection);
} else {
synergyNetworkConnection.errorPriorToSend(checkAndInitiateSynergyEnvironmentUpdate);
}
}
private SynergyNetworkConnectionHandle sendSynergyRequest(SynergyRequest synergyRequest, SynergyNetworkConnectionCallback synergyNetworkConnectionCallback) {
Log.Helper.LOGFUNC(this);
SynergyNetworkConnection synergyNetworkConnection = new SynergyNetworkConnection(synergyRequest, synergyNetworkConnectionCallback);
synergyNetworkConnection.start();
return synergyNetworkConnection;
}
private String generateSessionId() {
Log.Helper.LOGFUNC(this);
return UUID.randomUUID().toString().replace("-", "").toLowerCase(Locale.US);
}
}