From 0a18a8180bc6040c941b07df1be1f7b726b4c155 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 21 八月 2023 14:19:26 +0800
Subject: [PATCH] Merge branch 'master' into wjc

---
 app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java |   97 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 97 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
index a027d30..f6ab151 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -6,18 +6,33 @@
 import android.Manifest;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.view.MotionEvent;
 import android.view.View;
 
+import com.google.gson.Gson;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
 import com.hdl.photovoltaic.databinding.ActivityMyPowerStationBinding;
+import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlUniLogic;
+import com.hdl.photovoltaic.uni.HDLUniMP;
 import com.hdl.photovoltaic.utils.PermissionUtils;
+import com.hdl.sdk.link.HDLLinkLocalSdk;
+import com.hdl.sdk.link.common.event.EventListener;
+import com.hdl.sdk.link.core.bean.LinkResponse;
+import com.hdl.sdk.link.core.bean.ModbusResponse;
+
+import java.nio.charset.StandardCharsets;
 
 
 public class MyPowerStationActivity extends CustomBaseActivity {
 
+
     private ActivityMyPowerStationBinding viewBinding;
     private int currentFragmentIndex = 0;
+    private EventListener allTopicsListener;
 
 
     @Override
@@ -28,10 +43,13 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
+        getWindow().setStatusBarColor(getColor(R.color.text_245EC3));
         //鍒濆鍖�
         initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
         initEvent();
+        //娉ㄥ唽鐩戝惉
+        registerAllTopicsListener();
     }
 
     private void initEvent() {
@@ -52,6 +70,14 @@
 
     }
 
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        HdlUniLogic.getInstance().checkRemoveOtherUniMPEventCallBack();
+        //绉婚櫎鐩戝惉
+        HDLLinkLocalSdk.getInstance().removeAllTopicsListener(allTopicsListener);
+
+    }
 
     private void initView() {
         viewBinding.myPowerStationBottomIl1.titleTv.setText(R.string.my_power_station_鐢电珯);
@@ -81,4 +107,75 @@
     }
 
 
+    public void requestPermissions() {
+        String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION});
+        if (ary.length > 0) {
+            requestPermissions(ary, PermissionUtils.STATUS_SUCCESS);
+        } else {
+            if (mPermissionsResultCallback != null) {
+                mPermissionsResultCallback.succeed();
+            }
+        }
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+        if (requestCode == PermissionUtils.STATUS_SUCCESS) {
+            for (int i = 0; i < permissions.length; i++) {
+                if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
+                    if (mPermissionsResultCallback != null) {
+                        mPermissionsResultCallback.succeed();
+                    }
+                }
+
+            }
+        }
+
+    }
+
+
+    private PermissionsResultCallback mPermissionsResultCallback;
+
+    public void setPermissionsResultCallback(PermissionsResultCallback permissionsResultCallback) {
+        mPermissionsResultCallback = permissionsResultCallback;
+    }
+
+    public interface PermissionsResultCallback {
+
+        void succeed();
+
+        void failing();
+
+    }
+
+
+    /**
+     * 娉ㄥ唽鎵�鏈変富棰樻暟鎹殑鐩戝惉
+     */
+    private void registerAllTopicsListener() {
+        allTopicsListener = new EventListener() {
+            @Override
+            public void onMessage(Object msg) {
+
+                if (msg instanceof ModbusResponse) {
+                    ModbusResponse response = (ModbusResponse) msg;
+                    if (response.getTopic() == null) {
+                        return;
+                    }
+                    HdlLogLogic.print("鐩戝惉鍒扮殑鏁版嵁===========" + new Gson().toJson(response));
+//                    if (response.getTopic().endsWith("custom/native/inverter/up")) {
+                    HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+                    uniCallBackBaseBean.setType(response.getTopic());
+                    uniCallBackBaseBean.setData(response.getData());
+                    HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
+//                    }
+
+                }
+            }
+        };
+        HDLLinkLocalSdk.getInstance().registerAllTopicsListener(allTopicsListener);
+    }
+
+
 }
\ No newline at end of file

--
Gitblit v1.8.0