211 lines
7.2 KiB
Java
211 lines
7.2 KiB
Java
package com.ckkj.water;
|
||
|
||
import android.app.Activity;
|
||
import android.app.ActivityManager;
|
||
import android.app.Application;
|
||
import android.content.Context;
|
||
import android.os.Bundle;
|
||
import android.text.TextUtils;
|
||
import android.util.Log;
|
||
|
||
import androidx.annotation.NonNull;
|
||
import androidx.annotation.Nullable;
|
||
|
||
import com.ckkj.water.mine.entity.MineUserInfoBean;
|
||
import com.google.gson.Gson;
|
||
import com.ckkj.water.network.NetWorkManager;
|
||
import com.ckkj.water.utils.dataUtil.SharePreUtil;
|
||
import com.ckkj.water.utils.manager.LanguageManager;
|
||
import com.ckkj.water.utils.manager.ThemeManager;
|
||
import com.ckkj.water.utils.manager.WaterUserInfoManager;
|
||
|
||
import java.util.List;
|
||
|
||
import me.jessyan.autosize.AutoSizeConfig;
|
||
|
||
public class MyApplication extends Application {
|
||
private static Context context;
|
||
private static Activity mLaunchActivity;
|
||
private static Activity currentActivity;
|
||
private static MyApplication instance;
|
||
private String TAG = "DINGDINGCAR-----";
|
||
//口令跳转
|
||
public static boolean hasJumped = false;
|
||
|
||
public static void setCurrentActivity(Activity activity) {
|
||
mLaunchActivity = activity;
|
||
}
|
||
|
||
public static Activity getLaunchActivity() {
|
||
return mLaunchActivity;
|
||
}
|
||
|
||
public static synchronized boolean canJump() {
|
||
if (!hasJumped) {
|
||
hasJumped = true;
|
||
return true;
|
||
}
|
||
return false;
|
||
}
|
||
|
||
public void initializeUmengSDK(){
|
||
//预初始化
|
||
// UMConfigure.preInit(context, AppConfig.UMENG_APP_KEY, "Android");
|
||
// UMConfigure.init(this,"5a12384aa40fa3551f0001d1"
|
||
// ,"umeng",UMConfigure.DEVICE_TYPE_PHONE,"");
|
||
// //日志开关
|
||
// UMConfigure.setLogEnabled(true);
|
||
// //科大讯飞 该段初始化代码必须要放在用户还同意隐私协议政策之后
|
||
// // 将“12345678”替换成您申请的APPID,申请地址:http://www.xfyun.cn
|
||
// // 请勿在“=”与appid之间添加任何空字符或者转义符
|
||
// SpeechUtility.createUtility(context, SpeechConstant.APPID +"=322c51d1");
|
||
//初始化厂商推送
|
||
}
|
||
|
||
@Override
|
||
public void onCreate() {
|
||
super.onCreate();
|
||
instance = this;
|
||
context = getApplicationContext();
|
||
|
||
// 恢复应用语言设置
|
||
applyStoredLocale();
|
||
|
||
// 检查并设置默认主题色(如果之前没有设置过,默认设为白色主题)
|
||
applyDefaultTheme();
|
||
|
||
boolean isUserAgreed = SharePreUtil.getBoolean(ConstantUtil.SHARE_PRE_NAME,context,ConstantUtil.PRIVACY_POLICY_AGREED);
|
||
if(isUserAgreed){
|
||
initializeUmengSDK();
|
||
}
|
||
NetWorkManager.getInstance().init(this);
|
||
AppConfig.USER_LOGIN = SharePreUtil.getBoolean(ConstantUtil.SHARE_PRE_NAME,context,ConstantUtil.USER_LOGIN);
|
||
AppConfig.USER_TOKEN = SharePreUtil.getString(ConstantUtil.SHARE_PRE_NAME,context,ConstantUtil.USER_TOKEN);
|
||
//单位JSON
|
||
String userInfoJson = SharePreUtil.getString(ConstantUtil.SHARE_PRE_NAME,context, ConstantUtil.USER_INFO_JSON_CONTENT);
|
||
if(!TextUtils.isEmpty(userInfoJson)){
|
||
MineUserInfoBean entity = new Gson().fromJson(userInfoJson, MineUserInfoBean.class);
|
||
WaterUserInfoManager.getInstance().setUserInfo(entity);
|
||
}
|
||
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
|
||
@Override
|
||
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle bundle) {
|
||
|
||
}
|
||
|
||
@Override
|
||
public void onActivityStarted(@NonNull Activity activity) {
|
||
|
||
}
|
||
|
||
@Override
|
||
public void onActivityResumed(@NonNull Activity activity) {
|
||
if(activity != null){
|
||
Log.i("currentAct", "当前所在页面===============" + activity.getLocalClassName()+ "=======================");
|
||
}
|
||
}
|
||
|
||
@Override
|
||
public void onActivityPaused(@NonNull Activity activity) {
|
||
|
||
}
|
||
|
||
@Override
|
||
public void onActivityStopped(@NonNull Activity activity) {
|
||
|
||
}
|
||
|
||
@Override
|
||
public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle bundle) {
|
||
|
||
}
|
||
|
||
@Override
|
||
public void onActivityDestroyed(@NonNull Activity activity) {
|
||
|
||
}
|
||
});
|
||
|
||
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
|
||
@Override
|
||
public void onActivityResumed(Activity activity) {
|
||
currentActivity = activity;
|
||
}
|
||
|
||
@Override
|
||
public void onActivityPaused(Activity activity) {
|
||
if (currentActivity == activity) {
|
||
currentActivity = null;
|
||
}
|
||
}
|
||
|
||
// 其他回调方法可以留空
|
||
@Override
|
||
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
|
||
currentActivity = activity;
|
||
}
|
||
@Override
|
||
public void onActivityStarted(Activity activity) {
|
||
currentActivity = activity;
|
||
}
|
||
@Override
|
||
public void onActivityStopped(Activity activity) {}
|
||
@Override
|
||
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {}
|
||
@Override
|
||
public void onActivityDestroyed(Activity activity) {}
|
||
});
|
||
|
||
// AutoSizeConfig.getInstance()
|
||
// // 是否使用设备真实尺寸
|
||
// .setUseDeviceSize(true)
|
||
// // 是否支持 fragment
|
||
// .setCustomFragment(true);
|
||
android.util.Log.e("TEST", "hello");
|
||
}
|
||
|
||
private boolean shouldInit() {
|
||
ActivityManager am = ((ActivityManager) getSystemService(Context.ACTIVITY_SERVICE));
|
||
List<ActivityManager.RunningAppProcessInfo> processInfos = am.getRunningAppProcesses();
|
||
String mainProcessName = getApplicationInfo().processName;
|
||
int myPid = android.os.Process.myPid();
|
||
for (ActivityManager.RunningAppProcessInfo info : processInfos) {
|
||
if (info.pid == myPid && mainProcessName.equals(info.processName)) {
|
||
return true;
|
||
}
|
||
}
|
||
return false;
|
||
}
|
||
|
||
|
||
public static Activity getCurrentActivity() {
|
||
return instance.currentActivity;
|
||
}
|
||
|
||
public static Context getContext() {
|
||
return context;
|
||
}
|
||
|
||
/**
|
||
* 应用启动时恢复保存的语言设置
|
||
* 使用 AppCompatDelegate.setApplicationLocales() API
|
||
*/
|
||
private void applyStoredLocale() {
|
||
LanguageManager.applyStoredLocale();
|
||
}
|
||
|
||
/**
|
||
* 检查并设置默认主题色
|
||
* 如果之前没有设置过主题(默认为 MODE_FOLLOW_SYSTEM),则设置为白色主题(MODE_LIGHT)
|
||
*/
|
||
private void applyDefaultTheme() {
|
||
int currentTheme = ThemeManager.getCurrentTheme(context);
|
||
if (currentTheme == ThemeManager.MODE_FOLLOW_SYSTEM) {
|
||
ThemeManager.setCurrentTheme(context, ThemeManager.MODE_LIGHT);
|
||
ThemeManager.applyTheme(ThemeManager.MODE_LIGHT);
|
||
} else {
|
||
ThemeManager.applyTheme(currentTheme);
|
||
}
|
||
}
|
||
}
|