package com.cartoon.wallpapers.live;

import android.app.Application;
import android.graphics.Typeface;

import com.anythink.core.api.ATSDK;
import com.anythink.core.api.NetTrafficeCallback;
import com.cartoon.wallpapers.live.topon.AdManager;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.cartoon.wallpapers.live.mydata.ResultData;
import com.cartoon.wallpapers.live.utils.Com;
import com.cartoon.wallpapers.live.utils.ObjectBoxManager;
import com.cartoon.wallpapers.live.utils.Shared;

import java.io.InputStream;
import java.lang.reflect.Type;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class MyWallpaperApp extends Application {
    private static Typeface defaultFont;
    private static MyWallpaperApp mApplication;
    private static String thumbStr = "https://neutrolabgames.com/LiveLoop/CpanelPix/VideoThumb/";

    public static String TAG = "--------------------LIVE----------";
    public static String getThumbStr() {
        return thumbStr;
    }

    public static MyWallpaperApp getApplication() {
        return mApplication;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        mApplication = this;
        defaultFont = Typeface.createFromAsset(getAssets(), "font.ttf");
        initSDk();
        ObjectBoxManager.init(this);
        String dbinit = Shared.INSTANCE.getDbinit();
        if(dbinit.equals("0")){
            loadData();
        }

    }

    public static Typeface getDefaultFont() {
        return defaultFont;
    }

    private void loadData() {
          String name[] = {"trending.json","Explore.json","Shift.json"};
            ExecutorService cachedThreadPool = Executors.newFixedThreadPool(3);
              for (int i = 0;i<3;i++){
                  int task = i;
                  cachedThreadPool.execute(new Runnable() {
                      @Override
                      public void run() {
//                          Common.logMsg("执行任务 "+task+"---开始--"+Thread.currentThread().getName());
                          Gson gson = new Gson();
                          InputStream open = null;
                          try {
                              open = getAssets().open(name[task]);
                          }catch (Exception e){
                          }
                          if(open == null){
                              return;
                          }
                          Type type = new TypeToken<List<ResultData>>() {
                          }.getType();
                          String covertStr = Com.getCovertStr(open);
                          List<ResultData> data = gson.fromJson(covertStr, type);
                          for (ResultData datum : data) {
                              ObjectBoxManager.insertDb(datum);
                          }
                          Shared.INSTANCE.setDbinit("1");
//                          Common.logMsg("执行任务 "+task+"---完成--"+Thread.currentThread().getName());
                      }
                  });
              }
    }



    private void initSDk(){
         String APPId ="h684be01288a90";
         String AppKey ="a24c26639af98364efdcf9121758d71a4";
         String debugKey = "4994d5dce29b75386e6909a8bbad6e0a933cde1f";
        ATSDK.checkIsEuTraffic(this, new NetTrafficeCallback() {

            @Override
            public void onResultCallback(boolean isEU) {
                if (isEU && ATSDK.getGDPRDataLevel(MyWallpaperApp.this) == ATSDK.UNKNOWN) {
                    ATSDK.showGdprAuth(MyWallpaperApp.this);
                }

            }

            @Override
            public void onErrorCallback(String errorMsg) {

            }
        });
        ATSDK.init( this, APPId, AppKey);
//        ATDebuggerUITest.showDebuggerUI(this,debugKey);
        AdManager.loadAllAd();
    }
}
