From db937c029a3f9dbaec86cbbc944ebbee3ece13be Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 31 七月 2025 14:49:17 +0800 Subject: [PATCH] Merge branch '1.4.4' into dev --- app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java | 174 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 140 insertions(+), 34 deletions(-) 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 0469a3c..20cbb37 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 @@ -8,6 +8,7 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.location.LocationManager; +import android.os.AsyncTask; import android.os.Bundle; import android.provider.Settings; import android.text.TextUtils; @@ -16,7 +17,6 @@ import androidx.annotation.NonNull; import androidx.appcompat.content.res.AppCompatResources; -import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import com.bigkoo.pickerview.builder.TimePickerBuilder; import com.bigkoo.pickerview.listener.OnTimeSelectListener; @@ -24,6 +24,7 @@ import com.github.AAChartModel.AAChartCore.AAChartCreator.AAChartModel; import com.github.AAChartModel.AAChartCore.AAChartCreator.AAChartView; import com.github.AAChartModel.AAChartCore.AAChartCreator.AAMoveOverEventMessageModel; +import com.hdl.linkpm.sdk.HDLLinkPMSdk; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; @@ -44,17 +45,25 @@ import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.other.HdlUniLogic; +import com.hdl.photovoltaic.ui.StartActivity; +import com.hdl.photovoltaic.ui.adapter.LanguageAdapter; 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.AppManagerUtils; import com.hdl.photovoltaic.utils.GPSManagerUtils; import com.hdl.photovoltaic.utils.PermissionUtils; import com.hdl.photovoltaic.utils.TimeUtils; +import com.hdl.photovoltaic.widget.AddPowerStationDialog; import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; import com.hdl.photovoltaic.widget.FlashingBoxDialog; +import com.hdl.photovoltaic.widget.adapter.ListDialogAdapter; +import com.hdl.photovoltaic.widget.adapter.PowerStationDialogAdapter; +import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout; +import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import org.greenrobot.eventbus.EventBus; @@ -70,7 +79,7 @@ * 棣栭〉妯″潡 */ -public class HomePageFragment extends CustomBaseFragment implements AAChartView.AAChartViewCallBack { +public class HomePageFragment extends CustomBaseFragment implements AAChartView.AAChartViewCallBack, BGARefreshLayout.BGARefreshLayoutDelegate { FragmentHomePageBinding viewBinding; @@ -84,6 +93,7 @@ private String timeType = TimeType.day;//鏃堕棿绫诲瀷(榛樿锛氬ぉ) + private String debugging_str = "";//鏃堕棿绫诲瀷(榛樿锛氬ぉ) @Override @@ -124,13 +134,31 @@ viewBinding.homePageStationAddIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - requestPermissions(new OnCallBeak() { + AddPowerStationDialog addPowerStationDialog = new AddPowerStationDialog(_mActivity); + addPowerStationDialog.show(); + addPowerStationDialog.setCanceledOnTouchOutside(true); + addPowerStationDialog.setItemOnclickListener(new PowerStationDialogAdapter.OnclickListener() { @Override - public void onClickCallBeak() { -// UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1); -// HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); + public void onClick(int position, String str) { +// debugging_str = str; + addPowerStationDialog.dismiss(); + UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1); + if (_mActivity.getString(R.string.simple_debugging).equals(str)) { + HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION_SIMPLE, null); + } else { + HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); + } +// requestPermissions(new OnCallBeak() { +// @Override +// public void onClickCallBeak() { +//// UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1); +//// HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); +// } +// }); } }); + + } }); @@ -139,7 +167,6 @@ @Override public void onClick(View v) { HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, ConstantManage.station_page, PowerStationStatus.All); - } }); //鏁呴殰 @@ -342,15 +369,14 @@ } }); //璁剧疆涓嬫媺绠ご棰滆壊 - viewBinding.srl.setColorSchemeResources(R.color.text_FF245EC3); - viewBinding.srl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - viewBinding.srl.setRefreshing(false); - readDate(); - } - }); - +// viewBinding.rsl.setColorSchemeResources(R.color.text_FF245EC3); +// viewBinding.rsl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { +// @Override +// public void onRefresh() { +// viewBinding.rsl.setRefreshing(false); +// readDate(); +// } +// }); } @@ -466,8 +492,21 @@ viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE); viewBinding.autoSizeMyAAChart.setBackgroundColor(_mActivity.getColor(R.color.text_FF1C1C1E)); setUpAAChartView(true);//鍥捐〃鍔犺浇 + pullToRefresh(); + } + /** + * 涓嬫媺鍒锋柊鐨勯�昏緫 + */ + protected void pullToRefresh() { + viewBinding.rsl.setDelegate(this); + HDLRefreshViewHolder hdlRefreshViewHolder = new HDLRefreshViewHolder(_mActivity, true); + hdlRefreshViewHolder.setPullDownImageResource(R.mipmap.loading_44); + hdlRefreshViewHolder.setChangeToReleaseRefreshAnimResId(R.drawable.loading_refresh); + hdlRefreshViewHolder.setRefreshingAnimResId(R.drawable.loading_refresh_end); + viewBinding.rsl.setRefreshViewHolder(hdlRefreshViewHolder); + } @Override public void chartViewDidFinishLoad(AAChartView aaChartView) { @@ -501,7 +540,7 @@ * 鐢电珯鐘舵�佹瑙� */ private void getStatusOverview() { - HdlResidenceLogic.getInstance().getStatusOverview("","","",new CloudCallBeak<StatusOverviewBean>() { + HdlResidenceLogic.getInstance().getStatusOverview("", "", "", new CloudCallBeak<StatusOverviewBean>() { @Override public void onSuccess(StatusOverviewBean statusOverviewBean) { if (statusOverviewBean == null) { @@ -535,10 +574,11 @@ if (dataOverBean == null) { return; } - String capacityValue = HdlCommonLogic.divideByOneThousandAndFormat(dataOverBean.getInstalledCapacity()).toString(); + String capacityValue = HdlCommonLogic.convertDoubleValue(dataOverBean.getInstalledCapacity(), UnitType.kWp); viewBinding.infoRl1Text1Tv.setText(capacityValue); viewBinding.kwpUnit.setText(HdlCommonLogic.convertKWPUnit(dataOverBean.getInstalledCapacity())); - viewBinding.infoRl1Text3Tv.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getPower())); + viewBinding.infoRl1Text3Tv.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getPower(), UnitType.kW)); + viewBinding.kwUnit.setText(HdlCommonLogic.convertKWUnit(dataOverBean.getPower())); // String str = dataOverBean.getPowerRatio() + "%"; // int startIndex = str.lastIndexOf("%"); @@ -567,14 +607,14 @@ } catch (Exception ignored) { } - viewBinding.day.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getTodayElectricity())); - viewBinding.dayUnit.setText(HdlCommonLogic.convertUnit(dataOverBean.getTodayElectricity(), UnitType.kWh)); - viewBinding.month.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getMonthElectricity())); - viewBinding.monthUnit.setText(HdlCommonLogic.convertUnit(dataOverBean.getMonthElectricity(), UnitType.kWh)); - viewBinding.year.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getYearElectricity())); - viewBinding.yearUnit.setText(HdlCommonLogic.convertUnit(dataOverBean.getYearElectricity(), UnitType.kWh)); - viewBinding.Total.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getTotalElectricity())); - viewBinding.TotalUnit.setText(HdlCommonLogic.convertUnit(dataOverBean.getTotalElectricity(), UnitType.kWh)); + viewBinding.day.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getTodayElectricity(), UnitType.kWh)); + viewBinding.dayUnit.setText(HdlCommonLogic.convertKWHUnit(dataOverBean.getTodayElectricity())); + viewBinding.month.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getMonthElectricity(), UnitType.kWh)); + viewBinding.monthUnit.setText(HdlCommonLogic.convertKWHUnit(dataOverBean.getMonthElectricity())); + viewBinding.year.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getYearElectricity(), UnitType.kWh)); + viewBinding.yearUnit.setText(HdlCommonLogic.convertKWHUnit(dataOverBean.getYearElectricity())); + viewBinding.Total.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getTotalElectricity(), UnitType.kWh)); + viewBinding.TotalUnit.setText(HdlCommonLogic.convertKWHUnit(dataOverBean.getTotalElectricity())); } }); @@ -598,17 +638,28 @@ HdlThreadLogic.runMainThread(new Runnable() { @Override public void run() { - if (list == null || list.size() == 0) { + if (list == null || list.isEmpty()) { return; } String[] keys = new String[list.size()]; Object[] values = new Object[list.size()]; for (int i = 0; i < list.size(); i++) { - keys[i] = list.get(i).getFieldName(); + StatisticsBean statisticsBean = list.get(i); + keys[i] = statisticsBean.getFieldName(); if (TimeType.day.equals(timeType)) { - values[i] = HdlCommonLogic.convertBigDecimal(list.get(i).getFieldValue(), 1000);// HdlCommonLogic.getBigDecimal(list.get(i).getFieldValue()).intValue();//鑾峰彇鏁存暟閮ㄥ垎 + if (statisticsBean.isFuture()) { + //鏈潵鏃堕棿涓嶆樉绀� + values[i] = null; + } else { + values[i] = HdlCommonLogic.convertBigDecimal(statisticsBean.getFieldValue(), 1000);// HdlCommonLogic.getBigDecimal(list.get(i).getFieldValue()).intValue();//鑾峰彇鏁存暟閮ㄥ垎 + } } else { - values[i] = HdlCommonLogic.getBigDecimal(list.get(i).getFieldValue()); + if (statisticsBean.isFuture()) { + //鏈潵鏃堕棿涓嶆樉绀� + values[i] = null; + } else { + values[i] = HdlCommonLogic.getBigDecimal(statisticsBean.getFieldValue()); + } } } fieldNames = keys; @@ -658,7 +709,11 @@ switch (permissions[i]) { case Manifest.permission.ACCESS_FINE_LOCATION: { UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1); - HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); + if (_mActivity.getString(R.string.simple_debugging).equals(debugging_str)) { + HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION_SIMPLE, null); + } else { + HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); + } locationUpdates(); } break; @@ -681,10 +736,16 @@ if (ary.length > 0) { this.requestPermissions(ary, PermissionUtils.STATUS_SUCCESS); } else { - + //UserConfigManage.getInstance().setCurrentAppLanguage(itemData.getLanguage()); + //UserConfigManage.getInstance().Save(); UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1); - HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); + if (_mActivity.getString(R.string.simple_debugging).equals(debugging_str)) { + HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION_SIMPLE, null); + } else { + HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); + } locationUpdates(); + } // if (onCallBeak != null) { // onCallBeak.onClickCallBeak(); @@ -726,4 +787,49 @@ } } + + @Override + public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) { + new AsyncTask<Void, Void, Void>() { + + @Override + protected Void doInBackground(Void... params) { + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + return null; + } + + @Override + protected void onPostExecute(Void aVoid) { + viewBinding.rsl.endRefreshing(); + //鍔犺浇鏈�鏂版暟鎹畬鎴� + readDate(); + } + }.execute(); + } + + @Override + public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) { + new AsyncTask<Void, Void, Void>() { + + @Override + protected Void doInBackground(Void... params) { + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + return null; + } + + @Override + protected void onPostExecute(Void aVoid) { + viewBinding.rsl.endLoadingMore(); + } + }.execute(); + return true; + } } -- Gitblit v1.8.0