Files
pdlivexp/OneToOne/src/main/java/com/shayu/onetoone/AppContext.java
2023-09-28 18:28:28 +08:00

77 lines
2.9 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package com.shayu.onetoone;
import android.os.Handler;
import android.os.Looper;
import android.os.Process;
import android.util.Log;
import com.alibaba.android.arouter.launcher.ARouter;
import com.facebook.FacebookSdk;
import com.shayu.onetoone.activity.fragments.message.ChatMessageFragment;
import com.shayu.onetoone.activity.message.ChatActivity;
import com.shayu.onetoone.utils.NeverCrashUtils;
import com.yunbao.common.BuildConfig;
import com.yunbao.common.CommonAppContext;
import com.yunbao.common.manager.imrongcloud.InstructorSendRewardProvider;
import com.yunbao.common.manager.imrongcloud.RongcloudIMManager;
import com.yunbao.common.utils.AppManager;
import io.rong.imkit.RongIM;
import io.rong.imkit.config.RongConfigCenter;
import io.rong.imkit.utils.RouteUtils;
import io.rong.imlib.IMLibRTCClient;
import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.Message;
public class AppContext extends CommonAppContext {
@Override
public void onCreate() {
super.onCreate();
NeverCrashUtils.getInstance()
.setDebugMode(BuildConfig.DEBUG)
.setMainCrashHandler((t, e) -> {
Log.e("ApplicationError", "主线程异常");//此处log只是展示当debug为true时主类内部log会打印异常信息
e.printStackTrace();
AppManager.runDebugCode(() -> {
//闪退后finish所有Activity并且杀死进程
Process.killProcess(Process.myPid());
System.exit(0);
new Handler(Looper.getMainLooper()).postDelayed(() -> {
throw new RuntimeException(e);
}, 100);
});
})
.setUncaughtCrashHandler((t, e) -> {
Log.e("ApplicationError", "子线程异常");//此处log只是展示当debug为true时主类内部log会打印异常信息
e.printStackTrace();
})
.register(this);
FacebookSdk.setApplicationId("126035687816994");
ARouter.openLog();
ARouter.openDebug();
ARouter.printStackTrace();
ARouter.init(this);
String appKey = "pvxdm17jpd3hr";
boolean enablePush = true;
RongIM.init(this, appKey, enablePush);
RongcloudIMManager.initRongIM(this);
RongConfigCenter.conversationConfig().addMessageProvider(new InstructorSendRewardProvider(getApplicationContext()));
RongcloudIMManager.addRongcloudIMOnReceiveMessageListener(new RongIMClient.OnReceiveMessageWrapperListener() {
@Override
public boolean onReceived(Message message, int left, boolean hasPackage, boolean offline) {
return false;
}
});
RouteUtils.registerActivity(RouteUtils.RongActivityType.ConversationActivity, ChatActivity.class);
}
}