StartTaskConfig.java
3.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/*
* 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");
}
}