StartTaskConfig.java 3.2 KB
/*
 * Copyright (c) People Technologies Co., Ltd. 2019-2022. All rights reserved.
 */

package com.example.myapplication.starttask;

import android.content.Context;
import android.util.Log;

import com.example.myapplication.starttask.task.MyTaskCreator;
import com.wd.base.starttask.AlphaManager;
import com.wd.base.starttask.Project;

/**
 * 描述:启动初始化任务
 * 默认放在子线程执行,如果子线程执行有问题,构造函数中使用super(name,isInUiThread)
 * 
 * @author : lvjinhui
 * @since: 2022/7/2
 */

public class StartTaskConfig {

    private Context mContext;

    public StartTaskConfig(Context mContext) {
        this.mContext = mContext;
    }

    /**
     * 开始全部的初始化,在application
     */
    public void start() {
        if (mContext == null) {
            return;
        }
        Project.Builder builder = new Project.Builder().withTaskCreator(new MyTaskCreator(mContext));
        // 日志
        builder.add(MyTaskCreator.TASK_LOG);
        // AppContext.init、CompComponent 组件服务注册,MyFileUtil.init,直播消息弹幕和打赏
        builder.add(MyTaskCreator.TASK_LOCAL);
        AlphaManager.getInstance(mContext).addProject(builder.create());
        AlphaManager.getInstance(mContext).start();

        Log.e("zzzz","start");
    }

    /**
     * 适当的放一部分延时初始化
     */
    public void startTaskDelay() {
        if (mContext == null) {
            return;
        }
        Project.Builder builder = new Project.Builder().withTaskCreator(new MyTaskCreator(mContext));
        // 延时初始化,短视频SDK,辅助通道
        builder.add(MyTaskCreator.TASK_DELAY);
        builder.setProjectName("delayGroup");
        AlphaManager.getInstance(mContext).addProject(builder.create());
        AlphaManager.getInstance(mContext).start();
        Log.e("zzzz","startTaskDelay");
    }

    /**
     * 需要用户同意隐私政策才能初始化的SDK,放在PrivatePolicyTask
     */
    public void startPrivate() {
        if (mContext == null) {
            return;
        }
        Project.Builder builder = new Project.Builder().withTaskCreator(new MyTaskCreator(mContext));
        // umeng 正式init
        builder.add(MyTaskCreator.TASK_PRIVATE);
        builder.setProjectName("privateGroup");
        AlphaManager.getInstance(mContext).addProject(builder.create());
        AlphaManager.getInstance(mContext).start();
        Log.e("zzzz","startPrivate");
    }

    /**
     * 优先级最高(未同意隐私政策,等同意隐私政策完成后初始化;
     * 已同意隐私政策,直接初始化)
     * 进入主页在初始的,但是在隐私弹窗之前,不可以放涉及隐私的SDK
     */
    public void startTaskInMain() {
        if (mContext == null) {
            return;
        }

        Project.Builder builder = new Project.Builder().withTaskCreator(new MyTaskCreator(mContext));
        // 子线程 内容组件、comp组件、语音识别
        builder.add(MyTaskCreator.TASK_WD);
        builder.setProjectName("inMainGroup");
        AlphaManager.getInstance(mContext).addProject(builder.create());
        AlphaManager.getInstance(mContext).start();
        Log.e("zzzz","startTaskInMain");
    }

}