From 2e91f8abdcb87feda9e237895d4460a19fd7aed8 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期五, 10 一月 2025 15:41:23 +0800
Subject: [PATCH] 2025年01月10日15:40:19

---
 app/src/main/java/com/hdl/photovoltaic/ui/bean/QrcodeUrlBean.java         |   28 +++++++++
 app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java        |   66 +++++++++++++--------
 app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java |   34 +++++------
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java             |    6 +-
 4 files changed, 88 insertions(+), 46 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
index bc70bde..e70f0e8 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -55,6 +55,7 @@
 import com.hdl.photovoltaic.ui.bean.MemberBean;
 import com.hdl.photovoltaic.ui.bean.NotRunBean;
 import com.hdl.photovoltaic.ui.bean.OidBean;
+import com.hdl.photovoltaic.ui.bean.QrcodeUrlBean;
 import com.hdl.photovoltaic.ui.bean.StaffBean;
 import com.hdl.photovoltaic.ui.bean.UnCountBean;
 import com.hdl.photovoltaic.ui.bean.UserRightTypeBean;
@@ -1008,9 +1009,8 @@
             public void onSuccess(String obj) {
                 try {
                     Gson g = new Gson();
-                    JsonObject jObject = g.fromJson(obj, JsonObject.class);
-                    String deliveryUrl = jObject.get("deliveryUrl").toString();
-                    uniSuccessCallback(type, deliveryUrl, callback);
+                    QrcodeUrlBean qrcodeUrlBean = g.fromJson(obj, QrcodeUrlBean.class);
+                    uniSuccessCallback(type, qrcodeUrlBean.getDeliveryUrl(), callback);
                 } catch (Exception ignored) {
                     uniSuccessCallback(type, obj, callback);
                 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/QrcodeUrlBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/QrcodeUrlBean.java
new file mode 100644
index 0000000..1e14840
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/QrcodeUrlBean.java
@@ -0,0 +1,28 @@
+package com.hdl.photovoltaic.ui.bean;
+
+import java.io.Serializable;
+
+/**
+ * 鐢电珯浜や粯URL锛圔绔級瀹炰綋绫�
+ */
+public class QrcodeUrlBean implements Serializable {
+
+    private String qrcodeUrl;
+    private String deliveryUrl;
+
+    public String getQrcodeUrl() {
+        return qrcodeUrl == null ? "" : qrcodeUrl;
+    }
+
+    public void setQrcodeUrl(String qrcodeUrl) {
+        this.qrcodeUrl = qrcodeUrl;
+    }
+
+    public String getDeliveryUrl() {
+        return deliveryUrl == null ? "" : deliveryUrl;
+    }
+
+    public void setDeliveryUrl(String deliveryUrl) {
+        this.deliveryUrl = deliveryUrl;
+    }
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java
index 96a9bb3..abecbf3 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/device/ScanActivity.java
@@ -1,5 +1,6 @@
 package com.hdl.photovoltaic.ui.device;
 
+import android.Manifest;
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
@@ -46,6 +47,7 @@
 import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.uni.HDLUniMP;
 import com.hdl.photovoltaic.utils.LocalManageUtil;
+import com.hdl.photovoltaic.utils.PermissionUtils;
 import com.jaeger.library.StatusBarUtil;
 import com.zxing.IZxingActivity;
 import com.zxing.camera.CameraManager;
@@ -122,7 +124,9 @@
         //璁剧疆鏍硅鍥�
         View mContentView = LayoutInflater.from(this).inflate(getRootLayoutId(), null);
         setContentView(mContentView);
+
         afterViewBind(mContentView, savedInstanceState);
+
 
     }
 
@@ -197,7 +201,9 @@
         }
         inactivityTimer.onPause();
         beepManager.close();
-        cameraManager.closeDriver();
+        if (cameraManager != null) {
+            cameraManager.closeDriver();
+        }
         if (!isHasSurface) {
             scanPreview.getHolder().removeCallback(this);
         }
@@ -247,31 +253,41 @@
     }
 
     private void initCamera(SurfaceHolder surfaceHolder) {
-        if (surfaceHolder == null) {
-            throw new IllegalStateException("No SurfaceHolder provided");
-        }
-        if (cameraManager.isOpen()) {
-            Log.w(TAG, "initCamera() while already open -- late SurfaceView callback?");
-            return;
-        }
-        try {
-            cameraManager.openDriver(surfaceHolder);
-            // Creating the handler starts the preview, which can also throw a
-            // RuntimeException.
-            if (handler == null) {
-                handler = new CaptureActivityHandler(this, cameraManager, DecodeThread.ALL_MODE);
-            }
+        PermissionUtils.requestPermissionsResultCallback(this, Manifest.permission.CAMERA, new PermissionUtils.PermissionState() {
+            @Override
+            public void Success(int value) {
+                if (value == PermissionUtils.STATUS_REFUSE_PERMANENT | value == PermissionUtils.STATUS_REFUSE) {
+//                            HdlThreadLogic.toast(_mActivity, R.string.permission_open);
+                    Toast.makeText(ScanActivity.this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show();
+                    return;
+                }
 
-            initCrop();
-        } catch (IOException ioe) {
-            Log.w(TAG, ioe);
-            Toast.makeText(this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show();
-            finish();
-        } catch (RuntimeException e) {
-            Log.w(TAG, "Unexpected error initializing camera", e);
-            Toast.makeText(this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show();
-            finish();
-        }
+                if (surfaceHolder == null) {
+                    throw new IllegalStateException("No SurfaceHolder provided");
+                }
+                if (cameraManager.isOpen()) {
+                    Log.w(TAG, "initCamera() while already open -- late SurfaceView callback?");
+                    return;
+                }
+                try {
+                    cameraManager.openDriver(surfaceHolder);
+                    // Creating the handler starts the preview, which can also throw a
+                    // RuntimeException.
+                    if (handler == null) {
+                        handler = new CaptureActivityHandler(ScanActivity.this, cameraManager, DecodeThread.ALL_MODE);
+                    }
+                    initCrop();
+                } catch (IOException ioe) {
+                    Log.w(TAG, ioe);
+                    Toast.makeText(ScanActivity.this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show();
+                    finish();
+                } catch (RuntimeException e) {
+                    Log.w(TAG, "Unexpected error initializing camera", e);
+                    Toast.makeText(ScanActivity.this, R.string.capture_no_camera, Toast.LENGTH_SHORT).show();
+                    finish();
+                }
+            }
+        }, true);
     }
 
     public void restartPreviewAfterDelay(long delayMS) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java
index a042b29..715c643 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java
@@ -124,25 +124,23 @@
         viewBinding.addPowerStationTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                // 鏈巿鏉� 濡傛灉搴旂敤绋嬪簭娌℃湁鎵�闇�鐨勬潈闄愶紝鍒欐樉绀鸿В閲婅鏄�
-                PermissionExplanationDialog.getInstance().showPortConflictPdDialog(_mActivity, getString(R.string.camera_storage_instructions), getString(R.string.camera_storage_purpose));
-                PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.CAMERA, new PermissionUtils.PermissionState() {
-                    @Override
-                    public void Success(int value) {
-                        PermissionExplanationDialog.getInstance().dismiss();
-                        if (value == PermissionUtils.STATUS_REFUSE_PERMANENT | value == PermissionUtils.STATUS_REFUSE) {
-//                            HdlThreadLogic.toast(_mActivity, R.string.permission_open);
-                            return;
-                        }
+                startActivity(ScanActivity.class);
 
-
-//                        startActivity(CaptureActivity.class);
-                        startActivity(ScanActivity.class);
-                    }
-                }, true);
-//                String path = HDLUniMP.UNI_EVENT_OPEN_DEVICESCAN + "?scanType=addPowerStation";
-//                HdlUniLogic.getInstance().openUniMP(path, null);
-//                startActivity(FastScanActivity.class);
+//                // 鏈巿鏉� 濡傛灉搴旂敤绋嬪簭娌℃湁鎵�闇�鐨勬潈闄愶紝鍒欐樉绀鸿В閲婅鏄�
+//                PermissionExplanationDialog.getInstance().showPortConflictPdDialog(_mActivity, getString(R.string.camera_storage_instructions), getString(R.string.camera_storage_purpose));
+//                PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.CAMERA, new PermissionUtils.PermissionState() {
+//                    @Override
+//                    public void Success(int value) {
+//                        PermissionExplanationDialog.getInstance().dismiss();
+//                        if (value == PermissionUtils.STATUS_REFUSE_PERMANENT | value == PermissionUtils.STATUS_REFUSE) {
+////                            HdlThreadLogic.toast(_mActivity, R.string.permission_open);
+//                            return;
+//                        }
+//
+//
+//                        startActivity(ScanActivity.class);
+//                    }
+//                }, true);
 
             }
         });

--
Gitblit v1.8.0