From 57e16d05ef4924a480a5895cdb485556cc820e9b Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 05 六月 2023 09:45:53 +0800
Subject: [PATCH] Merge branch 'wjc'

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java |   93 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 93 insertions(+), 0 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
new file mode 100644
index 0000000..73fe38b
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
@@ -0,0 +1,93 @@
+package com.hdl.photovoltaic.other;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Handler;
+import android.os.Looper;
+import android.widget.Toast;
+
+import androidx.appcompat.app.AlertDialog;
+
+import com.hdl.photovoltaic.enums.ShowErrorMode;
+
+/**
+ * 绾跨▼閫昏緫
+ */
+public class HdlThreadLogic {
+    private static final Handler handler = new Handler(Looper.getMainLooper());
+
+
+    /**
+     * 鍒囨崲鍥炰富绾跨▼
+     *
+     * @param run           鍥炶皟
+     * @param context       涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null)
+     * @param showErrorMode 鏄惁鏄剧ず閿欒(涓嶉渶瑕佹樉绀洪敊璇~null)
+     */
+    public static void runMainThread(Runnable run, Context context, ShowErrorMode showErrorMode) {
+        try {
+            if (Looper.myLooper() == Looper.getMainLooper()) {
+                run.run();
+            } else {
+                handler.post(run);
+            }
+        } catch (Exception e) {
+            exception(e, showErrorMode, context);
+        }
+    }
+
+
+    /**
+     * 瀛愮嚎绋�
+     *
+     * @param run           鍥炶皟
+     * @param context       涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null)
+     * @param showErrorMode 鏄惁鏄剧ず閿欒(涓嶉渶瑕佸~null)
+     */
+    public static void runThread(Runnable run, Context context, ShowErrorMode showErrorMode) {
+
+        new Thread(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    run.run();
+                } catch (Exception e) {
+                    exception(e, showErrorMode, context);
+                }
+            }
+        }).start();
+
+    }
+
+
+    /**
+     * @param e             寮傚父淇℃伅绫�
+     * @param context       涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null)
+     * @param showErrorMode 鏄惁鏄剧ず閿欒(涓嶉渶瑕佸~null)
+     */
+    private static void exception(Exception e, ShowErrorMode showErrorMode, Context context) {
+        if (showErrorMode == null || context == null || e == null) {
+            return;
+        }
+        if (showErrorMode == ShowErrorMode.NO) {
+            return;
+        }
+
+        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();
+
+            }
+        });
+    }
+}

--
Gitblit v1.8.0