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