package com.parse;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.ReceiverCallNotAllowedException;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

/* JADX INFO: loaded from: classes.dex */
public class ConnectivityNotifier extends BroadcastReceiver {
    public static final ConnectivityNotifier singleton = new ConnectivityNotifier();
    public final Object lock = new Object();
    public Set<ConnectivityListener> listeners = new HashSet();
    public boolean hasRegisteredReceiver = false;

    public interface ConnectivityListener {
        void networkConnectivityStatusChanged(Context context, Intent intent);
    }

    public static boolean isConnected(Context context) {
        NetworkInfo activeNetworkInfo;
        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService("connectivity");
        return (connectivityManager == null || (activeNetworkInfo = connectivityManager.getActiveNetworkInfo()) == null || !activeNetworkInfo.isConnected()) ? false : true;
    }

    public void addListener(ConnectivityListener connectivityListener) {
        synchronized (this.lock) {
            this.listeners.add(connectivityListener);
        }
    }

    @Override // android.content.BroadcastReceiver
    public void onReceive(Context context, Intent intent) {
        ArrayList arrayList;
        synchronized (this.lock) {
            arrayList = new ArrayList(this.listeners);
        }
        Iterator it = arrayList.iterator();
        while (it.hasNext()) {
            ((ConnectivityListener) it.next()).networkConnectivityStatusChanged(context, intent);
        }
    }

    public final boolean tryToRegisterForNetworkStatusNotifications(Context context) {
        synchronized (this.lock) {
            if (this.hasRegisteredReceiver) {
                return true;
            }
            if (context == null) {
                return false;
            }
            try {
                context.getApplicationContext().registerReceiver(this, new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE"));
                this.hasRegisteredReceiver = true;
                return true;
            } catch (ReceiverCallNotAllowedException unused) {
                PLog.log(2, "com.parse.ConnectivityNotifier", "Cannot register a broadcast receiver because the executing thread is currently in a broadcast receiver. Will try again later.", null);
                return false;
            }
        }
    }
}
