From 17692267eea4adb77e93363ac27f1caff5f006ae Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 05 六月 2023 09:11:43 +0800
Subject: [PATCH] 2023年06月05日09:11:31

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java |   75 +++++++++++++------------------------
 1 files changed, 26 insertions(+), 49 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 40bb756..73fe38b 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java
@@ -1,8 +1,12 @@
 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;
 
@@ -12,29 +16,13 @@
 public class HdlThreadLogic {
     private static final Handler handler = new Handler(Looper.getMainLooper());
 
-    /**
-     * 鍒囨崲鍥炰富绾跨▼
-     *
-     * @param run 鍥炶皟
-     */
-    public static void runMainThread(Runnable run) {
-        try {
-            if (Looper.myLooper() == Looper.getMainLooper()) {
-                run.run();
-            } else {
-                handler.post(run);
-            }
-        } catch (Exception e) {
-            exception(e, ShowErrorMode.YES);
-        }
-    }
 
     /**
      * 鍒囨崲鍥炰富绾跨▼
      *
      * @param run           鍥炶皟
-     * @param context       涓婁笅鏂�
-     * @param showErrorMode 鏄惁鏄剧ず閿欒
+     * @param context       涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null)
+     * @param showErrorMode 鏄惁鏄剧ず閿欒(涓嶉渶瑕佹樉绀洪敊璇~null)
      */
     public static void runMainThread(Runnable run, Context context, ShowErrorMode showErrorMode) {
         try {
@@ -44,36 +32,17 @@
                 handler.post(run);
             }
         } catch (Exception e) {
-            exception(e, showErrorMode);
+            exception(e, showErrorMode, context);
         }
     }
 
-    /**
-     * 瀛愮嚎绋�
-     *
-     * @param run 鍥炶皟
-     */
-    public static void runThread(Runnable run) {
-
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    run.run();
-                } catch (Exception e) {
-                    exception(e, ShowErrorMode.NO);
-                }
-            }
-        }).start();
-
-    }
 
     /**
      * 瀛愮嚎绋�
      *
      * @param run           鍥炶皟
-     * @param context       涓婁笅鏂�
-     * @param showErrorMode 鏄惁鏄剧ず閿欒
+     * @param context       涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null)
+     * @param showErrorMode 鏄惁鏄剧ず閿欒(涓嶉渶瑕佸~null)
      */
     public static void runThread(Runnable run, Context context, ShowErrorMode showErrorMode) {
 
@@ -83,7 +52,7 @@
                 try {
                     run.run();
                 } catch (Exception e) {
-                    exception(e, showErrorMode);
+                    exception(e, showErrorMode, context);
                 }
             }
         }).start();
@@ -91,7 +60,15 @@
     }
 
 
-    private static void exception(Exception e, ShowErrorMode showErrorMode) {
+    /**
+     * @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;
         }
@@ -99,16 +76,16 @@
         handler.post(new Runnable() {
             @Override
             public void run() {
-//                Dialog alertDialog = new AlertDialog.Builder(HDLApp.getInstance().getApplicationContext()).
-//                        setTitle("鎶辨瓑绋嬪簭鍑虹幇閿欒浜�,鐐瑰嚮\"纭\"鑾峰彇鏇村璇︾粏淇℃伅.").
-//                        setMessage(e.getMessage()).
-//                        create();
-//                alertDialog.show();
+                Dialog alertDialog = new AlertDialog.Builder(context).
+                        setTitle("鎶辨瓑绋嬪簭鍑虹幇閿欒浜�,鐐瑰嚮\"纭\"鑾峰彇鏇村璇︾粏淇℃伅.").
+                        setMessage(e.getMessage()).
+                        create();
+                alertDialog.show();
                 //鎻愮ず
-//                AlertDialog alertDialog=new AlertDialog(HDLApp.getInstance().getApplicationContext(), androidx.fragment.R.style.TextAppearance_Compat_Notification);
+//                AlertDialog alertDialog = new AlertDialog(context, androidx.fragment.R.style.TextAppearance_Compat_Notification);
 //                alertDialog.setTitle("鎶辨瓑绋嬪簭鍑虹幇閿欒浜�");
 //                alertDialog.show();
-                //Toast.makeText(HDLApp.getInstance().getApplicationContext(), "鎶辨瓑绋嬪簭鍑虹幇閿欒浜�", Toast.LENGTH_SHORT).show();
+//                Toast.makeText(context, "鎶辨瓑绋嬪簭鍑虹幇閿欒浜�", Toast.LENGTH_SHORT).show();
 
             }
         });

--
Gitblit v1.8.0