package dummydomain.yetanothercallblocker.utils;

import org.conscrypt.Conscrypt;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.security.Security;

public class DeferredInit {

    private static final Logger LOG = LoggerFactory.getLogger(DeferredInit.class);

    private static boolean networkInitialized;
    private static final Object NETWORK_INIT_LOCK = new Object();

    public static void initNetwork() {
        if (networkInitialized) return;

        synchronized (NETWORK_INIT_LOCK) {
            if (networkInitialized) return;

            try {
                Security.insertProviderAt(Conscrypt.newProvider(), 1);
            } catch (Throwable t) {
                LOG.warn("initNetwork()", t);
            }

            networkInitialized = true;
        }
    }

}
