张波

解决报错

... ... @@ -4,9 +4,6 @@ package com.example.myapplication;
import android.app.Application;
import android.util.Log;
import com.example.myapplication.starttask.StartTaskConfig;
import com.example.myapplication.starttask.StartTaskTool;
/**
* @author devel
* @time 2024/8/28 星期三 16:23
... ... @@ -15,12 +12,7 @@ public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Log.e("zzzz","MyApplication onCreate");
Log.e("zzzz", "MyApplication onCreate");
// test
StartTaskConfig taskConfig = new StartTaskConfig(this);
taskConfig.start();
StartTaskTool.startTaskInMain(this);
StartTaskTool.startPrivate(this);
StartTaskTool.startTaskInSplash(this);
}
}
... ...
/*
* 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");
}
}
/*
* Copyright (c) People Technologies Co., Ltd. 2019-2022. All rights reserved.
*/
package com.example.myapplication.starttask;
import android.content.Context;
/**
* 描述:
*
* @author : lvjinhui
* @since: 2022/7/7
*/
public class StartTaskTool {
public static void startTaskInMain(Context context) {
StartTaskConfig taskConfig = new StartTaskConfig(context);
taskConfig.startTaskInMain();
}
public static void startPrivate(Context context) {
StartTaskConfig taskConfig = new StartTaskConfig(context);
taskConfig.startPrivate();
}
public static void startTaskInSplash(Context context) {
StartTaskConfig taskConfig = new StartTaskConfig(context);
taskConfig.startTaskDelay();
}
}
/*
* Copyright (c) People Technologies Co., Ltd. 2019-2022. All rights reserved.
*/
package com.example.myapplication.starttask.task;
import android.content.Context;
import com.wd.base.starttask.Task;
//import com.orhanobut.logger.Logger;
//import com.people.kittools.constant.CommonConstant;
//import com.people.kittools.sp.SpUtils;
//import com.people.umeng.UmSdkHelper;
/**
* 描述:在主页初始化,不着急使用,进入主页用户必然已经同意隐私政策
*
* @author : lvjinhui
* @since: 2022/7/2
*/
public class DelayTask extends Task {
public DelayTask(Context mContext) {
super("DelayTask");
setExecutePriority(9);
// if (SpUtils.isFirstAgreementFlag()){
// return;
// }
try {
//友盟分享
// UmSdkHelper.initUmThirdSDk(mContext, CommonConstant.FILE_PROVIDER);
// Logger.e("DelayTask 执行");
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void run() {
}
}
/*
* Copyright (c) People Technologies Co., Ltd. 2019-2022. All rights reserved.
*/
package com.example.myapplication.starttask.task;
import java.lang.ref.WeakReference;
import android.content.Context;
import com.wd.base.starttask.Task;
//import com.people.kittools.file.MyFileUtils;
//import com.people.uiframework.CompComponent;
/**
* 描述:本地代码初始化context,都在子线程执行
* 无关用户信息,收集用户信息的SDK初始化不要放进这里
* @author : lvjinhui
* @since: 2022/7/2
*/
public class LocalThreadTask extends Task {
private WeakReference<Context> weakReference;
public LocalThreadTask(Context context) {
super("LocalThreadTask");
weakReference = new WeakReference<>(context);
setExecutePriority(1);
}
@Override
public void run() {
Context mContext = weakReference.get();
// 注册创建对象
// new CompComponent().registerServices();
// // 赋值context
// MyFileUtils.init(mContext);
}
}
/*
* Copyright (c) People Technologies Co., Ltd. 2019-2022. All rights reserved.
*/
package com.example.myapplication.starttask.task;
import com.wd.base.starttask.Task;
//import com.people.logutil.LoggerInit;
/**
* 描述:com.orhanobut.logger 初始化,子线程初始化
*
* @author : lvjinhui
* @since: 2022/7/2
*/
public class LoggerTask extends Task {
public LoggerTask() {
super("LoggerTask");
}
@Override
public void run() {
// log 初始化
// LoggerInit.getInstance().init(true);// BuildConfig.DEBUG
}
}
/*
* Copyright (c) People Technologies Co., Ltd. 2019-2022. All rights reserved.
*/
package com.example.myapplication.starttask.task;
import android.content.Context;
import android.util.Log;
import com.wd.base.starttask.ITaskCreator;
import com.wd.base.starttask.Task;
/**
* 描述:create task
*
* @author : lvjinhui
* @since: 2022/7/2
*/
public class MyTaskCreator implements ITaskCreator {
/**
* 定义的task 名字, 比如 LoggerTask 在 task 构造函数传入
*/
public static final String TASK_LOG = "LoggerTask";
public static final String TASK_LOCAL = "LocalThreadTask";
public static final String TASK_DELAY = "DelayTask";
public static final String TASK_PRIVATE = "PrivatePolicyTask";
public static final String TASK_WD = "WCompTask";
private final Context mContext;
public MyTaskCreator(Context context) {
this.mContext = context;
}
@Override
public Task createTask(String taskName) {
Log.d("==ALPHA==", taskName);
switch (taskName) {
case TASK_LOG:
return new LoggerTask();
case TASK_LOCAL:
return new LocalThreadTask(mContext);
case TASK_DELAY:
return new DelayTask(mContext);
case TASK_PRIVATE:
return new PrivatePolicyTask(mContext);
case TASK_WD:
return new WCompTask();
default:
break;
}
return null;
}
}
/*
* Copyright (c) People Technologies Co., Ltd. 2019-2022. All rights reserved.
*/
package com.example.myapplication.starttask.task;
import android.content.Context;
import com.wd.base.starttask.Task;
//import com.orhanobut.logger.Logger;
//import com.people.kittools.sp.SpUtils;
//import com.people.umeng.UmSdkHelper;
/**
* 描述:需要用户同意隐私政策的SDK初始化
*
* @author : lvjinhui
* @since: 2022/7/2
*/
public class PrivatePolicyTask extends Task {
private Context instance;
public PrivatePolicyTask(Context context) {
super("PrivatePolicyTask");
this.instance = context;
// if (SpUtils.isFirstAgreementFlag()) {
// return;
// }
/**
* 友盟SDK正式初始化
*/
// UmSdkHelper.initUmSdk(instance);
// Logger.e("隐私SDK初始化");
}
@Override
public void run() {
}
}
/*
* Copyright (c) People Technologies Co., Ltd. 2019-2022. All rights reserved.
*/
package com.example.myapplication.starttask.task;
//import com.wondertek.wheat.ability.scheduler.WComponent;
//import com.wondertek.wheat.ability.scheduler.listener.IComponentRegister;
//import com.wondertek.wheat.ability.scheduler.listener.InitListener;
import com.wd.base.starttask.Task;
/**
* 描述:组件注册,反射多了影响性能
*
* @author : lvjinhui
* @since: 2022/7/2
*/
public class WCompTask extends Task {
public WCompTask() {
super("WCompTask");
}
@Override
public void run() {
// 代码组件
initWComponent();
}
private void initWComponent() {
// WComponent.init(new InitListener() {
// @Override
// public void beforeInit() {
//
// }
//
// @Override
// public void registerComponent(IComponentRegister iComponentRegister) {
// // 内容获取组件
// iComponentRegister.registerComponent("ContentComponent",
// "com.people.component.content.ContentComponent");
// // comp组件
// iComponentRegister.registerComponent("CompComponent", "com.people.component.comp.CompComponent");
// // 语音识别
// iComponentRegister.registerComponent("SpeechComponent", "com.people.speech.SpeechComponent");
// }
//
// @Override
// public void initFinish() {
//
// }
// });
}
}