Files
rr3-apk/decompiled-community/sources/com/google/firebase/messaging/SyncTask.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

143 lines
5.9 KiB
Java

package com.google.firebase.messaging;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.PowerManager;
import android.util.Log;
import com.google.android.gms.common.util.concurrent.NamedThreadFactory;
import java.io.IOException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/* loaded from: classes3.dex */
public class SyncTask implements Runnable {
public final FirebaseMessaging firebaseMessaging;
public final long nextDelaySeconds;
public ExecutorService processorExecutor = new ThreadPoolExecutor(0, 1, 30, TimeUnit.SECONDS, new LinkedBlockingQueue(), new NamedThreadFactory("firebase-iid-executor"));
public final PowerManager.WakeLock syncWakeLock;
public SyncTask(FirebaseMessaging firebaseMessaging, long j) {
this.firebaseMessaging = firebaseMessaging;
this.nextDelaySeconds = j;
PowerManager.WakeLock newWakeLock = ((PowerManager) getContext().getSystemService("power")).newWakeLock(1, "fiid-sync");
this.syncWakeLock = newWakeLock;
newWakeLock.setReferenceCounted(false);
}
@Override // java.lang.Runnable
public void run() {
if (ServiceStarter.getInstance().hasWakeLockPermission(getContext())) {
this.syncWakeLock.acquire();
}
try {
try {
this.firebaseMessaging.setSyncScheduledOrRunning(true);
} catch (IOException e) {
Log.e("FirebaseMessaging", "Topic sync or token retrieval failed on hard failure exceptions: " + e.getMessage() + ". Won't retry the operation.");
this.firebaseMessaging.setSyncScheduledOrRunning(false);
if (!ServiceStarter.getInstance().hasWakeLockPermission(getContext())) {
return;
}
}
if (!this.firebaseMessaging.isGmsCorePresent()) {
this.firebaseMessaging.setSyncScheduledOrRunning(false);
if (ServiceStarter.getInstance().hasWakeLockPermission(getContext())) {
this.syncWakeLock.release();
return;
}
return;
}
if (ServiceStarter.getInstance().hasAccessNetworkStatePermission(getContext()) && !isDeviceConnected()) {
new ConnectivityChangeReceiver(this).registerReceiver();
if (ServiceStarter.getInstance().hasWakeLockPermission(getContext())) {
this.syncWakeLock.release();
return;
}
return;
}
if (maybeRefreshToken()) {
this.firebaseMessaging.setSyncScheduledOrRunning(false);
} else {
this.firebaseMessaging.syncWithDelaySecondsInternal(this.nextDelaySeconds);
}
if (!ServiceStarter.getInstance().hasWakeLockPermission(getContext())) {
return;
}
this.syncWakeLock.release();
} catch (Throwable th) {
if (ServiceStarter.getInstance().hasWakeLockPermission(getContext())) {
this.syncWakeLock.release();
}
throw th;
}
}
public boolean maybeRefreshToken() {
try {
if (this.firebaseMessaging.blockingGetToken() == null) {
Log.e("FirebaseMessaging", "Token retrieval failed: null");
return false;
}
Log.isLoggable("FirebaseMessaging", 3);
return true;
} catch (IOException e) {
if (GmsRpc.isErrorMessageForRetryableError(e.getMessage())) {
Log.w("FirebaseMessaging", "Token retrieval failed: " + e.getMessage() + ". Will retry token retrieval");
return false;
}
if (e.getMessage() == null) {
Log.w("FirebaseMessaging", "Token retrieval failed without exception message. Will retry token retrieval");
return false;
}
throw e;
} catch (SecurityException unused) {
Log.w("FirebaseMessaging", "Token retrieval failed with SecurityException. Will retry token retrieval");
return false;
}
}
public Context getContext() {
return this.firebaseMessaging.getApplicationContext();
}
public boolean isDeviceConnected() {
ConnectivityManager connectivityManager = (ConnectivityManager) getContext().getSystemService("connectivity");
NetworkInfo activeNetworkInfo = connectivityManager != null ? connectivityManager.getActiveNetworkInfo() : null;
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
public static class ConnectivityChangeReceiver extends BroadcastReceiver {
public SyncTask task;
public ConnectivityChangeReceiver(SyncTask syncTask) {
this.task = syncTask;
}
public void registerReceiver() {
SyncTask.isDebugLogEnabled();
this.task.getContext().registerReceiver(this, new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE"));
}
@Override // android.content.BroadcastReceiver
public void onReceive(Context context, Intent intent) {
SyncTask syncTask = this.task;
if (syncTask != null && syncTask.isDeviceConnected()) {
SyncTask.isDebugLogEnabled();
this.task.firebaseMessaging.enqueueTaskWithDelaySeconds(this.task, 0L);
this.task.getContext().unregisterReceiver(this);
this.task = null;
}
}
}
public static boolean isDebugLogEnabled() {
return Log.isLoggable("FirebaseMessaging", 3);
}
}