From 27d994f4375f604ba7f49a5ba600882884d73126 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期五, 29 十二月 2023 16:07:28 +0800
Subject: [PATCH] 2023年12月29日16:07:20

---
 app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java b/app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java
index 91a31dc..ff6a2d8 100644
--- a/app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java
+++ b/app/src/main/java/com/hdl/photovoltaic/utils/PermissionUtils.java
@@ -10,6 +10,7 @@
 import androidx.core.content.ContextCompat;
 
 import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.other.HdlDialogLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hjq.permissions.OnPermissionCallback;
 import com.hjq.permissions.XXPermissions;
@@ -93,9 +94,9 @@
     /**
      * 鑾峰彇鏉冮檺鐘舵��
      */
-    public static int getAuthorizeStaus(Activity activity, String authorize) {
+    public static int getPermissionState(Activity activity, String authorize) {
         int flag = ActivityCompat.checkSelfPermission(activity, authorize);
-        Boolean isShould = ActivityCompat.shouldShowRequestPermissionRationale(activity, authorize);
+        boolean isShould = ActivityCompat.shouldShowRequestPermissionRationale(activity, authorize);
         if (isShould) {
             return STATUS_REFUSE;
         }
@@ -115,10 +116,11 @@
      * @param activity                -
      * @param permission              -
      * @param permissionStateCallback -
+     * @param is_skip                 鎷掔粷鏉冮檺鍚庢槸鍚﹀紩瀵煎埌璁剧疆閭i噷鎵撳紑(true=寮曞)
      */
-    public static void applyForRight(Activity activity, String permission, PermissionState permissionStateCallback) {
+    public static void requestPermissionsResultCallback(Activity activity, String permission, PermissionState permissionStateCallback, boolean is_skip) {
 //        String permission = Manifest.permission.WRITE_EXTERNAL_STORAGE;
-        int status = PermissionUtils.getAuthorizeStaus(activity, permission);
+        int status = PermissionUtils.getPermissionState(activity, permission);
         switch (status) {
             case PermissionUtils.STATUS_SUCCESS:
                 if (permissionStateCallback != null) {
@@ -140,15 +142,17 @@
 
                             @Override
                             public void onDenied(List<String> permissions, boolean never) {
-                                SharedPreUtils.putBoolean(permission, true);
+                                if (is_skip) {
+                                    SharedPreUtils.putBoolean(permission, true);
+                                }
                             }
                         });
                 break;
             case PermissionUtils.STATUS_REFUSE_PERMANENT:
-                if (permissionStateCallback != null) {
-                    permissionStateCallback.Success(STATUS_REFUSE_PERMANENT);
-                }
-
+//                if (permissionStateCallback != null) {
+//                    permissionStateCallback.Success(STATUS_REFUSE_PERMANENT);
+//                }
+                HdlDialogLogic.getInstance().showSettingPermissionDialog(activity);
                 break;
         }
     }

--
Gitblit v1.8.0