From 975b91521a04e159f45fb34fc7b55afbf455f7f5 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 28 六月 2023 16:53:34 +0800
Subject: [PATCH] 2023年06月28日16:53:33

---
 app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java                      |   27 +-
 app/src/main/AndroidManifest.xml                                              |    2 
 app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java                 |   26 ++
 app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java           |   34 +++
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java                 |   49 +----
 app/src/main/java/com/hdl/photovoltaic/base/CustomBaseFragment.java           |    2 
 app/src/main/java/com/hdl/photovoltaic/bean/BaseEventBus.java                 |   35 +++
 app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java                |  184 +++++++++++---------
 app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java             |   21 +
 app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java           |    2 
 app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java         |    7 
 app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java              |    2 
 app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java                 |   31 ++-
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java |   68 +++++++
 app/build.gradle                                                              |    3 
 app/src/main/java/com/hdl/photovoltaic/base/CustomBaseActivity.java           |    2 
 16 files changed, 331 insertions(+), 164 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index 7ac585a..a2a4d12 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -70,6 +70,9 @@
 //    implementation 'org.greenrobot:eventbus:3.0.0'
     implementation 'com.hdl.hdlhttp:hxhttp:1.0.4'
 
+    //Eventbus浜嬩欢鍙戝竷涓庢帴鏀�
+    implementation 'org.greenrobot:eventbus:3.3.1'
+
 
     //********UniSDK蹇呴』娣诲姞鐨勪緷璧� start********
     implementation "androidx.recyclerview:recyclerview:1.0.0"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c5aaabe..8173d25 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -17,6 +17,8 @@
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
 
 
     <application
diff --git a/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java b/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java
index 4be52de..e3b1d84 100644
--- a/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java
@@ -9,10 +9,15 @@
 import androidx.appcompat.app.AppCompatActivity;
 
 import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.bean.BaseEventBus;
 import com.hdl.photovoltaic.listener.BaseView;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.utils.AppManagerUtils;
 import com.hdl.photovoltaic.widget.LoadingDialog;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
 
 
 public abstract class BaseActivity extends AppCompatActivity implements BaseView {
@@ -35,6 +40,8 @@
             throw new RuntimeException("getContentView() should be a @LayoutRes or a View");
         }
         onBindView(savedInstanceState);
+        //娉ㄥ唽EventBus
+        registerEventBus();
 
     }
 
@@ -87,9 +94,28 @@
         super.onDestroy();
         //闅愯棌Loading
         hideLoading();
+        //娉ㄩ攢EventBus
+        unregisterEventBus();
 
     }
 
