package com.gh.gamecenter.qqmini;

import android.app.Application;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;

import androidx.annotation.Keep;
import androidx.core.content.ContextCompat;
import androidx.core.content.res.ResourcesCompat;

import com.therouter.TheRouter;
import com.blankj.utilcode.util.AppUtils;
import com.gh.gamecenter.common.constant.RouteConsts;
import com.gh.gamecenter.common.utils.PackageFlavorHelper;
import com.gh.gamecenter.core.provider.IAppProvider;
import com.tencent.qqmini.minigame.external.proxy.IMiniGameChannelInfoProxy;

import java.util.Map;

@Keep
public class MiniGameChannelInfoProxyImpl extends IMiniGameChannelInfoProxy {

    /**
     * 接入方在小游戏平台上注册的PlatformID。
     */
    @Override
    public String getPlatformId() {
        return "2042";
    }

    /**
     * 获取宿主APP的名称
     *
     * @return 应用名
     */
    @Override
    public String getAppName() {
        return "光环助手";
    }

    @Override
    public Drawable getAppIcon() {
        Application application = HaloApp.INSTANCE;
        PackageManager pm = application.getPackageManager();
        try {
            ApplicationInfo applicationInfo = pm.getApplicationInfo(application.getPackageName(), 0);
            return applicationInfo.loadIcon(pm);
        } catch (PackageManager.NameNotFoundException e) {
            return null;
        }
    }

    /**
     * 获取宿主APP的版本信息
     *
     * @return 版本号
     */
    @Override
    public String getAppVersion() {
        IAppProvider appProvider = TheRouter.get(IAppProvider.class);
        return appProvider.getAppVersion();
    }

    /**
     * 判断宿主APP是否为debug版本，debug版log输出比较全，但是对性能有影响，建议上线前检查。
     *
     * @return true: debug版本; false: release版本
     */
    @Override
    public boolean isDebugVersion() {
        return PackageFlavorHelper.IS_TEST_FLAVOR;
    }

    /**
     * 腾讯广告的AppId，如果以前申请过建议填写，会针对当前应用出广告。
     * 如果没有也不影响广告功能。
     */
    @Override
    public String getAmsAppId() {
        return "1203549148";
    }

    /**
     * 扩展字段，会透传给到接入方后台，接入方可以自定义。
     * @return 接入方自定义内容
     */
    @Override
    public Map<String, String> getExtInfo() {
        return null;
    }
}
