From f21dcea3e5f6fc7bfc51b3ddc6ff9764fb93bfdb Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期三, 11 十二月 2024 11:25:37 +0800
Subject: [PATCH] 2024年12月11日11:25:28
---
app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java | 206 ++++++++++++++++++++++++++++++++++++---------------
1 files changed, 144 insertions(+), 62 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 8d64c1b..4afa1d3 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
@@ -4,10 +4,21 @@
import static com.hdl.photovoltaic.ui.home.aachart.CustomStyleChartComposer.configureColorfulColumnChart;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.os.SystemClock;
+import android.text.SpannableString;
+import android.text.Spanned;
import android.text.TextUtils;
+import android.text.style.AbsoluteSizeSpan;
+import android.text.style.ClickableSpan;
+import android.text.style.ForegroundColorSpan;
+import android.text.style.StyleSpan;
import android.view.View;
+import android.view.ViewGroup;
+import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
@@ -18,12 +29,13 @@
import com.github.AAChartModel.AAChartCore.AAChartCreator.AAChartView;
import com.github.AAChartModel.AAChartCore.AAChartCreator.AAMoveOverEventMessageModel;
import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseFragment;
import com.hdl.photovoltaic.config.ConstantManage;
-import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.FragmentHomePageBinding;
import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
+import com.hdl.photovoltaic.enums.PowerStationStatus;
import com.hdl.photovoltaic.enums.TimeType;
import com.hdl.photovoltaic.enums.UnitType;
import com.hdl.photovoltaic.listener.CloudCallBeak;
@@ -41,12 +53,14 @@
import com.hdl.photovoltaic.ui.home.aachart.BasicChartComposer;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.utils.TimeUtils;
+import com.hdl.photovoltaic.utils.UnitConversionUtils;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
+import java.lang.ref.WeakReference;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
@@ -80,7 +94,6 @@
@Override
public void onBindView(Bundle savedInstanceState) {
-
//鍒濆鍖�
initView();
//鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -114,6 +127,36 @@
HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
}
});
+
+ //鍏ㄩ儴
+ viewBinding.homeAllIl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch, ConstantManage.station_page, PowerStationStatus.All);
+
+ }
+ });
+ //鏁呴殰
+ viewBinding.homeFaultsIl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch, ConstantManage.station_page, PowerStationStatus.malfunction);
+ }
+ });
+ //绂荤嚎
+ viewBinding.homeOfflineIl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch, ConstantManage.station_page, PowerStationStatus.off);
+ }
+ });
+ //寰呮帴鍏�
+ viewBinding.homeConnectedIl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch, ConstantManage.station_page, PowerStationStatus.connecting);
+ }
+ });
//鏃堕棿閫夋嫨鍣�
viewBinding.yearMonthDayTv.setOnClickListener(new View.OnClickListener() {
@Override
@@ -131,18 +174,19 @@
return;
}
timeType = TimeType.day;
-
+ viewBinding.unitTv.setText(UnitType.kW);
+ viewBinding.unitTextTv.setText(getString(R.string.pv_power));
viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494));
- viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_38C494));
+ viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF));
viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.v1.setVisibility(View.GONE);
viewBinding.v2.setVisibility(View.VISIBLE);
@@ -164,17 +208,19 @@
return;
}
timeType = TimeType.month;
+ viewBinding.unitTv.setText(UnitType.kWh);
+ viewBinding.unitTextTv.setText(getString(R.string.generation));
viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494));
- viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_38C494));
+ viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF));
viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.v1.setVisibility(View.GONE);
viewBinding.v2.setVisibility(View.GONE);
@@ -196,17 +242,19 @@
return;
}
timeType = TimeType.year;
+ viewBinding.unitTv.setText(UnitType.kWh);
+ viewBinding.unitTextTv.setText(getString(R.string.generation));
viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494));
- viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_38C494));
+ viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF));
viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.v1.setVisibility(View.VISIBLE);
viewBinding.v2.setVisibility(View.GONE);
@@ -226,17 +274,19 @@
return;
}
timeType = TimeType.all;
+ viewBinding.unitTv.setText(UnitType.kWh);
+ viewBinding.unitTextTv.setText(getString(R.string.generation));
viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494));
- viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_38C494));
+ viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF));
viewBinding.v1.setVisibility(View.VISIBLE);
viewBinding.v2.setVisibility(View.VISIBLE);
@@ -257,6 +307,7 @@
String timeDateFormat = TimeUtils.getTimeDateFormat(timeType);
Calendar calendar = TimeUtils.stringToCalendar(currDate, timeDateFormat);
String time = TimeUtils.subtractDayMonthYearFromDate(calendar, 1, timeDateFormat, timeType);
+ //涓嶉渶瑕侀檺鍒舵渶灏忔棩鏈燂紝鍥犱负鏄煡璇㈣处鍙蜂笅鎵�鏈夌數绔欙紝鏃犳硶鐭ラ亾鏈�灏忓缓绔欐棩鏈�
viewBinding.yearMonthDayTv.setText(time);
getStatistics();
@@ -299,6 +350,7 @@
* 鏃堕棿閫夋嫨鍣�
*/
private void selectedTimePickerBuilder() {
+
String currDate = viewBinding.yearMonthDayTv.getText().toString();
//鏃堕棿閫夋嫨鍣�
Calendar selectedDate = TimeUtils.stringToCalendar(currDate, TimeUtils.getTimeDateFormat(timeType));
@@ -355,57 +407,56 @@
/**
* 鍥捐〃鍔犺浇
*/
- private void setUpAAChartView() {
+ private void setUpAAChartView(boolean needDelay) {
aaChartView = viewBinding.autoSizeMyAAChart;
aaChartView.callBack = this;
if (TimeType.day.equals(timeType)) {
aaChartModel = BasicChartComposer.configureAreaChart(getString(R.string.pv_power), fieldNames, fieldValues);
- } else if (TimeType.month.equals(timeType)
- || TimeType.year.equals(timeType)
- || TimeType.all.equals(timeType)) {
- aaChartModel = configureColorfulColumnChart(getString(R.string.pv_power), fieldNames, fieldValues);
+ } else if (TimeType.month.equals(timeType) || TimeType.year.equals(timeType) || TimeType.all.equals(timeType)) {
+ aaChartModel = configureColorfulColumnChart(getString(R.string.generation), fieldNames, fieldValues);
}
- aaChartView.aa_drawChartWithChartModel(aaChartModel);
+ aaChartView.aa_drawChartWithChartOptions(aaChartModel.aa_toAAOptions());
+ }
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
}
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(TimeUtils.getCurrentTimestamp(), TimeUtils.getTimeDateFormat(timeType));
viewBinding.yearMonthDayTv.setText(dataStr);
- String installed_capacity = getString(R.string.installed_capacity) + "(" + UnitType.kWp + ")";
- viewBinding.infoRl1Text2Tv.setText(installed_capacity);
- String generated_power = getString(R.string.generated_power) + "(" + UnitType.kW + ")";
- viewBinding.infoRl1Text4Tv.setText(generated_power);
- String generation = getString(R.string.generation) + "(" + UnitType.kWh + ")";
- viewBinding.homePageStationInfoRl1TitleTv.setText(generation);
+// String installed_capacity = getString(R.string.string_capacity) + "(" + UnitType.kWp + ")";
+// viewBinding.infoRl1Text2Tv.setText(installed_capacity);
+// String generated_power = getString(R.string.generated_power) + "(" + UnitType.kW + ")";
+// viewBinding.infoRl1Text4Tv.setText(generated_power);
+// String generation = getString(R.string.generation) + "/" + UnitType.kWh;
+// viewBinding.homePageStationInfoRl1TitleTv.setText(generation);
- viewBinding.homePageStationInfoRl2DayIc.dataTypeTv.setText(R.string.day_power_generation);
- viewBinding.homePageStationInfoRl2MonIc.dataTypeTv.setText(R.string.month_power_generation);
- viewBinding.homePageStationInfoRl2YearIc.dataTypeTv.setText(R.string.year_power_generation);
- viewBinding.homePageStationInfoRl2CumulativeIc.dataTypeTv.setText(R.string.cumulative_power_generation);
-
+// viewBinding.day.setText(R.string.day_power_generation);
+// viewBinding.month.setText(R.string.month_power_generation);
+// viewBinding.year.setText(R.string.year_power_generation);
+// viewBinding.Total.setText(R.string.cumulative_power_generation);
+//
viewBinding.unitTv.setText(UnitType.kW);
+
+
viewBinding.dayTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.drawable.time_selected_38c494));
- viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_38C494));
+ viewBinding.dayTv.setTextColor(_mActivity.getColor(R.color.text_E6FFFFFF));
viewBinding.monthTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.monthTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.yearTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.yearTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.lifeCycleTv.setBackground(AppCompatResources.getDrawable(_mActivity, R.color.text_00000000));
- viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66000000));
+ viewBinding.lifeCycleTv.setTextColor(_mActivity.getColor(R.color.text_66FFFFFF));
viewBinding.v1.setVisibility(View.GONE);
viewBinding.v2.setVisibility(View.VISIBLE);
viewBinding.v3.setVisibility(View.VISIBLE);
viewBinding.homePageStationSelectTimeLl.setVisibility(View.VISIBLE);
- setUpAAChartView();//鍥捐〃鍔犺浇
+ viewBinding.autoSizeMyAAChart.setBackgroundColor(_mActivity.getColor(R.color.text_FF333738));
+ setUpAAChartView(true);//鍥捐〃鍔犺浇
}
@@ -432,10 +483,10 @@
// 鍙栨秷绮樻�т簨浠�
EventBus.getDefault().removeStickyEvent(eventBus);
HdlLogLogic.print("姝e湪鐐瑰嚮銆愰椤点��");
-
}
}
}
+
/**
* 鐢电珯鐘舵�佹瑙�
@@ -447,10 +498,10 @@
if (statusOverviewBean == null) {
return;
}
- viewBinding.homeAllIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getTotal()));
- viewBinding.homeFaultsIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getFault()));
- viewBinding.homeOfflineIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getOffline()));
- viewBinding.homeConnectedIl.stationTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getConnecting()));
+ viewBinding.stationAllTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getTotal()));
+ viewBinding.stationFaultsTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getFault()));
+ viewBinding.stationOfflineTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getOffline()));
+ viewBinding.stationConnectedTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getConnecting()));
}
@Override
@@ -476,13 +527,40 @@
return;
}
viewBinding.infoRl1Text1Tv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getInstalledCapacity()));
- viewBinding.infoRl1Text3Tv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getPower()));
- viewBinding.infoRl1FText1Tv.setText(dataOverBean.getPowerRatio());
+ viewBinding.infoRl1Text3Tv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getPower(), UnitType.kW, false));
- viewBinding.homePageStationInfoRl2DayIc.dataTv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getTodayElectricity()));
- viewBinding.homePageStationInfoRl2MonIc.dataTv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getMonthElectricity()));
- viewBinding.homePageStationInfoRl2YearIc.dataTv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getYearElectricity()));
- viewBinding.homePageStationInfoRl2CumulativeIc.dataTv.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getTotalElectricity()));
+// String str = dataOverBean.getPowerRatio() + "%";
+// int startIndex = str.lastIndexOf("%");
+// int endIndex = str.lastIndexOf("%") + 1;
+// SpannableString spannableString = new SpannableString(str);
+// //璁剧疆绗竴閮ㄥ垎鏂囧瓧鐨勫瓧浣撳ぇ灏�
+// spannableString.setSpan(new AbsoluteSizeSpan((int) UnitConversionUtils.dpToPx(HDLApp.getInstance(), 12)), startIndex, endIndex, 0);
+// // 鍒涘缓涓�涓狥oregroundColorSpan瀵硅薄锛屽弬鏁版槸棰滆壊鍊�
+// ForegroundColorSpan colorSpan = new ForegroundColorSpan(HDLApp.getInstance().getColor(R.color.text_66FFFFFF));
+// spannableString.setSpan(colorSpan, startIndex, endIndex, 0);
+// viewBinding.infoRl1FText1Tv.setText(spannableString);
+ viewBinding.infoRl1FText1Tv.setText(dataOverBean.getPowerRatio());
+ try {
+ int progress = 0;
+ if (!TextUtils.isEmpty(dataOverBean.getPowerRatio())) {
+ progress = (int) Double.parseDouble(dataOverBean.getPowerRatio());
+ if (progress > 100) {
+ progress = 100;
+ }
+ if (progress < 0) {
+ progress = 0;
+ }
+ viewBinding.progressBar.setProgress(progress);
+ }
+
+ } catch (Exception ignored) {
+ }
+
+ viewBinding.day.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getTodayElectricity()));
+ viewBinding.month.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getMonthElectricity()));
+ viewBinding.year.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getYearElectricity()));
+ viewBinding.Total.setText(HdlCommonLogic.getConvertDoubleUnit(dataOverBean.getTotalElectricity()));
+
}
});
}
@@ -512,11 +590,15 @@
Object[] values = new Object[list.size()];
for (int i = 0; i < list.size(); i++) {
keys[i] = list.get(i).getFieldName();
- values[i] = HdlCommonLogic.getBigDecimal(list.get(i).getFieldValue()).intValue();//鑾峰彇鏁存暟閮ㄥ垎
+ if (TimeType.day.equals(timeType)) {
+ values[i] = HdlCommonLogic.divideByOneThousandAndFormat(list.get(i).getFieldValue());// HdlCommonLogic.getBigDecimal(list.get(i).getFieldValue()).intValue();//鑾峰彇鏁存暟閮ㄥ垎
+ } else {
+ values[i] = HdlCommonLogic.getBigDecimal(list.get(i).getFieldValue());
+ }
}
fieldNames = keys;
fieldValues = values;
- setUpAAChartView();
+ setUpAAChartView(false);
}
});
@@ -541,7 +623,7 @@
}
viewBinding.socialContributionData1Tv.setText(HdlCommonLogic.convertString(HdlCommonLogic.getBigDecimal(socialContributionBean.getCoal())));
viewBinding.socialContributionData2Tv.setText(HdlCommonLogic.convertString(HdlCommonLogic.getBigDecimal(socialContributionBean.getCo2())));
- viewBinding.socialContributionData3Tv.setText(HdlCommonLogic.convertString(HdlCommonLogic.getBigDecimal(socialContributionBean.getTreePlanting())));
+ viewBinding.socialContributionData3Tv.setText(HdlCommonLogic.convertString(socialContributionBean.getTreePlanting()));
}
@Override
@@ -552,4 +634,4 @@
}
-}
\ No newline at end of file
+}
--
Gitblit v1.8.0