From e62bcdaa38f0f00e25610b1a6c6ba847d65640ff Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 26 六月 2023 15:44:15 +0800
Subject: [PATCH] 2023年06月26日15:44:09
---
app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java | 86 +++++++++++++++++++++++++++++++++++-------
1 files changed, 71 insertions(+), 15 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
index 73fe38b..a50ae9f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
@@ -4,11 +4,14 @@
import android.content.Context;
import android.os.Handler;
import android.os.Looper;
+import android.util.Log;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import com.hdl.photovoltaic.enums.ShowErrorMode;
+import com.hdl.photovoltaic.widget.ConfirmationDialog;
+import com.hdl.photovoltaic.widget.ConfirmationExceptionDialog;
/**
* 绾跨▼閫昏緫
@@ -18,7 +21,7 @@
/**
- * 鍒囨崲鍥炰富绾跨▼
+ * 鍒囨崲鍥炰富绾跨▼鎵ц
*
* @param run 鍥炶皟
* @param context 涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null)
@@ -32,13 +35,14 @@
handler.post(run);
}
} catch (Exception e) {
+
exception(e, showErrorMode, context);
}
}
/**
- * 瀛愮嚎绋�
+ * 瀛愮嚎绋嬫墽琛�
*
* @param run 鍥炶皟
* @param context 涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null)
@@ -61,12 +65,37 @@
/**
- * @param e 寮傚父淇℃伅绫�
+ * 鍏ㄥ眬寮瑰嚭妗�,绯荤粺榛樿Toast
+ */
+ public static void toast(final Context context, final String text) {
+ handler.post(new Runnable() {
+ @Override
+ public void run() {
+ Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
+ }
+ });
+ }
+
+ /**
+ * 鍏ㄥ眬寮瑰嚭妗�,绯荤粺榛樿Toast
+ */
+ public static void toast(final Context context, final int resId) {
+ handler.post(new Runnable() {
+ @Override
+ public void run() {
+ Toast.makeText(context, resId, Toast.LENGTH_SHORT).show();
+ }
+ });
+ }
+
+
+ /**
+ * @param ex 寮傚父淇℃伅绫�
* @param context 涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null)
* @param showErrorMode 鏄惁鏄剧ず閿欒(涓嶉渶瑕佸~null)
*/
- private static void exception(Exception e, ShowErrorMode showErrorMode, Context context) {
- if (showErrorMode == null || context == null || e == null) {
+ private static void exception(Exception ex, ShowErrorMode showErrorMode, Context context) {
+ if (showErrorMode == null || context == null || ex == null) {
return;
}
if (showErrorMode == ShowErrorMode.NO) {
@@ -76,18 +105,45 @@
handler.post(new Runnable() {
@Override
public void run() {
- Dialog alertDialog = new AlertDialog.Builder(context).
- setTitle("鎶辨瓑绋嬪簭鍑虹幇閿欒浜�,鐐瑰嚮\"纭\"鑾峰彇鏇村璇︾粏淇℃伅.").
- setMessage(e.getMessage()).
- create();
- alertDialog.show();
- //鎻愮ず
-// AlertDialog alertDialog = new AlertDialog(context, androidx.fragment.R.style.TextAppearance_Compat_Notification);
-// alertDialog.setTitle("鎶辨瓑绋嬪簭鍑虹幇閿欒浜�");
-// alertDialog.show();
-// Toast.makeText(context, "鎶辨瓑绋嬪簭鍑虹幇閿欒浜�", Toast.LENGTH_SHORT).show();
+
+ ConfirmationDialog confirmationDialog = new ConfirmationDialog(context);
+ confirmationDialog.setTitle("鎻愮ず");
+ confirmationDialog.setContent("寰堟姳姝�,绋嬪簭鍑虹幇閿欒浜�,鐐瑰嚮\"纭\"鑾峰彇鏇村璇︾粏閿欒淇℃伅.");
+ confirmationDialog.setConfirmation("纭");
+ confirmationDialog.setCancel("鍙栨秷");
+ confirmationDialog.show();
+ confirmationDialog.setNoOnclickListener(new ConfirmationDialog.onNoOnclickListener() {
+ @Override
+ public void Cancel() {
+ confirmationDialog.dismiss();
+ }
+ });
+ confirmationDialog.setYesOnclickListener(new ConfirmationDialog.onYesOnclickListener() {
+ @Override
+ public void Confirm() {
+ confirmationDialog.dismiss();
+ ConfirmationExceptionDialog confirmationExceptionDialog = new ConfirmationExceptionDialog(context);
+// String s = getStackTrace(ex);
+ String s = Log.getStackTraceString(ex);
+ confirmationExceptionDialog.setContent(s);
+ confirmationExceptionDialog.show();
+ }
+ });
}
});
}
+
+ /**
+ * @return 璋冪敤鏍�
+ */
+ private static String getStackTrace(Exception ex) {
+ StringBuilder sb = new StringBuilder("");
+ StackTraceElement[] trace = ex.getStackTrace();
+ for (StackTraceElement stackTraceElement : trace) {
+ sb.append(stackTraceElement).append("\n");
+ }
+ return sb.toString();
+ }
+
}
--
Gitblit v1.8.0