From 77688e52fdc2761f17ce24be9704ee25bff2194d Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期三, 04 十二月 2024 13:55:21 +0800 Subject: [PATCH] Merge branch '1.5.0' of http://172.16.1.23:6688/r/~wjc/HDLPhotovoltaicDebugAPP into 1.5.0 --- app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java | 198 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 137 insertions(+), 61 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 ad73e1b..28f214f 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,6 +29,7 @@ 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; @@ -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; @@ -115,32 +129,32 @@ }); //鍏ㄩ儴 - viewBinding.homeAllIl.parentLl.setOnClickListener(new View.OnClickListener() { + viewBinding.homeAllIl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - HdlCommonLogic.getInstance().postEventBus(ConstantManage.station_status, PowerStationStatus.All); + HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch, ConstantManage.station_page, PowerStationStatus.All); } }); //鏁呴殰 - viewBinding.homeFaultsIl.parentLl.setOnClickListener(new View.OnClickListener() { + viewBinding.homeFaultsIl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - HdlCommonLogic.getInstance().postEventBus(ConstantManage.station_status, PowerStationStatus.malfunction); + HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch, ConstantManage.station_page, PowerStationStatus.malfunction); } }); //绂荤嚎 - viewBinding.homeOfflineIl.parentLl.setOnClickListener(new View.OnClickListener() { + viewBinding.homeOfflineIl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - HdlCommonLogic.getInstance().postEventBus(ConstantManage.station_status, PowerStationStatus.off); + HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch, ConstantManage.station_page, PowerStationStatus.off); } }); //寰呮帴鍏� - viewBinding.homeConnectedIl.parentLl.setOnClickListener(new View.OnClickListener() { + viewBinding.homeConnectedIl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - HdlCommonLogic.getInstance().postEventBus(ConstantManage.station_status, PowerStationStatus.connecting); + HdlCommonLogic.getInstance().postEventBus(ConstantManage.homepage_title_tab_switch, ConstantManage.station_page, PowerStationStatus.connecting); } }); //鏃堕棿閫夋嫨鍣� @@ -163,16 +177,16 @@ 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); @@ -197,16 +211,16 @@ 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); @@ -231,16 +245,16 @@ 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); @@ -263,16 +277,16 @@ 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); @@ -336,6 +350,7 @@ * 鏃堕棿閫夋嫨鍣� */ private void selectedTimePickerBuilder() { + String currDate = viewBinding.yearMonthDayTv.getText().toString(); //鏃堕棿閫夋嫨鍣� Calendar selectedDate = TimeUtils.stringToCalendar(currDate, TimeUtils.getTimeDateFormat(timeType)); @@ -392,7 +407,7 @@ /** * 鍥捐〃鍔犺浇 */ - private void setUpAAChartView() { + private void setUpAAChartView(boolean needDelay) { aaChartView = viewBinding.autoSizeMyAAChart; aaChartView.callBack = this; if (TimeType.day.equals(timeType)) { @@ -400,47 +415,82 @@ } 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); + + if(needDelay) { + viewBinding.autoSizeMyAAChart.setX(10000);//鐩存帴鎵撳紑鏈夐棯灞忥紝鍦ㄤ笉鏄剧ず鐨勫湴鏂瑰厛鏄剧ず锛屽啀绉诲姩鍒版甯哥殑浣嶇疆銆俆ODO 鍚庣画鎵惧埌鏍规簮闂鍚庡幓鎺夎繖涓敤娉� + aaChartView.aa_drawChartWithChartOptions(aaChartModel.aa_toAAOptions()); + mHandler.sendEmptyMessageDelayed(100,800); + } + else{ + aaChartView.aa_drawChartWithChartOptions(aaChartModel.aa_toAAOptions()); + } + } + + FHandler mHandler=new FHandler(this); + + private static class FHandler extends Handler{ + //瀹氫箟寮卞紩鐢ㄥ疄渚� + private WeakReference<HomePageFragment> reference; + + //鍦ㄦ瀯閫犳柟娉曚腑浼犲叆闇�瑕佹寔鏈夌殑fragment瀹炰緥 + public FHandler(HomePageFragment fragment) { + reference = new WeakReference<HomePageFragment>(fragment); } + + //閫氳繃澶嶅啓handlerMessage()浠庤�屽喅瀹氬浣曡繘琛屾洿鏂癠I鎿嶄綔 + @Override + public void handleMessage(Message msg) { + //鐪佺暐浠g爜 + + switch (msg.what){ + case 100: + if(reference.get()!=null) { + reference.get().viewBinding.autoSizeMyAAChart.setX(0);//绉诲姩鍒版纭殑浣嶇疆 + } + break; + } + } + } + + @Override + public void onDestroy() { + super.onDestroy(); + mHandler.removeCallbacksAndMessages(null); } 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();//鍥捐〃鍔犺浇 + setUpAAChartView(true);//鍥捐〃鍔犺浇 } @@ -467,7 +517,6 @@ // 鍙栨秷绮樻�т簨浠� EventBus.getDefault().removeStickyEvent(eventBus); HdlLogLogic.print("姝e湪鐐瑰嚮銆愰椤点��"); - } } } @@ -483,10 +532,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.stationOfflineTitleTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getOffline())); + viewBinding.stationConnectedTotalTv.setText(HdlCommonLogic.convertString(statusOverviewBean.getConnecting())); } @Override @@ -512,13 +561,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())); + } }); } @@ -556,7 +632,7 @@ } fieldNames = keys; fieldValues = values; - setUpAAChartView(); + setUpAAChartView(false); } }); @@ -592,4 +668,4 @@ } -} \ No newline at end of file +} -- Gitblit v1.8.0