From 8c1e2e91e3f20af896c1863d0e8fad51b632b24f Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期六, 28 九月 2024 08:26:41 +0800
Subject: [PATCH] 2024年09月28日08:26:38

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java |   64 ++++++++++++++++++++++++++++++--
 1 files changed, 60 insertions(+), 4 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 7b983fc..dd6dbfa 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
@@ -43,6 +43,23 @@
         }
     }
 
+    /**
+     * 鍒囨崲鍥炰富绾跨▼鎵ц
+     *
+     * @param runnable 鍥炶皟
+     */
+    public static void runMainThread(Runnable runnable) {
+        try {
+            if (Looper.myLooper() == Looper.getMainLooper()) {
+                runnable.run();
+            } else {
+                handler.post(runnable);
+            }
+        } catch (Exception ignored) {
+
+        }
+    }
+
 
     /**
      * 瀛愮嚎绋嬫墽琛�
@@ -60,6 +77,25 @@
                     runnable.run();
                 } catch (Exception e) {
                     exception(e, showErrorMode, context);
+                }
+            }
+        }).start();
+
+    }
+
+    /**
+     * 瀛愮嚎绋嬫墽琛�
+     *
+     * @param runnable 鍥炶皟
+     */
+    public static void runSubThread(Runnable runnable) {
+
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    runnable.run();
+                } catch (Exception ignored) {
                 }
             }
         }).start();
@@ -105,17 +141,32 @@
 
 
     /**
-     * 閿欒鎻愮ず妗嗭紙钃濇箹涓婃牱寮忥級
+     * 鍏ㄥ眬寮瑰嚭妗�,閿欒鎻愮ず妗嗭紙钃濇箹涓婃牱寮忥級
      *
      * @param isBoolean 鍥炬爣(true浣跨敤鎴愬姛鍥炬爣,false浣跨敤鎴愬姛鍥炬爣)
      * @param msg       淇℃伅
      * @param code      鐘舵��
      */
     public static void tipFlashingBox(Context context, boolean isBoolean, String msg, int code) {
+        tipFlashingBox(context, isBoolean, msg, code, 1500);
+    }
+
+    /**
+     * 鍏ㄥ眬寮瑰嚭妗�,閿欒鎻愮ず妗嗭紙钃濇箹涓婃牱寮忥級
+     *
+     * @param isBoolean   鍥炬爣(true浣跨敤鎴愬姛鍥炬爣,false浣跨敤鎴愬姛鍥炬爣)
+     * @param msg         淇℃伅
+     * @param code        鐘舵��
+     * @param millisecond 璁剧疆寤舵椂鏃堕棿鍏抽棴寮圭獥(鍗曚綅ms)
+     */
+    public static void tipFlashingBox(Context context, boolean isBoolean, String msg, int code, int millisecond) {
+        if (context == null) {
+            return;
+        }
         HdlThreadLogic.runMainThread(new Runnable() {
             @Override
             public void run() {
-                FlashingBoxDialog flashingBoxDialog = new FlashingBoxDialog(context);
+                FlashingBoxDialog flashingBoxDialog = new FlashingBoxDialog(context, millisecond);
                 if (isBoolean) {
                     Drawable drawable = AppCompatResources.getDrawable(context, R.drawable.tip_succeed);
                     flashingBoxDialog.setImage(drawable);
@@ -123,7 +174,12 @@
                     Drawable drawable = AppCompatResources.getDrawable(context, R.drawable.tip_fail);
                     flashingBoxDialog.setImage(drawable);
                 }
-                flashingBoxDialog.setContent(msg + "\r\n(" + code + ")");
+                if (code == 0) {
+                    //鎴愬姛涓嶉渶瑕佸鍔犵姸鎬佺爜
+                    flashingBoxDialog.setContent(msg);
+                } else {
+                    flashingBoxDialog.setContent(msg + "(" + code + ")");
+                }
                 flashingBoxDialog.show();
             }
         }, null, null);
@@ -178,7 +234,7 @@
      * @return 璋冪敤鏍�
      */
     private static String getStackTrace(Exception ex) {
-        StringBuilder sb = new StringBuilder("");
+        StringBuilder sb = new StringBuilder();
         StackTraceElement[] trace = ex.getStackTrace();
         for (StackTraceElement stackTraceElement : trace) {
             sb.append(stackTraceElement).append("\n");

--
Gitblit v1.8.0