package com.duqing.missions;
|
|
import android.app.Activity;
|
import android.app.Application;
|
import android.content.Context;
|
import android.os.Bundle;
|
|
import androidx.annotation.NonNull;
|
import androidx.annotation.Nullable;
|
|
import com.duqing.missions.util.MyLog;
|
import com.scwang.smart.refresh.footer.ClassicsFooter;
|
import com.scwang.smart.refresh.header.ClassicsHeader;
|
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
|
import com.scwang.smart.refresh.layout.api.RefreshFooter;
|
import com.scwang.smart.refresh.layout.api.RefreshHeader;
|
import com.scwang.smart.refresh.layout.api.RefreshLayout;
|
import com.scwang.smart.refresh.layout.listener.DefaultRefreshFooterCreator;
|
import com.scwang.smart.refresh.layout.listener.DefaultRefreshHeaderCreator;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* Created by Administrator on 2021/10/28 0028.
|
*/
|
public class MyApplication extends Application {
|
|
final String TAG = "MyApplication";
|
List<Activity> activities = new ArrayList<>();
|
private Activity currentActivity;//当前activity
|
private boolean isInfront; //是否前台运行
|
private static MyApplication application;
|
public static MyApplication getApplication() {
|
return application;
|
}
|
|
public Activity getCurrentActivity() {
|
return currentActivity;
|
}
|
|
@Override
|
public void onCreate() {
|
super.onCreate();
|
application = this;
|
//CrashReport.initCrashReport(getApplicationContext(), "8d88679ae9", false);//注册bugly
|
//设置全局的Header构建器
|
SmartRefreshLayout.setDefaultRefreshHeaderCreator(new DefaultRefreshHeaderCreator() {
|
@Override
|
public RefreshHeader createRefreshHeader(Context context, RefreshLayout layout) {
|
//layout.setPrimaryColorsId(R.color.colorPrimary, android.R.color.white);//全局设置主题颜色
|
return new ClassicsHeader(context);//.setTimeFormat(new DynamicTimeFormat("更新于 %s"));//指定为经典Header,默认是 贝塞尔雷达Header
|
}
|
});
|
//设置全局的Footer构建器
|
SmartRefreshLayout.setDefaultRefreshFooterCreator(new DefaultRefreshFooterCreator() {
|
@Override
|
public RefreshFooter createRefreshFooter(Context context, RefreshLayout layout) {
|
//指定为经典Footer,默认是 BallPulseFooter
|
return new ClassicsFooter(context).setDrawableSize(20);
|
}
|
});
|
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
|
@Override
|
public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {
|
MyLog.d(TAG,"onActivityCreated "+activity.getClass().getSimpleName());
|
if(!activities.contains(activity)){
|
activities.add(activity);
|
}
|
}
|
|
@Override
|
public void onActivityStarted(@NonNull Activity activity) {
|
MyLog.d(TAG,"onActivityStarted "+activity.getClass().getSimpleName());
|
currentActivity = activity;
|
}
|
|
@Override
|
public void onActivityResumed(@NonNull Activity activity) {
|
MyLog.d(TAG,"onActivityResumed "+activity.getClass().getSimpleName());
|
currentActivity = activity;
|
isInfront = true;
|
}
|
|
@Override
|
public void onActivityPaused(@NonNull Activity activity) {
|
MyLog.d(TAG,"onActivityPaused "+activity.getClass().getSimpleName());
|
|
}
|
|
@Override
|
public void onActivityStopped(@NonNull Activity activity) {
|
MyLog.d(TAG,"onActivityStopped "+activity.getClass().getSimpleName());
|
|
}
|
|
@Override
|
public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle bundle) {
|
MyLog.d(TAG,"onActivitySaveInstanceState "+activity.getClass().getSimpleName());
|
isInfront = false;
|
|
}
|
|
@Override
|
public void onActivityDestroyed(@NonNull Activity activity) {
|
MyLog.d(TAG,"onActivityDestroyed "+activity.getClass().getSimpleName());
|
if(activities.contains(activity)){
|
activities.remove(activity);
|
}
|
}
|
});
|
}
|
|
/**
|
* 退出程序
|
*/
|
public void quitApp(){
|
for(Activity activity:activities){
|
activity.finish();
|
}
|
System.exit(0);
|
}
|
|
public void clearActivities(){
|
for(Activity activity:activities){
|
/*if(activity instanceof LoginActivity){
|
continue;
|
}*/
|
activity.finish();
|
}
|
}
|
|
public boolean isInfront(){
|
return isInfront;
|
}
|
}
|