+    protected void unregisterEventBus() {
+        if (EventBus.getDefault().isRegistered(this)) {
+            EventBus.getDefault().unregister(this);
+        }
+    }
+
+    protected void registerEventBus() {
+        if (!EventBus.getDefault().isRegistered(this)) {
+            EventBus.getDefault().register(this);
+        }
+    }
+
+    @Subscribe(threadMode = ThreadMode.POSTING)
+    public void onEventMessage(BaseEventBus eventBus) {
+    }
+
+
     /**
      * 鏄剧ずView
      *
diff --git a/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java b/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java
index 5ae379f..82120dc 100644
--- a/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/base/BaseFragment.java
@@ -15,10 +15,15 @@
 import androidx.lifecycle.Lifecycle;
 
 import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.bean.BaseEventBus;
 import com.hdl.photovoltaic.listener.BaseView;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.widget.LoadingDialog;
 
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
 
 import java.util.Locale;
 
@@ -88,7 +93,8 @@
 
     protected void onLazyInitView(Bundle savedInstanceState) {
         onBindView(savedInstanceState);
-//        registerEventBus();
+        //娉ㄥ唽EventBus
+        registerEventBus();
     }
 
 
@@ -99,26 +105,27 @@
         isFirst = true;
         //闅愯棌Loading
         hideLoading();
-//        unregisterEventBus();
+        //娉ㄩ攢EventBus
+        unregisterEventBus();
     }
 
 
     protected void unregisterEventBus() {
-//        if (EventBus.getDefault().isRegistered(this)) {
-//            EventBus.getDefault().unregister(this);
-//        }
+        if (EventBus.getDefault().isRegistered(this)) {
+            EventBus.getDefault().unregister(this);
+        }
     }
 
     protected void registerEventBus() {
-//        if (!EventBus.getDefault().isRegistered(this)) {
-//            EventBus.getDefault().register(this);
-//        }
+        if (!EventBus.getDefault().isRegistered(this)) {
+            EventBus.getDefault().register(this);
+        }
     }
 
-//    @Subscribe(threadMode = ThreadMode.MAIN)
-//    public void onEventMessage(BaseEvent event) {
-//
-//    }
+    @Subscribe(threadMode = ThreadMode.MAIN)
+    public void onEventMessage(BaseEventBus eventBus) {
+
+    }
 
     /**
      * 鏄剧ずView
diff --git a/app/src/main/java/com/hdl/photovoltaic/base/CustomBaseActivity.java b/app/src/main/java/com/hdl/photovoltaic/base/CustomBaseActivity.java
index 8fbed3c..d9d6340 100644
--- a/app/src/main/java/com/hdl/photovoltaic/base/CustomBaseActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/base/CustomBaseActivity.java
@@ -2,7 +2,7 @@
 
 
 /**
- * 瀹炵幇涓�ц嚜瀹氫箟鏂规硶
+ * 鑷畾涔夋柟娉�,鐢ㄤ簬瀹炵幇涓�у寲
  */
 public abstract class CustomBaseActivity extends BaseActivity {
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/base/CustomBaseFragment.java b/app/src/main/java/com/hdl/photovoltaic/base/CustomBaseFragment.java
index 844f204..aa103e7 100644
--- a/app/src/main/java/com/hdl/photovoltaic/base/CustomBaseFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/base/CustomBaseFragment.java
@@ -1,7 +1,7 @@
 package com.hdl.photovoltaic.base;
 
 /**
- * 瀹炵幇涓�ц嚜瀹氫箟鏂规硶
+ * 鑷畾涔夋柟娉�,鐢ㄤ簬瀹炵幇涓�у寲
  */
 public abstract class CustomBaseFragment extends BaseFragment {
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/bean/BaseEventBus.java b/app/src/main/java/com/hdl/photovoltaic/bean/BaseEventBus.java
new file mode 100644
index 0000000..aadaaee
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/bean/BaseEventBus.java
@@ -0,0 +1,35 @@
+package com.hdl.photovoltaic.bean;
+
+/**
+ * 浜嬩欢鍒嗗彂涓撶敤瀵硅薄
+ */
+public class BaseEventBus {
+
+    private String topic;
+    private String type;
+    private Object data;
+
+    public String getTopic() {
+        return topic == null ? "" : topic;
+    }
+
+    public void setTopic(String topic) {
+        this.topic = topic;
+    }
+
+    public String getType() {
+        return type == null ? "" : type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public Object getData() {
+        return data;
+    }
+
+    public void setData(Object data) {
+        this.data = data;
+    }
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
index b025bbe..485a826 100644
--- a/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
+++ b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
@@ -2,13 +2,18 @@
 
 public class ConstantManage {
 
-    public static final String ACCOUNT = "account";
-    public static final String PASSWORD = "password";
-    public static final String USERID = "userId";
-    private static final String LOGIN_STATE = "login_state";
-    public static final String LOGIN_TOKEN = "login_token";
-    public static final String HOME_NAME = "homeName";
-    public static final String REFRESH_TOKEN = "refresh_token";
-    public static final String HOME_ID = "homeId";
+    /******浣忓畢鏁版嵁瀛樺偍鐨勫父閲�*********/
+    public static final String SAVE_HOME_ACCOUNT = "account";
+    public static final String SAVE_HOME_PASSWORD = "password";
+    public static final String SAVE_HOME_USERID = "userId";
+    private static final String SAVE_HOME_LOGIN_STATE = "login_state";
+    public static final String SAVE_HOME_LOGIN_TOKEN = "login_token";
+    public static final String SAVE_HOME_HOME_NAME = "homeName";
+    public static final String SAVE_HOME_REFRESH_TOKEN = "refresh_token";
+    public static final String SAVE_HOME_HOME_ID = "homeId";
+
+    /******EventBus鍙戝竷浜嬩欢鐨勫父閲�*********/
+    public static final String EVENTBUS_POST_HOME_CREATED = "home_created";//浣忓畢鍒涘缓鍙戝竷
+
 
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
index eb0bcdf..fee18e9 100644
--- a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
+++ b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
@@ -13,7 +13,7 @@
 import java.util.List;
 
 /**
- * 涓汉淇℃伅绫�
+ * 鐢ㄦ埛淇℃伅绫�
  */
 public class UserConfigManage {
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
index 368ad9f..5b2ddd3 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
@@ -2,7 +2,7 @@
 
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
-import android.text.TextUtils;
+import android.os.Environment;
 import android.util.Log;
 
 import com.hdl.photovoltaic.HDLApp;
@@ -13,7 +13,6 @@
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
-import java.io.IOException;
 
 /**
  * 鏂囦欢鎿嶄綔鐨勯�昏緫
@@ -48,56 +47,58 @@
     private String getHomeId() {
         return UserConfigManage.getInstance().getHomeId();
     }
+    //region    ---------root璺緞-----------
 
     /**
      * 鑾峰彇鎵嬫満鍐呴儴瀛樺偍鏂囦欢璺緞
      */
     private String getAPPInternalStoreFilesPath() {
-        return HDLApp.getInstance().getFilesDir().getAbsolutePath();
+        return HDLApp.getInstance().getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS).getPath();
     }
 
     /**
      * 鑾峰彇瀛樻斁鏂囦欢銆愮敤鎴枫�戞牴璺緞
      */
-    public String getUserFilesPath() {
-        return HDLApp.getInstance().getFilesDir().getAbsolutePath() + getUserId();
+    public String getCurrentUserRootPath() {
+        return getAPPInternalStoreFilesPath() + "/" + getUserId();
     }
 
     /**
      * 鑾峰彇瀛樻斁鏂囦欢銆愪綇瀹呫�戞牴璺緞
      */
-    public String getHomeFilesPath() {
-        return HDLApp.getInstance().getFilesDir().getAbsolutePath() + getUserId() + "/home";
+    public String getCurrentHomeRootPath() {
+        return getAPPInternalStoreFilesPath() + "/" + getUserId() + "/home";
     }
 
     /**
-     * 浣忓畢鍚嶇О
+     * 浣忓畢鏂囦欢鍚嶇О
      *
      * @return -
      */
-    public String getHomeFileName() {
-        return getHomeId() + ".json";
+    public String getCurrentHomeFileName() {
+        return "/" + getHomeId() + ".json";
     }
 
+
     /**
-     * 鍒涘缓鏂囦欢
-     *
-     * @param fullPath 鍏ㄨ矾寰�
-     * @return -
+     * 鑾峰彇褰撳墠浣忓畢鏂囦欢鍏ㄨ矾寰�
      */
-    public boolean createFile(String fullPath) {
-        try {
-            File file = new File(fullPath);
-            if (!file.exists()) {
-                boolean succeed = file.createNewFile();
-                HdlLogLogic.print("鍒涘缓鏂囦欢==" + succeed);
-                return succeed;
-            }
-            return true;
-        } catch (Exception e) {
-            HdlLogLogic.print("鍒涘缓鏂囦欢澶辫触==" + e.getMessage());
-            return false;
-        }
+    public String getCurrentHomeFilesFullPath() {
+        return getCurrentHomeRootPath() + getCurrentHomeFileName();
+    }
+
+    //endregion
+
+    //region    ---------銆愭枃浠跺す銆戞搷浣�-----------
+
+    /**
+     * 棰勫垱寤烘枃浠跺す
+     */
+    public void createDirectory() {
+        //瀛樻斁鐢ㄦ埛淇℃伅
+        this.createFileDir(this.getCurrentUserRootPath());
+        //瀛樻斁浣忓畢淇℃伅
+        this.createFileDir(this.getCurrentHomeRootPath());
     }
 
     /**
@@ -116,11 +117,75 @@
             }
             return true;
         } catch (Exception e) {
-            HdlLogLogic.print("鍒涘缓鏂囦欢澶瑰け璐�==" + e.getMessage());
+            HdlLogLogic.print("鍒涘缓鏂囦欢澶规湁寮傚父==" + e.getMessage());
             return false;
         }
     }
 
+
+    /**
+     * 鍒犻櫎鏂囦欢澶�
+     *
+     * @param fullPath 鍏ㄨ矾寰�
+     */
+    public void deleteDirectory(String fullPath) {
+        try {
+            File file = new File(fullPath);
+            if (file.isDirectory()) {
+                boolean succeed = file.delete();
+                HdlLogLogic.print("鍒犻櫎鏂囦欢澶�==" + succeed);
+            }
+        } catch (Exception e) {
+            HdlLogLogic.print("鍒犻櫎鏂囦欢澶规湁寮傚父==" + e.getMessage());
+        }
+
+    }
+    //endregion
+
+    //region    ---------銆愭枃浠躲�戞搷浣�-----------
+
+    /**
+     * 鍒涘缓鏂囦欢
+     *
+     * @param fullPath 鍏ㄨ矾寰�
+     * @return -
+     */
+    public boolean createFile(String fullPath) {
+        try {
+            File file = new File(fullPath);
+            if (!file.exists()) {
+                boolean succeed = file.createNewFile();
+                HdlLogLogic.print("鍒涘缓鏂囦欢==" + succeed);
+                return succeed;
+            }
+            return true;
+        } catch (Exception e) {
+            HdlLogLogic.print("鍒涘缓鏂囦欢鏈夊紓甯�==" + e.getMessage());
+            return false;
+        }
+    }
+
+    /**
+     * 鍒犻櫎鏂囦欢
+     *
+     * @param fullPath 鍏ㄨ矾寰�
+     * @return -
+     */
+    public boolean deleteFile(String fullPath) {
+        try {
+            File file = new File(fullPath);
+            if (file.exists()) {
+                boolean succeed = file.delete();
+                HdlLogLogic.print("鍒犻櫎鏂囦欢==" + succeed);
+                return succeed;
+            }
+            return true;
+        } catch (Exception e) {
+            HdlLogLogic.print("鍒犻櫎鏂囦欢鏈夊紓甯�==" + e.getMessage());
+            return false;
+        }
+
+    }
 
     /**
      * 鍐欏叆鏂囦欢
@@ -141,8 +206,9 @@
             d.write(data.getBytes());
             d.flush();
             d.close();
-        } catch (IOException e) {
-            e.printStackTrace();
+            HdlLogLogic.print("鍐欏叆鏂囦欢鎴愬姛==" + fullPath);
+        } catch (Exception e) {
+            HdlLogLogic.print("鍐欏叆鏂囦欢鏈夊紓甯�==" + e.getMessage());
         }
 
     }
@@ -169,15 +235,16 @@
             byte[] bytes = new byte[fis.available()];
             fis.read(bytes);
             fis.close();
+            HdlLogLogic.print("璇诲彇鏂囦欢鎴愬姛==" + filepath);
             fileContent = new String(bytes);
             return fileContent;
         } catch (Exception e1) {
-            e1.printStackTrace();
-            Log.d(TAG, "Error: Input File not find!");
+            HdlLogLogic.print("璇诲彇鏂囦欢鏈夊紓甯�==" + e1.getMessage());
             return "";
         }
 
     }
+    //endregion
 
     /**
      * 鎶婁綅鍥炬暟鎹繚瀛樺埌鎸囧畾璺緞鐨勫浘鐗囨枃浠�
@@ -197,6 +264,7 @@
         } catch (Exception e) {
         }
     }
+    //</editor-fold>
 
     /**
      * 浠庢寚瀹氳矾寰勭殑鍥剧墖鏂囦欢涓鍙栦綅鍥炬暟鎹�
@@ -215,57 +283,5 @@
         return null;
     }
 
-    /**
-     * 棰勫垱寤烘枃浠跺す
-     */
-    public void createDirectory() {
-        //鐢ㄦ埛淇℃伅
-        this.createFileDir(this.getUserFilesPath());
-        //浣忓畢淇℃伅
-        this.createFileDir(this.getHomeFilesPath());
-    }
 
-    /**
-     * 鍒犻櫎鏂囦欢
-     *
-     * @param fullPath 鍏ㄨ矾寰�
-     * @return -
-     */
-    public boolean deleteFile(String fullPath) {
-        try {
-            File file = new File(fullPath);
-            if (file.exists() || file.isDirectory()) {
-                boolean succeed = file.delete();
-                HdlLogLogic.print("鍒犻櫎鏂囦欢==" + succeed);
-                return succeed;
-            }
-            return true;
-        } catch (Exception e) {
-            HdlLogLogic.print("鍒犻櫎鏂囦欢鏈夊紓甯�==" + e.getMessage());
-            return false;
-        }
-
-    }
-
-    /**
-     * 鍒犻櫎鏂囦欢澶�
-     *
-     * @param fullPath 鍏ㄨ矾寰�
-     * @return -
-     */
-    public boolean deleteDirectory(String fullPath) {
-        try {
-            File file = new File(fullPath);
-            if (file.isDirectory()) {
-                boolean succeed = file.delete();
-                HdlLogLogic.print("鍒犻櫎鏂囦欢澶�==" + succeed);
-                return succeed;
-            }
-            return true;
-        } catch (Exception e) {
-            HdlLogLogic.print("鍒犻櫎鏂囦欢澶规湁寮傚父==" + e.getMessage());
-            return false;
-        }
-
-    }
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
index e55dac1..fcdf6ec 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
@@ -406,6 +406,37 @@
 
     }
 
+    /**
+     * 鑾峰彇浣忓畢鍥剧墖
+     */
+    public void getResidenceImage(String imageUrl, CloudCallBeak<List<HouseIdBean>> cloudCallBeak) {
+        String requestUrl = imageUrl;
+        JsonObject json = new JsonObject();
+        List<HouseIdBean> list = new ArrayList<>();
+        HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
+            @Override
+            public void onSuccess(HttpResponsePack httpResponsePack) {
+                if (httpResponsePack != null && httpResponsePack.getData() != null) {
+                    Gson gson = new Gson();
+                    String jsonStr = gson.toJson(httpResponsePack.getData());
+                    HouseBeanClass houseInfoBeanClass = gson.fromJson(jsonStr, HouseBeanClass.class);
+                } else {
+                    if (cloudCallBeak != null) {
+                        cloudCallBeak.onSuccess(list);
+                    }
+                }
+            }
+
+            @Override
+            public void onFailure(Exception exception) {
+                if (cloudCallBeak != null) {
+                    cloudCallBeak.onFailure(exception);
+                }
+            }
+        });
+
+
+    }
 
     /**
      * 娣诲姞銆愪綇瀹呰鎯呫�戝埌鏈湴缂撳瓨
@@ -475,9 +506,10 @@
      */
     public Boolean switchHouse(String homeId) {
         String oidHomeId = UserConfigManage.getInstance().getHomeId();
-
+        HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentHomeRootPath());
         UserConfigManage.getInstance().setHomeId(homeId);
         HdlFileLogic.getInstance().createDirectory();
+
         HdlThreadLogic.runThread(new Runnable() {
             @Override
             public void run() {
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 b41b342..367cfb5 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -5,17 +5,16 @@
 
 import com.google.gson.Gson;
 import com.hdl.photovoltaic.HDLApp;
+import com.hdl.photovoltaic.bean.BaseEventBus;
+import com.hdl.photovoltaic.config.ConstantManage;
 import com.hdl.photovoltaic.config.UserConfigManage;
-import com.hdl.photovoltaic.listener.CloudCallBeak;
-import com.hdl.photovoltaic.ui.bean.HouseIdBean;
 import com.hdl.photovoltaic.uni.HDLUniMP;
 import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
 import com.hdl.photovoltaic.utils.WifiUtils;
 
+import org.greenrobot.eventbus.EventBus;
 import org.json.JSONObject;
 
-
-import java.util.List;
 
 import io.dcloud.feature.unimp.DCUniMPJSCallback;
 
@@ -67,17 +66,10 @@
                 switch (type_value) {
                     case HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION: {
                         //鍒涘缓
-                        HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
-                            @Override
-                            public void onSuccess(List<HouseIdBean> list) {
-                                HdlResidenceLogic.getInstance().setHouseIdList(list);
-                            }
-
-                            @Override
-                            public void onFailure(Exception exception) {
-
-                            }
-                        });
+                        //eventbus閫氱煡
+                        BaseEventBus baseEventBus = new BaseEventBus();
+                        baseEventBus.setType(ConstantManage.EVENTBUS_POST_HOME_CREATED);
+                        EventBus.getDefault().post(baseEventBus);
 
                     }
                     break;
@@ -139,7 +131,7 @@
     /**
      * 鍘熺敓鎵撳紑uni鎸囧畾椤甸潰
      *
-     * @param path       鎵撳紑璺緞
+     * @param path       鎵撳紑鍏ㄨ矾寰�
      * @param jsonObject 闄勪欢鏁版嵁(娌℃湁鏁版嵁濉玭ull)
      */
     public void openUniMP(String path, JSONObject jsonObject) {
@@ -153,15 +145,16 @@
      * 鍘熺敓銆愪富鍔ㄣ�戝悜灏忕▼搴忓彂閫侀�氱煡浜嬩欢
      * 娉ㄦ剰锛氶渶瑕佹彁鍓嶅皬绋嬪簭鍦ㄨ繍琛屾墠鍙垚鍔�
      *
-     * @param topic 涓婚
+     * @param topic 涓婚澶х被
+     * @param type  鍔熻兘绫�
      * @param body  闄勪欢鏁版嵁(娌℃湁鏁版嵁濉玭ull)
      */
-    public void sendUni(String topic, String body) {
+    public void sendUni(String topic, String type, String body) {
         try {
             HDLUniMP.UniCallBackBaseBean callBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
-            callBackBaseBean.setTopic(topic);
+            callBackBaseBean.setType(type);
             callBackBaseBean.setData(body);
-            HDLUniMPSDKManager.getInstance().sendUniMPEvent(HDLUniMP.UNI_APP_ID, HDLUniMP.UNI_APP_ID, getJSONObject(callBackBaseBean));
+            HDLUniMPSDKManager.getInstance().sendUniMPEvent(HDLUniMP.UNI_APP_ID, topic, getJSONObject(callBackBaseBean));
         } catch (Exception e) {
             HdlLogLogic.print("uni===鍘熺敓涓诲姩鍚戝皬绋嬪簭鍙戦�侀�氱煡浜嬩欢", e.getMessage());
         }
@@ -223,22 +216,6 @@
         }
 
 
-    }
-
-
-    /**
-     * 鑾峰彇uni鍙戦�佸璞�
-     *
-     * @param obj  闄勫姞鏁版嵁
-     * @param code 鐘舵�佺爜
-     * @param msg  缁撴灉鎻忚堪鐨勪俊鎭�
-     */
-    private HDLUniMP.UniCallBackBaseBean getUniCallBackBaseBean(Object obj, String code, String msg) {
-        HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
-        uniCallBackBaseBean.setCode(code);
-        uniCallBackBaseBean.setMes(msg);
-        uniCallBackBaseBean.setData(obj);
-        return uniCallBackBaseBean;
     }
 
     /**
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
index d367a11..367716d 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -27,6 +27,7 @@
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
 import com.hdl.photovoltaic.enums.ShowErrorMode;
+import com.hdl.photovoltaic.other.HdlFileLogic;
 import com.hdl.photovoltaic.other.HdlResidenceLogic;
 import com.hdl.photovoltaic.ui.bean.HouseIdBean;
 import com.hdl.photovoltaic.ui.bean.LoginUserBean;
@@ -248,6 +249,7 @@
             public void onClick(View v) {
 //                requestPermissions();
 //                startActivity(MyPowerStationActivity.class);
+                HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentHomeRootPath());
             }
         });
 
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 d60bc13..2c1f5f6 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -11,11 +11,11 @@
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
 import com.hdl.photovoltaic.databinding.ActivityMyPowerStationBinding;
+import com.hdl.photovoltaic.other.HdlUniLogic;
 import com.hdl.photovoltaic.utils.PermissionUtils;
 
 
 public class MyPowerStationActivity extends CustomBaseActivity {
-
 
 
     private ActivityMyPowerStationBinding viewBinding;
@@ -55,6 +55,11 @@
 
     }
 
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        HdlUniLogic.getInstance().checkRemoveOtherUniMPEventCallBack();
+    }
 
     private void initView() {
         viewBinding.myPowerStationBottomIl1.titleTv.setText(R.string.my_power_station_鐢电珯);
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
index b0e9e75..bd3064f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -13,9 +13,13 @@
 import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
 
 import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.bean.BaseEventBus;
+import com.hdl.photovoltaic.config.ConstantManage;
 import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.FragmentHouseListBinding;
 import com.hdl.photovoltaic.base.CustomBaseFragment;
+import com.hdl.photovoltaic.enums.ShowErrorMode;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlResidenceLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
@@ -91,8 +95,7 @@
         viewBinding.fragmentHouseSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
             @Override
             public void onRefresh() {
-
-                viewBinding.fragmentHouseSrl.setRefreshing(false);
+                updateUIData(true);
                 Log.d("HouseListFragment", "涓嬫媺鍒锋柊");
             }
         });
@@ -128,19 +131,74 @@
 //            this.houseListBeanList.add(houseListBean);
 //        }
         this.houseListBeanIDList.addAll(HdlResidenceLogic.getInstance().getHouseIdList());
-
-
     }
 
+    @Override
+    public void onEventMessage(BaseEventBus eventBus) {
+        super.onEventMessage(eventBus);
+        //鏀跺埌EventBUs閫氱煡
+        if (ConstantManage.EVENTBUS_POST_HOME_CREATED.equals(eventBus.getType())) {
+            updateUIData(false);
+        }
+    }
+
+    /**
+     * 鍒锋柊UI
+     *
+     * @param isRefreshing 琛ㄧず鏄笅鎷夊埛鏂扮殑
+     */
+    private void updateUIData(boolean isRefreshing) {
+        //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
+        HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
+            @Override
+            public void onSuccess(List<HouseIdBean> list) {
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (isRefreshing) {
+                            //鍏抽棴涓嬫媺鍒锋柊鐨勫湀鍦�
+                            viewBinding.fragmentHouseSrl.setRefreshing(false);
+                        }
+                        if (list != null && list.size() > 0) {
+                            //鏇存柊缂撳瓨
+                            HdlResidenceLogic.getInstance().setHouseIdList(list);
+                            if (houseInfoAdapter != null) {
+                                //鏇存柊UI
+                                houseInfoAdapter.setList(list);
+                                houseInfoAdapter.notifyDataSetChanged();
+                            }
+                        }
+                    }
+                }, _mActivity, ShowErrorMode.YES);
+
+            }
+
+            @Override
+            public void onFailure(Exception exception) {
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (isRefreshing) {
+                            //鍏抽棴涓嬫媺鍒锋柊鐨勫湀鍦�
+                            viewBinding.fragmentHouseSrl.setRefreshing(false);
+                        }
+
+                    }
+                }, _mActivity, ShowErrorMode.YES);
+            }
+        });
+    }
 
     /**
      * 鐢宠鏉冮檺
      */
     private void requestPermissions(PermissionsResultCallback permissionsResultCallback) {
+
+
         mPermissionsResultCallback = permissionsResultCallback;
         //Manifest.permission.CAMERA,
         String[] s = new String[]{
-                Manifest.permission.ACCESS_FINE_LOCATION
+                Manifest.permission.ACCESS_FINE_LOCATION,
         };
         String[] ary = PermissionUtils.checkPermission(_mActivity, s);
         if (ary.length > 0) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
index 220440c..ed79307 100644
--- a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
@@ -18,7 +18,7 @@
     public final static String UNI_EVENT_uniMPOnClose = "uni_MPOnClose";//鑷畾涔夊皬绋嬪簭鍏抽棴浜嬩欢
     public final static String UNI_EVENT_GetAppParams = "uni_GetAppParams";//鑾峰彇APP搴旂敤淇℃伅
 
-    //娉ㄦ剰锛氥�愬皬绋嬪簭銆戝彂閫佸埌銆愬師鐢熴�� 鍔犲墠缂�:uni_
+    //region --------銆愬皬绋嬪簭銆戝彂閫佸埌銆愬師鐢熴��(鍔犲墠缂�:uni_)--------
     /*********浣忓畢銆愮數绔欍�戞ā鍧�*********/
     public final static String UNI_EVENT_REPLY_HOME_MODEL = "uni_home_model";//浣忓畢妯″潡
     public final static String UNI_EVENT_REPLY_HOME_LIST = "list";//鑾峰彇浣忓畢銆愮數绔欍�戝垪琛�
@@ -39,11 +39,18 @@
     public final static String UNI_EVENT_REPLY_WIFI_LIST = "list";//鑾峰彇wifi鍒楄〃
     public final static String UNI_EVENT_REPLY_WIFI_INFO = "info";//鑾峰彇褰撳墠wifi淇℃伅
     public final static String UNI_EVENT_REPLY_WIFI_CONNECT = "connect";//杩炴帴wifi
+    //endregion
 
-    //娉ㄦ剰锛氥�愬師鐢熴�戜富鍔ㄥ彂閫佸埌銆愬皬绋嬪簭銆� 鍔犲墠缂�:app_
+    //region --------銆愬師鐢熴�戜富鍔ㄥ彂閫佸埌銆愬皬绋嬪簭銆�--------
+    public final static String UNI_EVENT_NOTIFICATION_DEVICE_MODEL = "uni_notification_model";//閫氱煡妯″潡
+    public final static String UNI_EVENT_NOTIFICATION_DEVICE_LIST = "list";//閫嗗彉鍣ㄨ澶囧垪琛�
+    public final static String UNI_EVENT_NOTIFICATION_DEVICE_CHILD_LIST = "child_list";//閫嗗彉鍣ㄣ�愪笅鎸傘�戣澶囧垪琛�
+    public final static String UNI_EVENT_NOTIFICATION_DEVICE_ADD = "add";//璁惧娣诲姞
+    public final static String UNI_EVENT_NOTIFICATION_DEVICE_DEL = "del";//璁惧鍒犻櫎
+    public final static String UNI_EVENT_NOTIFICATION_DEVICE_OID = "oid";//璁惧銆愬寘鎷笅鎸傝澶囥�憃id鍒楄〃
+    //endregion
 
-
-    //娉ㄦ剰锛氥�愬師鐢熴�戞墦寮�銆愬皬绋嬪簭銆戦〉闈㈣矾寰�(UNI_EVENT_OPEN_HOME_CREATION+?key=value&key=鍙傛暟涓�)
+    //region --------銆愬師鐢熴�戞墦寮�銆愬皬绋嬪簭銆戦〉闈㈣矾寰�(UNI_EVENT_OPEN_HOME_CREATION+?key=value&key=鍙傛暟涓�)--------
     /*********浣忓畢妯″潡*********/
     public final static String UNI_EVENT_OPEN_HOME_CREATION = "pages/powerStation/powerStationCreate";//浣忓畢銆愮數绔欍�戝垱寤�
     public final static String UNI_EVENT_OPEN_HOME_EDIT = "pages/powerStation/powerStationEdit";//浣忓畢銆愮數绔欍�戠紪杈�
@@ -51,11 +58,12 @@
     public final static String UNI_EVENT_OPEN_HOME_DEl = "del";//浣忓畢銆愮數绔欍�戝垹闄�
     /*********璁惧妯″潡*********/
     //璁惧妯″潡鎵撳紑椤甸潰鍏ㄨ矾寰�
+    //endregion
 
 
     /**
      * 灏忕▼搴忎笌鍘熺敓閫氳鏁版嵁鏍煎紡
-     * 鑷畾涔夋牸寮�
+     * 鑷畾涔夋暟鎹牸寮�
      */
     public static class UniCallBackBaseBean implements Serializable {
 
@@ -63,7 +71,6 @@
         private String path;//鎵撳紑灏忕▼搴忚矾寰�(鏆傛椂鐢ㄤ笉涓�)
         private String code;//鐘舵�佺爜
         private String mes;//淇℃伅鎻忚堪
-        private String topic;//鏆傛椂鐢ㄤ笉涓�
         private String type;//鍔熻兘绫诲瀷
         private Object data;//闄勫姞json鏁版嵁
 
@@ -86,7 +93,6 @@
             this.code = code;
         }
 
-
         public String getMes() {
             return mes == null ? "" : mes;
         }
@@ -103,13 +109,6 @@
             this.data = data;
         }
 
-        public String getTopic() {
-            return topic;
-        }
-
-        public void setTopic(String topic) {
-            this.topic = topic;
-        }
 
         public String getType() {
             return type == null ? "" : type;

--
Gitblit v1.8.0