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); } }