完成应用报告显示逻辑
This commit is contained in:
parent
2f72f1795e
commit
ee52a6c28c
@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Sun Feb 09 11:41:02 HKT 2025
|
#Sun Feb 09 05:07:18 GMT 2025
|
||||||
stageCount=2
|
stageCount=2
|
||||||
libraryProject=libappbase
|
libraryProject=libappbase
|
||||||
baseVersion=1.2
|
baseVersion=1.2
|
||||||
publishVersion=1.2.1
|
publishVersion=1.2.1
|
||||||
buildCount=0
|
buildCount=30
|
||||||
baseBetaVersion=1.2.2
|
baseBetaVersion=1.2.2
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
#Created by .winboll/winboll_app_build.gradle
|
#Created by .winboll/winboll_app_build.gradle
|
||||||
#Sun Feb 09 11:40:48 HKT 2025
|
#Sun Feb 09 05:07:18 GMT 2025
|
||||||
stageCount=2
|
stageCount=2
|
||||||
libraryProject=libappbase
|
libraryProject=libappbase
|
||||||
baseVersion=1.2
|
baseVersion=1.2
|
||||||
publishVersion=1.2.1
|
publishVersion=1.2.1
|
||||||
buildCount=0
|
buildCount=30
|
||||||
baseBetaVersion=1.2.2
|
baseBetaVersion=1.2.2
|
||||||
|
@ -50,11 +50,11 @@ import java.util.Locale;
|
|||||||
public final class CrashHandler {
|
public final class CrashHandler {
|
||||||
|
|
||||||
public static final String TAG = "CrashHandler";
|
public static final String TAG = "CrashHandler";
|
||||||
|
|
||||||
public static final String TITTLE = "CrashReport";
|
public static final String TITTLE = "CrashReport";
|
||||||
|
|
||||||
private static final String EXTRA_CRASH_INFO = "crashInfo";
|
private static final String EXTRA_CRASH_INFO = "crashInfo";
|
||||||
|
|
||||||
final static String PREFS = CrashHandler.class.getName() + "PREFS";
|
final static String PREFS = CrashHandler.class.getName() + "PREFS";
|
||||||
final static String PREFS_CRASHHANDLER_ISCRASHHAPPEN = "PREFS_CRASHHANDLER_ISCRASHHAPPEN";
|
final static String PREFS_CRASHHANDLER_ISCRASHHAPPEN = "PREFS_CRASHHANDLER_ISCRASHHAPPEN";
|
||||||
|
|
||||||
@ -130,7 +130,6 @@ public final class CrashHandler {
|
|||||||
LogUtils.d(TAG, "gotoCrashActiviy: ");
|
LogUtils.d(TAG, "gotoCrashActiviy: ");
|
||||||
if (AppCrashSafetyWire.getInstance().isAppCrashSafetyWireOK()) {
|
if (AppCrashSafetyWire.getInstance().isAppCrashSafetyWireOK()) {
|
||||||
LogUtils.d(TAG, "gotoCrashActiviy: isAppCrashSafetyWireOK");
|
LogUtils.d(TAG, "gotoCrashActiviy: isAppCrashSafetyWireOK");
|
||||||
AppCrashSafetyWire.getInstance().postResumeCrashSafetyWireHandler(app);
|
|
||||||
intent.setClass(app, GlobalCrashActiviy.class);
|
intent.setClass(app, GlobalCrashActiviy.class);
|
||||||
intent.putExtra(EXTRA_CRASH_INFO, errorLog);
|
intent.putExtra(EXTRA_CRASH_INFO, errorLog);
|
||||||
// 如果发生了 CrashHandler 内部崩溃, 就调用基础的应用崩溃显示类
|
// 如果发生了 CrashHandler 内部崩溃, 就调用基础的应用崩溃显示类
|
||||||
@ -141,10 +140,9 @@ public final class CrashHandler {
|
|||||||
// 正常状态调用进阶的应用崩溃显示页
|
// 正常状态调用进阶的应用崩溃显示页
|
||||||
intent.setClass(app, CrashActiviy.class);
|
intent.setClass(app, CrashActiviy.class);
|
||||||
intent.putExtra(EXTRA_CRASH_INFO, errorLog);
|
intent.putExtra(EXTRA_CRASH_INFO, errorLog);
|
||||||
AppCrashSafetyWire.getInstance().resumeToMaximumImmediately();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// intent.setClass(app, CrashActiviy.class);
|
// intent.setClass(app, CrashActiviy.class);
|
||||||
// intent.putExtra(CrashActiviy.EXTRA_CRASH_INFO, errorLog);
|
// intent.putExtra(CrashActiviy.EXTRA_CRASH_INFO, errorLog);
|
||||||
@ -330,23 +328,19 @@ public final class CrashHandler {
|
|||||||
new Handler(Looper.getMainLooper()).postDelayed(new Runnable(){
|
new Handler(Looper.getMainLooper()).postDelayed(new Runnable(){
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
// 进程持续运行时,恢复保险丝熔断值
|
LogUtils.d(TAG, "Handler run()");
|
||||||
//Resume to maximum
|
if (!AppCrashSafetyWire.getInstance().isSafetyWireWorking(currentSafetyLevel - 1)) {
|
||||||
resumeToMaximumImmediately();
|
// 如果下一次应用崩溃时,保险丝熔断,则先恢复保险丝满能状态
|
||||||
// LogUtils.d(TAG, "postCrashSafetyWire Resume to maximum");
|
// 进程持续运行时,恢复保险丝熔断值
|
||||||
// while (resumeToMaximum(currentSafetyLevel + 1)) {
|
//Resume to maximum
|
||||||
// try {
|
AppCrashSafetyWire.getInstance().resumeToMaximumImmediately();
|
||||||
// Thread.sleep(1000);
|
LogUtils.d(TAG, "postResumeCrashSafetyWireHandler");
|
||||||
// } catch (InterruptedException e) {
|
}
|
||||||
// LogUtils.d(TAG, e, Thread.currentThread().getStackTrace());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
}, 1000);
|
}, 500);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getAppName(Context context) {
|
public static String getAppName(Context context) {
|
||||||
PackageManager packageManager = context.getPackageManager();
|
PackageManager packageManager = context.getPackageManager();
|
||||||
try {
|
try {
|
||||||
@ -368,7 +362,8 @@ public final class CrashHandler {
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
AppCrashSafetyWire.getInstance().postResumeCrashSafetyWireHandler(getApplicationContext());
|
||||||
|
|
||||||
mLog = getIntent().getStringExtra(EXTRA_CRASH_INFO);
|
mLog = getIntent().getStringExtra(EXTRA_CRASH_INFO);
|
||||||
setTheme(android.R.style.Theme_DeviceDefault_Light_DarkActionBar);
|
setTheme(android.R.style.Theme_DeviceDefault_Light_DarkActionBar);
|
||||||
setContentView: {
|
setContentView: {
|
||||||
@ -388,7 +383,7 @@ public final class CrashHandler {
|
|||||||
contentView.addView(hw, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
|
contentView.addView(hw, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
|
||||||
setContentView(contentView);
|
setContentView(contentView);
|
||||||
getActionBar().setTitle(TITTLE);
|
getActionBar().setTitle(TITTLE);
|
||||||
getActionBar().setSubtitle("GlobalCrashActiviy Error");
|
getActionBar().setSubtitle(GlobalApplication.class.getSimpleName() + " Error");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -457,6 +452,8 @@ public final class CrashHandler {
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
AppCrashSafetyWire.getInstance().postResumeCrashSafetyWireHandler(getApplicationContext());
|
||||||
|
|
||||||
mLog = getIntent().getStringExtra(EXTRA_CRASH_INFO);
|
mLog = getIntent().getStringExtra(EXTRA_CRASH_INFO);
|
||||||
setTheme(android.R.style.Theme_DeviceDefault_NoActionBar);
|
setTheme(android.R.style.Theme_DeviceDefault_NoActionBar);
|
||||||
// TypedArray a = obtainStyledAttributes(attrs, R.styleable.ASupportToolbar, R.attr.aSupportToolbar, 0);
|
// TypedArray a = obtainStyledAttributes(attrs, R.styleable.ASupportToolbar, R.attr.aSupportToolbar, 0);
|
||||||
@ -466,7 +463,7 @@ public final class CrashHandler {
|
|||||||
// mEndColor = a.getColor(R.styleable.ASupportToolbar_attrASupportToolbarEndColor, Color.YELLOW);
|
// mEndColor = a.getColor(R.styleable.ASupportToolbar_attrASupportToolbarEndColor, Color.YELLOW);
|
||||||
// // 返回一个绑定资源结束的信号给资源
|
// // 返回一个绑定资源结束的信号给资源
|
||||||
// a.recycle();
|
// a.recycle();
|
||||||
|
|
||||||
setContentView: {
|
setContentView: {
|
||||||
// LinearLayout contentView = new LinearLayout(this);
|
// LinearLayout contentView = new LinearLayout(this);
|
||||||
// contentView.setOrientation(LinearLayout.VERTICAL);
|
// contentView.setOrientation(LinearLayout.VERTICAL);
|
||||||
@ -518,7 +515,7 @@ public final class CrashHandler {
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// });
|
// });
|
||||||
|
|
||||||
getActionBar().setTitle(TITTLE);
|
getActionBar().setTitle(TITTLE);
|
||||||
getActionBar().setSubtitle(getAppName(getApplicationContext()));
|
getActionBar().setSubtitle(getAppName(getApplicationContext()));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user