From 7fdae87bc3de46b5b012f8987c6902cd8b054323 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 16 五月 2024 18:17:11 +0800 Subject: [PATCH] 2024年05月16日18:17:09 --- app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java | 8 app/src/main/res/layout/item_station.xml | 65 ++++-- app/src/main/res/drawable/module_13_ffffff.xml | 7 app/src/main/java/com/hdl/photovoltaic/other/HdlPowerStationDataStatisticsLogic.java | 20 + app/src/main/res/layout/activity_my_power_station.xml | 2 app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java | 56 +++++ app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatus.java | 2 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java | 13 app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java | 70 +++++- app/src/main/res/layout/fragment_home_page.xml | 162 +++------------- app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatusType.java | 9 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java | 10 + app/src/main/res/layout/item_data.xml | 2 app/src/main/java/com/hdl/photovoltaic/ui/bean/DataOverBean.java | 3 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java | 105 ++++----- app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 33 ++ 16 files changed, 316 insertions(+), 251 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatus.java b/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatus.java index 9ede726..bfed333 100644 --- a/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatus.java +++ b/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatus.java @@ -6,5 +6,5 @@ String off = "2";//绂荤嚎 String connecting = "3";//杩炴帴涓�(寰呮帴鍏�) String malfunction = "4";//鏁呴殰 - String off_malfunction = "4";//绂荤嚎鏈夋晠闅� + String off_malfunction = "5";//绂荤嚎鏈夋晠闅� } diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatusType.java b/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatusType.java new file mode 100644 index 0000000..720e8c1 --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/enums/PowerStationStatusType.java @@ -0,0 +1,9 @@ +package com.hdl.photovoltaic.enums; + +public interface PowerStationStatusType { + + String All = "1";//鍏ㄩ儴 + String off = "2";//绂荤嚎 + String connecting = "3";//杩炴帴涓�(寰呮帴鍏�) + String malfunction = "4";//鏁呴殰 +} diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java index a83dc73..59c99f1 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java @@ -44,6 +44,8 @@ import java.lang.reflect.Type; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; @@ -76,7 +78,34 @@ public static final String kWh = "kW.h"; public static final String kW = "kW"; + public static final String noValue = "0.00"; + private List<DeviceBean> mListDevice = new ArrayList<>(); + + public static String getConvertDoubleUnit(String value) { + if (TextUtils.isEmpty(value)) { + return noValue + kWh; + } + BigDecimal formattedValue = getBigDecimal(value); + return formattedValue + kWh; + + } + + public static String getConvertDoubleUnit(int value) { + if (value == 0) { + return noValue + kWh; + } + BigDecimal formattedValue = getBigDecimal(value + ""); + return formattedValue + kWh; + } + + private static BigDecimal getBigDecimal(String value) { + if (TextUtils.isEmpty(value)) { + return new BigDecimal(0); + } + double doubleValue = Double.parseDouble(value); + return BigDecimal.valueOf(doubleValue).setScale(2, RoundingMode.HALF_UP); + } public void clearDeviceList() { if (mListDevice == null) { @@ -212,7 +241,6 @@ } }); } - /** @@ -1351,9 +1379,6 @@ } }); } - - - /** diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlPowerStationDataStatisticsLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlPowerStationDataStatisticsLogic.java index b7475f0..2976c31 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlPowerStationDataStatisticsLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlPowerStationDataStatisticsLogic.java @@ -6,7 +6,6 @@ import com.google.gson.JsonObject; import com.google.gson.reflect.TypeToken; import com.hdl.linkpm.sdk.core.exception.HDLException; -import com.hdl.photovoltaic.enums.TimeType; import com.hdl.photovoltaic.internet.HttpClient; import com.hdl.photovoltaic.internet.api.HttpApi; import com.hdl.photovoltaic.listener.CloudCallBeak; @@ -52,15 +51,18 @@ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { @Override public void onSuccess(String jsonStr) { - if (TextUtils.isEmpty(jsonStr)) { - if (cloudCallBeak != null) { - cloudCallBeak.onSuccess(null); + try { + if (TextUtils.isEmpty(jsonStr)) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(new DataOverBean()); + } } - } - Gson gson = new Gson(); - DataOverBean dataOverBean = gson.fromJson(jsonStr, DataOverBean.class); - if (cloudCallBeak != null) { - cloudCallBeak.onSuccess(dataOverBean); + Gson gson = new Gson(); + DataOverBean dataOverBean = gson.fromJson(jsonStr, DataOverBean.class); + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(dataOverBean); + } + } catch (Exception ignored) { } } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java index 4276a36..3425d20 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java @@ -7,6 +7,7 @@ import androidx.fragment.app.FragmentTransaction; import android.Manifest; +import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; @@ -17,6 +18,7 @@ import android.provider.Settings; import android.text.TextUtils; import android.view.View; +import android.widget.TextView; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; @@ -34,6 +36,7 @@ import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlDeviceLogic; import com.hdl.photovoltaic.other.HdlLogLogic; +import com.hdl.photovoltaic.other.HdlMessageLogic; import com.hdl.photovoltaic.other.HdlMqttLogic; import com.hdl.photovoltaic.other.HdlOtaLogic; import com.hdl.photovoltaic.other.HdlResidenceLogic; @@ -41,6 +44,7 @@ import com.hdl.photovoltaic.other.HdlUniLogic; import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo; import com.hdl.photovoltaic.ui.bean.OidBean; +import com.hdl.photovoltaic.ui.bean.UnCountBean; import com.hdl.photovoltaic.ui.home.HomePageFragment; import com.hdl.photovoltaic.ui.me.MeFragment; import com.hdl.photovoltaic.ui.message.MessageFragment; @@ -113,6 +117,8 @@ this.clickJpushNotificationMessage(); //鍒濆鍖栨潈闄� this.requestPermissions(); + //璇诲彇娑堟伅鏈鏁伴噺 + this.getUnreadCount(); } @@ -635,6 +641,56 @@ } /** + * 璇诲彇娑堟伅銆愭湭璇绘暟閲�,鏈鐞嗘�绘暟閲忥紝宸插鐞嗘�绘暟閲忋�� + */ + private void getUnreadCount() { + HdlMessageLogic.getInstance().getMessageUntreatedCount("", new CloudCallBeak<UnCountBean>() { + @Override + public void onSuccess(UnCountBean unCountBean) { + + HdlThreadLogic.runMainThread(new Runnable() { + @Override + public void run() { + if (unCountBean == null) { + return; + } + //鍒锋柊銆愭秷鎭ā鍧椼�戜笅瑙掓爣鏁板�� + TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv); + if (textView != null) { + if (unCountBean.getUnreadCount() == 0) { + textView.setVisibility(View.GONE); + } else { + textView.setVisibility(View.VISIBLE); + if (unCountBean.getUnreadCount() > 99) { + textView.setText("99+"); + } else { + textView.setText(unCountBean.getUnreadCount() + ""); + } + } + } + } + + }); + } + + @Override + public void onFailure(HDLException e) { + HdlThreadLogic.runMainThread(new Runnable() { + @Override + public void run() { + TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv); + if (textView != null) { + textView.setVisibility(View.GONE); + } + } + }); + + } + }); + } + + + /** * 鐐瑰嚮鏋佸厜閫氱煡鏍忔秷鎭繘鏉� */ private void clickJpushNotificationMessage() { diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java index 61338b8..f1d023e 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/LoginActivity.java @@ -234,10 +234,10 @@ HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() { @Override public void onSuccess(HDLUserRegionBean obj) { - //String APP_REGIONURL_TEST = "http://47.114.131.143:27199"; - //AppConfigManage.setUserRegionUrl(APP_REGIONURL_TEST); + String APP_REGIONURL_TEST = "http://47.114.131.143:27199"; + AppConfigManage.setUserRegionUrl(APP_REGIONURL_TEST); //鍒濆鍖栨湇鍔″煙鍚� - AppConfigManage.setUserRegionUrl(obj.getRegionUrl()); +// AppConfigManage.setUserRegionUrl(obj.getRegionUrl()); HDLLinkPMUser.getInstance().setUserRegionUrl(AppConfigManage.getUserRegionUrl()); HdlAccountLogic.getInstance().loginByPassword(account, password, new ILoginCallBack() { @Override @@ -562,8 +562,6 @@ viewBinding.homeLoginAccountEt.removeTextChangedListener(accountTextWatcher); viewBinding.homeLoginPasswordEt.removeTextChangedListener(passwordTextWatcher); } - - } \ No newline at end of file diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/DataOverBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/DataOverBean.java index 23fde4d..5c9e506 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/DataOverBean.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/DataOverBean.java @@ -6,7 +6,6 @@ * 缁熻姒傝鏁版嵁瀹炰綋绫� */ public class DataOverBean implements Serializable { - private String installedCapacity;//瑁呮満瀹归噺 private String power;//鍙戠數鍔熺巼 private String powerRatio;//鍙戠數鍔熺巼鍗犳瘮(褰撴棩鍙戠數鍔熺巼/瑁呮満瀹归噺 * 100% ) @@ -32,7 +31,7 @@ } public String getPowerRatio() { - return powerRatio == null ? "" : getPowerRatio(); + return powerRatio == null ? "" : powerRatio; } public void setPowerRatio(String powerRatio) { diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java index 0b72e9d..c048c81 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java @@ -29,11 +29,15 @@ import com.hdl.photovoltaic.other.HdlDeviceLogic; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlPowerStationDataStatisticsLogic; +import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; +import com.hdl.photovoltaic.other.HdlUniLogic; import com.hdl.photovoltaic.ui.bean.DataOverBean; import com.hdl.photovoltaic.ui.bean.SocialContributionBean; import com.hdl.photovoltaic.ui.bean.StatisticsBean; +import com.hdl.photovoltaic.ui.bean.StatusOverviewBean; import com.hdl.photovoltaic.ui.home.aachart.BasicChartComposer; +import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.TimeUtils; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; @@ -91,6 +95,7 @@ HdlThreadLogic.runSubThread(new Runnable() { @Override public void run() { + getStatusOverview(); getDataOver(); getStatistics(); getSocialContribution(); @@ -100,6 +105,13 @@ } private void initEvent() { + //鐢电珯娣诲姞 + viewBinding.homePageStationAddIv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); + } + }); //鏃堕棿閫夋嫨鍣� viewBinding.yearMonthDayTv.setOnClickListener(new View.OnClickListener() { @Override @@ -356,6 +368,12 @@ private void initView() { + + viewBinding.homeAllIl.stationTitleTv.setText(getString(R.string.message_all)); + viewBinding.homeFaultsIl.stationTitleTv.setText(getString(R.string.my_power_station_malfunction)); + viewBinding.homeOfflineIl.stationTitleTv.setText(getString(R.string.my_power_station_off_line)); + viewBinding.homeConnectedIl.stationTitleTv.setText(getString(R.string.to_be_added)); + String dataStr = TimeUtils.getDateTimestamp(getCurrentTimestamp(), getTimeDateFormat()); viewBinding.yearMonthDayTv.setText(dataStr); @@ -363,7 +381,7 @@ viewBinding.infoRl1Text2Tv.setText(installed_capacity); String generated_power = getString(R.string.generated_power) + "(" + HdlDeviceLogic.kW + ")"; viewBinding.infoRl1Text4Tv.setText(generated_power); - String generation = getString(R.string.generation) + "(" + HdlDeviceLogic.kWp + ")"; + String generation = getString(R.string.generation) + "(" + HdlDeviceLogic.kWh + ")"; viewBinding.homePageStationInfoRl1TitleTv.setText(generation); viewBinding.homePageStationInfoRl2DayIc.dataTypeTv.setText(R.string.day_power_generation); @@ -416,6 +434,29 @@ } } + /** + * 鐢电珯鐘舵�佹瑙� + */ + private void getStatusOverview() { + HdlResidenceLogic.getInstance().getStatusOverview(new CloudCallBeak<StatusOverviewBean>() { + @Override + public void onSuccess(StatusOverviewBean statusOverviewBean) { + if (statusOverviewBean == null) { + return; + } + viewBinding.homeAllIl.stationTotalTv.setText(statusOverviewBean.getTotal() + ""); + viewBinding.homeFaultsIl.stationTotalTv.setText(statusOverviewBean.getFault() + ""); + viewBinding.homeOfflineIl.stationTotalTv.setText(statusOverviewBean.getOffline() + ""); + viewBinding.homeConnectedIl.stationTotalTv.setText(statusOverviewBean.getConnecting() + ""); + } + + @Override + public void onFailure(HDLException e) { + + } + }); + } + /** * 鑾峰彇缁熻姒傝鏁版嵁(鍏徃缁村害) @@ -424,17 +465,22 @@ HdlPowerStationDataStatisticsLogic.getInstance().getDataOver(new CloudCallBeak<DataOverBean>() { @Override public void onSuccess(DataOverBean dataOverBean) { - if (dataOverBean == null) { - return; - } - viewBinding.infoRl1Text1Tv.setText(dataOverBean.getInstalledCapacity()); - viewBinding.infoRl1Text3Tv.setText(dataOverBean.getPower()); - viewBinding.infoRl1FText1Tv.setText(dataOverBean.getPowerRatio()); + HdlThreadLogic.runMainThread(new Runnable() { + @Override + public void run() { + if (dataOverBean == null) { + return; + } + viewBinding.infoRl1Text1Tv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getInstalledCapacity())); + viewBinding.infoRl1Text3Tv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getPower())); + viewBinding.infoRl1FText1Tv.setText(dataOverBean.getPowerRatio()); - viewBinding.homePageStationInfoRl2DayIc.dataTv.setText(dataOverBean.getTodayElectricity()); - viewBinding.homePageStationInfoRl2MonIc.dataTv.setText(dataOverBean.getMonthElectricity()); - viewBinding.homePageStationInfoRl2YearIc.dataTv.setText(dataOverBean.getYearElectricity()); - viewBinding.homePageStationInfoRl2CumulativeIc.dataTv.setText(dataOverBean.getTotalElectricity()); + viewBinding.homePageStationInfoRl2DayIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getTodayElectricity())); + viewBinding.homePageStationInfoRl2MonIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getMonthElectricity())); + viewBinding.homePageStationInfoRl2YearIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getYearElectricity())); + viewBinding.homePageStationInfoRl2CumulativeIc.dataTv.setText(HdlDeviceLogic.getConvertDoubleUnit(dataOverBean.getTotalElectricity())); + } + }); } @Override @@ -474,7 +520,7 @@ } /** - * 鍙戠數閲忕粺璁�(鍏徃缁村害) + * 绀句細璐$尞(鍏徃缁村害) */ private void getSocialContribution() { HdlPowerStationDataStatisticsLogic.getInstance().getSocialContribution(new CloudCallBeak<SocialContributionBean>() { diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java index 466190d..5384da5 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java @@ -495,10 +495,15 @@ @Override public void onFailure(HDLException e) { - TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv); - if (textView != null) { - textView.setVisibility(View.GONE); - } + HdlThreadLogic.runMainThread(new Runnable() { + @Override + public void run() { + TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv); + if (textView != null) { + textView.setVisibility(View.GONE); + } + } + }); } }); } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java index 8564260..aa5901a 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListEditActivity.java @@ -73,6 +73,16 @@ } } + @Override + public void onBackPressed() { + super.onBackPressed(); + BaseEventBus baseEventBus = new BaseEventBus(); + baseEventBus.setTopic(ConstantManage.homepage_title_tab_switch); + baseEventBus.setType(HomepageTitleTabSwitch.powerstation.toString()); + EventBus.getDefault().post(baseEventBus); + finish(); + } + private void initEvent() { //杩斿洖鎸夐挳 viewBinding.toolbarTopFragmentHouseListRl.topBackLl.setOnClickListener(new View.OnClickListener() { 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 c912953..0fa9abd 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 @@ -88,6 +88,9 @@ @Override public void onBindView(Bundle savedInstanceState) { + //鏀惧湪杩欓噷涔熷锛岃繖閲屽彧鏄鍒涘缓涓�娆� +// loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); +// getStatusOverview(); initData(); //鍒濆鍖� initView(); @@ -494,8 +497,13 @@ //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢 if (eventBus.getType().equals(HomepageTitleTabSwitch.powerstation.toString())) { HdlLogLogic.print("姝e湪鐐瑰嚮銆愮數绔欍��"); +// HdlThreadLogic.runSubThread(new Runnable() { +// @Override +// public void run() { loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); getStatusOverview(); +// } +// }); } } @@ -541,15 +549,7 @@ * @param pageNo 椤电爜 * @param isClear 鏄惁娓呴櫎鏁版嵁 */ - private void loadNextPageHouseList(boolean isRefreshing, - String key, - String keyValue, - String installedCapacityMin, - String installedCapacityMax, - String gridType, - String powerStationStatus, - long pageNo, - boolean isClear) { + private void loadNextPageHouseList(boolean isRefreshing, String key, String keyValue, String installedCapacityMin, String installedCapacityMax, String gridType, String powerStationStatus, long pageNo, boolean isClear) { if (isClear) { clearData(); } @@ -565,57 +565,50 @@ } //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃 - HdlResidenceLogic.getInstance().getResidenceIdList( - key, - keyValue, - installedCapacityMin, - installedCapacityMax, - gridType, - powerStationStatus, - pageNo, pageSize, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() { + HdlResidenceLogic.getInstance().getResidenceIdList(key, keyValue, installedCapacityMin, installedCapacityMax, gridType, powerStationStatus, pageNo, pageSize, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() { + @Override + public void onSuccess(HdlResidenceLogic.HouseBeanClass houseBeanClass) { + HdlThreadLogic.runMainThread(new Runnable() { @Override - public void onSuccess(HdlResidenceLogic.HouseBeanClass houseBeanClass) { - HdlThreadLogic.runMainThread(new Runnable() { - @Override - public void run() { - if (isRefreshing) { - hideLoading(); - } - isHouseLoadingMore = false; - if (houseBeanClass != null) { - currentHouseListTotal = (int) houseBeanClass.getTotalPage(); - currentHouseListPage = (int) houseBeanClass.getPageNo(); - //鏇存柊缂撳瓨 - HdlResidenceLogic.getInstance().setHouseIdList(houseBeanClass.getList()); - if (houseInfoAdapter != null) { - initData(); - //鏇存柊UI - houseInfoAdapter.setList(houseListBeanIDList); - } - } - nullDataUpdateUi(); + public void run() { + if (isRefreshing) { + hideLoading(); + } + isHouseLoadingMore = false; + if (houseBeanClass != null) { + currentHouseListTotal = (int) houseBeanClass.getTotalPage(); + currentHouseListPage = (int) houseBeanClass.getPageNo(); + //鏇存柊缂撳瓨 + HdlResidenceLogic.getInstance().setHouseIdList(houseBeanClass.getList()); + if (houseInfoAdapter != null) { + initData(); + //鏇存柊UI + houseInfoAdapter.setList(houseListBeanIDList); } - }, _mActivity, ShowErrorMode.YES); + } + nullDataUpdateUi(); + } + }, _mActivity, ShowErrorMode.YES); + + } + + @Override + public void onFailure(HDLException e) { + HdlThreadLogic.runMainThread(new Runnable() { + @Override + public void run() { + if (currentHouseListPage > 1) { + --currentHouseListPage; + } + isHouseLoadingMore = false; + if (isRefreshing) { + hideLoading(); + } } - - @Override - public void onFailure(HDLException e) { - HdlThreadLogic.runMainThread(new Runnable() { - @Override - public void run() { - if (currentHouseListPage > 1) { - --currentHouseListPage; - } - isHouseLoadingMore = false; - if (isRefreshing) { - hideLoading(); - } - - } - }, _mActivity, ShowErrorMode.YES); - } - }); + }, _mActivity, ShowErrorMode.YES); + } + }); } /** diff --git a/app/src/main/res/drawable/module_13_ffffff.xml b/app/src/main/res/drawable/module_13_ffffff.xml new file mode 100644 index 0000000..b8a9c24 --- /dev/null +++ b/app/src/main/res/drawable/module_13_ffffff.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <solid android:color="@color/text_FFFFFFFF" /> + <corners + android:topLeftRadius="@dimen/dp_13" + android:topRightRadius="@dimen/dp_13" /> +</shape> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_my_power_station.xml b/app/src/main/res/layout/activity_my_power_station.xml index 20a2b11..1380c78 100644 --- a/app/src/main/res/layout/activity_my_power_station.xml +++ b/app/src/main/res/layout/activity_my_power_station.xml @@ -22,7 +22,7 @@ android:id="@+id/my_power_station_bottom_ll" android:layout_width="match_parent" android:layout_height="@dimen/dp_49" - android:background="@color/text_FFFFFFFF" + android:background="@drawable/module_13_ffffff" android:orientation="horizontal" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/fragment_home_page.xml b/app/src/main/res/layout/fragment_home_page.xml index 4cd5ea9..193afad 100644 --- a/app/src/main/res/layout/fragment_home_page.xml +++ b/app/src/main/res/layout/fragment_home_page.xml @@ -45,147 +45,43 @@ <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginStart="@dimen/dp_16" - android:layout_marginEnd="@dimen/dp_16"> + android:layout_height="wrap_content"> - <RelativeLayout + <!--鏉′欢绛涢��--> + <LinearLayout android:id="@+id/home_page_station_ll" android:layout_width="0dp" android:layout_height="@dimen/dp_56" + android:layout_marginStart="@dimen/dp_16" + android:orientation="horizontal" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> - <RelativeLayout - android:id="@+id/station_status_all_rl" - android:layout_width="74dp" - android:layout_height="match_parent" - android:background="@drawable/station_status_no_ffffff"> + <include + android:id="@+id/home_all_il" + layout="@layout/item_station" /> - <TextView - android:id="@+id/station_status_all_tv" - android:layout_width="match_parent" - android:layout_height="@dimen/dp_25" - android:layout_marginTop="7dp" - android:gravity="center" - android:text="999" - android:textColor="@color/text_E6000000" - android:textSize="@dimen/text_21" - android:textStyle="bold" /> + <include + android:id="@+id/home_faults_il" + layout="@layout/item_station" /> - <TextView - android:id="@+id/station_status_number_all_tv" - android:layout_width="match_parent" - android:layout_height="@dimen/dp_17" - android:layout_below="@+id/station_status_all_tv" - android:layout_marginTop="1dp" - android:gravity="center" - android:text="state" - android:textColor="@color/text_66000000" - android:textSize="@dimen/text_14" /> - </RelativeLayout> + <include + android:id="@+id/home_offline_il" + layout="@layout/item_station" /> - <RelativeLayout - android:id="@+id/station_status_faults_rl" - android:layout_width="74dp" - android:layout_height="match_parent" - android:layout_marginStart="@dimen/dp_16" - android:layout_toEndOf="@+id/station_status_all_rl" - android:background="@drawable/station_status_no_ffffff"> + <include + android:id="@+id/home_connected_il" + layout="@layout/item_station" /> - <TextView - android:id="@+id/station_status_faults_tv" - android:layout_width="match_parent" - android:layout_height="@dimen/dp_25" - android:layout_marginTop="7dp" - android:gravity="center" - android:text="999" - android:textColor="@color/text_E6000000" - android:textSize="@dimen/text_21" - android:textStyle="bold" /> - - <TextView - android:id="@+id/station_status_number_faults_tv" - android:layout_width="match_parent" - android:layout_height="@dimen/dp_17" - android:layout_below="@+id/station_status_faults_tv" - android:layout_marginTop="1dp" - android:gravity="center" - android:text="state" - android:textColor="@color/text_66000000" - android:textSize="@dimen/text_14" /> - </RelativeLayout> - - <RelativeLayout - android:id="@+id/station_status_off_rl" - android:layout_width="74dp" - android:layout_height="match_parent" - android:layout_marginStart="@dimen/dp_16" - android:layout_toEndOf="@+id/station_status_faults_rl" - android:background="@drawable/station_status_no_ffffff"> - - <TextView - android:id="@+id/station_status_off_tv" - android:layout_width="match_parent" - android:layout_height="@dimen/dp_25" - android:layout_marginTop="7dp" - android:gravity="center" - android:text="999" - android:textColor="@color/text_E6000000" - android:textSize="@dimen/text_21" - android:textStyle="bold" /> - - <TextView - android:id="@+id/station_status_number_off_tv" - android:layout_width="match_parent" - android:layout_height="@dimen/dp_17" - android:layout_below="@+id/station_status_off_tv" - android:layout_marginTop="1dp" - android:gravity="center" - android:text="state" - android:textColor="@color/text_66000000" - android:textSize="@dimen/text_14" /> - </RelativeLayout> - - <RelativeLayout - android:id="@+id/station_status_connected_rl" - android:layout_width="74dp" - android:layout_height="match_parent" - android:layout_marginStart="@dimen/dp_16" - android:layout_toEndOf="@+id/station_status_off_rl" - android:background="@drawable/station_status_no_ffffff"> - - <TextView - android:id="@+id/station_status_connected_tv" - android:layout_width="match_parent" - android:layout_height="@dimen/dp_25" - android:layout_marginTop="7dp" - android:gravity="center" - android:text="999" - android:textColor="@color/text_E6000000" - android:textSize="@dimen/text_21" - android:textStyle="bold" /> - - <TextView - android:id="@+id/station_status_number_connected_tv" - android:layout_width="match_parent" - android:layout_height="@dimen/dp_17" - android:layout_below="@+id/station_status_connected_tv" - android:layout_marginTop="1dp" - android:gravity="center" - android:text="state" - android:textColor="@color/text_66000000" - android:textSize="@dimen/text_14" /> - </RelativeLayout> - - - </RelativeLayout> - + </LinearLayout> + <!--瑁呮満瀹归噺 鍙戠數鍔熺巼鏁版嵁鏄剧ず--> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/home_page_station_info_cl" android:layout_width="0dp" android:layout_height="312dp" + android:layout_marginStart="@dimen/dp_16" + android:layout_marginEnd="@dimen/dp_16" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/home_page_station_ll"> @@ -237,7 +133,7 @@ android:layout_marginStart="@dimen/dp_16" android:layout_marginTop="@dimen/dp_21" android:layout_toEndOf="@+id/home_page_station_info_rl1_f" - android:text="33333333" /> + android:text="0.00kW.h" /> <TextView android:id="@+id/info_rl1_text2_tv" @@ -257,7 +153,7 @@ android:layout_below="@+id/info_rl1_text2_tv" android:layout_alignStart="@+id/info_rl1_text1_tv" android:layout_marginTop="@dimen/dp_16" - android:text="33333" /> + android:text="0.00kW.h" /> <TextView android:id="@+id/info_rl1_text4_tv" @@ -350,6 +246,8 @@ android:id="@+id/home_page_station_data_cl" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginStart="@dimen/dp_16" + android:layout_marginEnd="@dimen/dp_16" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/home_page_station_info_cl"> @@ -559,12 +457,14 @@ /> </FrameLayout> </androidx.constraintlayout.widget.ConstraintLayout> - + <!--绀句細璐$尞鏄剧ず--> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/home_page_station_statistics_cl" android:layout_width="match_parent" android:layout_height="186dp" + android:layout_marginStart="@dimen/dp_16" android:layout_marginTop="@dimen/dp_26" + android:layout_marginEnd="@dimen/dp_16" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/home_page_station_data_cl"> @@ -629,7 +529,7 @@ android:layout_alignParentTop="true" android:layout_marginStart="@dimen/dp_10" android:layout_marginTop="@dimen/dp_35" - android:text="ssss" + android:text="s" android:textColor="@color/text_66000000" android:textSize="@dimen/text_12" /> @@ -685,7 +585,7 @@ android:layout_alignParentTop="true" android:layout_marginStart="@dimen/dp_10" android:layout_marginTop="@dimen/dp_35" - android:text="ssss" + android:text="s" android:textColor="@color/text_66000000" android:textSize="@dimen/text_12" /> @@ -740,7 +640,7 @@ android:layout_alignParentTop="true" android:layout_marginStart="@dimen/dp_10" android:layout_marginTop="@dimen/dp_35" - android:text="ssss" + android:text="s" android:textColor="@color/text_66000000" android:textSize="@dimen/text_12" /> diff --git a/app/src/main/res/layout/item_data.xml b/app/src/main/res/layout/item_data.xml index ed8ddb4..af85c6f 100644 --- a/app/src/main/res/layout/item_data.xml +++ b/app/src/main/res/layout/item_data.xml @@ -11,7 +11,7 @@ android:textColor="@color/text_E6000000" android:textSize="@dimen/text_20" android:textStyle="bold" - android:text="33" + android:text="0.00kW.h" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/layout/item_station.xml b/app/src/main/res/layout/item_station.xml index 48dca6c..835724b 100644 --- a/app/src/main/res/layout/item_station.xml +++ b/app/src/main/res/layout/item_station.xml @@ -2,33 +2,48 @@ <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/station_status_cl" - android:layout_width="74dp" - android:layout_height="56dp" - android:background="@drawable/station_status_no_ffffff"> + android:layout_width="90dp" + android:layout_height="56dp"> - <TextView - android:id="@+id/station_status_tv" - android:layout_width="wrap_content" - android:layout_height="@dimen/dp_25" - android:layout_marginTop="7dp" - android:text="99" - android:textColor="@color/text_E6000000" - android:textSize="@dimen/text_21" - android:textStyle="bold" - app:layout_constraintEnd_toEndOf="parent" + <LinearLayout + android:layout_width="@dimen/dp_74" + android:layout_height="match_parent" + android:background="@drawable/station_status_no_ffffff" + android:orientation="vertical" + app:layout_constraintEnd_toStartOf="@+id/v" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="parent"> - <TextView - android:id="@+id/station_status_number_tv" - android:layout_width="wrap_content" - android:layout_height="@dimen/dp_17" - android:layout_marginTop="1dp" - android:text="state" - android:textColor="@color/text_66000000" - android:textSize="@dimen/text_14" - app:layout_constraintEnd_toEndOf="@+id/station_status_tv" - app:layout_constraintStart_toStartOf="@+id/station_status_tv" - app:layout_constraintTop_toBottomOf="@+id/station_status_tv" /> + <TextView + android:id="@+id/station_total_tv" + android:layout_width="match_parent" + android:layout_height="@dimen/dp_25" + android:layout_marginTop="7dp" + android:gravity="center" + android:text="99" + android:textColor="@color/text_E6000000" + android:textSize="@dimen/text_21" + android:textStyle="bold" /> + + <TextView + android:id="@+id/station_title_tv" + android:layout_width="match_parent" + android:layout_height="@dimen/dp_17" + android:layout_marginTop="1dp" + android:gravity="center" + android:text="state" + android:textColor="@color/text_66000000" + android:textSize="@dimen/text_14" /> + </LinearLayout> + + <View + android:id="@+id/v" + android:layout_width="@dimen/dp_16" + android:layout_height="match_parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" + + /> + </androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file -- Gitblit v1.8.0