翰林优商.apk(点击下载) / AwesomeCacheInitConfig.java


package com.kwai.video.cache;

import android.content.Context;
import com.getkeepsafe.relinker.ReLinker;
import com.kwai.video.cache.AwesomeCache;
import com.kwai.video.hodor.Hodor;
import com.kwai.video.hodor.HodorConfig;
import com.kwai.video.hodor.NetworkMonitor;
import com.kwai.video.hodor.util.OnceReadyBarrier;
import com.kwai.video.hodor.util.Timber;

public class AwesomeCacheInitConfig {
    private static boolean mInited = false;
    private static volatile AwesomeCacheSoLoader sAwesomeCacheSoLoader;
    private static OnceReadyBarrier sSoLibReadyBarrirer = new OnceReadyBarrier();

    public static synchronized void init(Context context) {
        synchronized (AwesomeCacheInitConfig.class) {
            if (!mInited) {
                final Context applicationContext = context == null ? null : context.getApplicationContext();
                final AwesomeCacheSoLoader awesomeCacheSoLoader = sAwesomeCacheSoLoader;
                AnonymousClass1 r3 = new AwesomeCacheSoLoader() {
                    /* class com.kwai.video.cache.AwesomeCacheInitConfig.AnonymousClass1 */

                    @Override // com.kwai.video.cache.AwesomeCacheSoLoader
                    public final void loadLibrary(String str) {
                        AwesomeCacheSoLoader awesomeCacheSoLoader = awesomeCacheSoLoader;
                        if (awesomeCacheSoLoader != null) {
                            awesomeCacheSoLoader.loadLibrary(str);
                        } else if (applicationContext != null) {
                            ReLinker.recursively().loadLibrary(applicationContext, str);
                        } else {
                            Timber.w("WARNING! AwesomeCacheSoLoader is using System.loadLibrary", new Object[0]);
                            System.loadLibrary(str);
                        }
                    }
                };
                r3.loadLibrary("c++_shared");
                r3.loadLibrary("aegon");
                r3.loadLibrary("hodor");
                sSoLibReadyBarrirer.setReady();
                Hodor.loadJavaClass();
                HodorConfig.init(context);
                AwesomeCache.VodAdaptive.init(context);
                NetworkMonitor.initNetworkChangeReceiver(applicationContext);
                mInited = true;
            }
        }
    }

    public static void initAsync(final Context context) {
        new Thread() {
            /* class com.kwai.video.cache.AwesomeCacheInitConfig.AnonymousClass2 */

            public final void run() {
                AwesomeCacheInitConfig.init(context);
            }
        }.start();
    }

    public static void setReady() {
        sSoLibReadyBarrirer.setReady();
    }

    public static void setSoLoader(AwesomeCacheSoLoader awesomeCacheSoLoader) {
        sAwesomeCacheSoLoader = awesomeCacheSoLoader;
    }

    public static void waitSoLibReady() {
        sSoLibReadyBarrirer.waitReady();
    }
}