HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/bean/gateway/GatewayBean.java
@@ -15,12 +15,11 @@ public class GatewayBean implements Serializable { /** * true-在线 * false-离线 */ private boolean online=true; private boolean online = true; /** * 网关型号 */ @@ -88,8 +87,14 @@ */ private String src; private String systemStatusDesc;//云端-状态 private String hwVersion;//云端-软件版本号 private String categorySecondName;//云端-设备类型(产品二级分类名称) public String getSrc() { return src==null?"":this.src; return src == null ? "" : this.src; } public void setSrc(String src) { @@ -119,25 +124,28 @@ public void setOnline(boolean online) { this.online = online; } /** * 网关型号 */ public String getDevice_model() { return device_model == null ? "" : device_model; } /** * 网关型号 */ public void setDevice_model(String device_model) { this.device_model = device_model; } /** * 网关备注 */ public String getDevice_name() { if(TextUtils.isEmpty(device_name)){ if (TextUtils.isEmpty(device_name)) { return getDevice_model(); }else { } else { } return device_name; @@ -155,7 +163,8 @@ public void setTemplateSettingFlag(boolean templateSettingFlag) { this.templateSettingFlag = templateSettingFlag; } private String templateAddr ; private String templateAddr; public String getTemplateAddr() { return templateAddr == null ? "" : templateAddr; @@ -164,7 +173,6 @@ public void setTemplateAddr(String templateAddr) { this.templateAddr = templateAddr; } /** @@ -176,6 +184,7 @@ /** * 网关Mac * * @return */ @NonNull @@ -189,6 +198,7 @@ public void setDevice_mac(String device_mac) { this.device_mac = device_mac; } /** * 网关Id */ @@ -203,6 +213,7 @@ public void setGatewayId(String gatewayId) { this.gatewayId = gatewayId; } /** * 网关类型 */ @@ -226,6 +237,7 @@ public void setGateway_type(String gateway_type) { this.gateway_type = gateway_type; } /** * 网关Oid */ @@ -240,6 +252,7 @@ public void setOid(String oid) { this.oid = oid; } /** * IP地址 */ @@ -254,6 +267,7 @@ public void setIp_address(String ip_address) { this.ip_address = ip_address; } /** * 连接的网关类型 LAN WIFI */ @@ -268,6 +282,7 @@ public void setAccess_mode(String access_mode) { this.access_mode = access_mode; } /** * 是否主网关 true false */ @@ -281,18 +296,21 @@ public void setMaster(String master) { this.master = master; } /** * 是否加密 */ public boolean getIsLocalEncrypt() { return isLocalEncrypt; } /** * 是否加密 */ public void setIsLocalEncrypt(boolean localEncrypt) { isLocalEncrypt = localEncrypt; } /** * 获取住宅Id */ @@ -310,23 +328,27 @@ /** * 获取毫米波sid * * @return sid */ public String getSid() { return sid==null?"":this.sid; return sid == null ? "" : this.sid; } /** * 设置毫米波sid */ public void setSid(String sid) { this.sid = sid; } /** * 是否本地网关 true false */ public void setIsLocalGateWay(boolean isLocalGateWay) { this.isLocalGateWay = isLocalGateWay; } /** * 获取网关是否本地网关 */ @@ -336,9 +358,10 @@ /* * 模板标记 wxr * */ * 模板标记 wxr * */ private boolean templateFlag = false; public boolean isLocalEncrypt() { return isLocalEncrypt; } @@ -346,4 +369,29 @@ public void setLocalEncrypt(boolean localEncrypt) { isLocalEncrypt = localEncrypt; } public String getSystemStatusDesc() { return systemStatusDesc == null ? "" : systemStatusDesc; } public void setSystemStatusDesc(String systemStatusDesc) { this.systemStatusDesc = systemStatusDesc; } public String getHwVersion() { return hwVersion == null ? "" : hwVersion; } public void setHwVersion(String hwVersion) { this.hwVersion = hwVersion; } public String getCategorySecondName() { return categorySecondName == null ? "" : categorySecondName; } public void setCategorySecondName(String categorySecondName) { this.categorySecondName = categorySecondName; } } app/src/main/AndroidManifest.xml
@@ -77,6 +77,9 @@ android:supportsRtl="true" android:theme="@style/Theme.PhotovoltaicDebug"> <activity android:name=".ui.me.SetActivity" android:exported="false" /> <activity android:name=".ui.account.ChangePassword" android:exported="false" /> <activity app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -38,7 +38,6 @@ import java.util.ArrayList; import java.util.List; import io.reactivex.rxjava3.disposables.Disposable; /** * 设备逻辑 @@ -110,6 +109,31 @@ public void onSuccess(String str) { if (cloudCallBeak != null) { cloudCallBeak.onSuccess(true); //临时的逻辑,上传oid列表到云端 getGatewayOidList(mac, new LinkCallBack<List<OidBean>>() { @Override public void onSuccess(List<OidBean> obj) { if (obj == null) { return; } fullUpdateOid(obj, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { } @Override public void onFailure(HDLException e) { } }); } @Override public void onError(HDLLinkException e) { } }); } } @@ -237,7 +261,7 @@ * @param cloudCallBeak 回调update */ public void fullUpdateOid(List<OidBean> oidList, CloudCallBeak<Boolean> cloudCallBeak) { String requestUrl = HttpApi.POST_Device_ChildDevices_List; String requestUrl = HttpApi.POST_Device_Oid; JsonObject json = new JsonObject(); json.addProperty("operationSource", "PROGRAM_ENERGY");// json.addProperty("homeId", UserConfigManage.getInstance().getHomeId()); @@ -558,6 +582,11 @@ gatewayBean.setHomeId(UserConfigManage.getInstance().getHomeId()); gatewayBean.setLocalEncrypt(true); gatewayBean.setMaster("true"); gatewayBean.setSystemStatusDesc(cloudInverterDeviceBean.getSystemStatusDesc()); gatewayBean.setHwVersion(cloudInverterDeviceBean.getHwVersion()); gatewayBean.setCategorySecondName(cloudInverterDeviceBean.getCategorySecondName()); gatewayBean.setDeviceId(cloudInverterDeviceBean.getDeviceId()); //添加网关 HDLLinkLocalGateway.getInstance().getGatewayList().add(gatewayBean); } app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -6,9 +6,6 @@ import android.Manifest; import android.content.pm.PackageManager; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; import android.view.MotionEvent; import android.view.View; import com.google.gson.Gson; @@ -21,10 +18,7 @@ import com.hdl.photovoltaic.utils.PermissionUtils; import com.hdl.sdk.link.HDLLinkLocalSdk; import com.hdl.sdk.link.common.event.EventListener; import com.hdl.sdk.link.core.bean.LinkResponse; import com.hdl.sdk.link.core.bean.ModbusResponse; import java.nio.charset.StandardCharsets; /** * 我的电站界面 @@ -90,9 +84,9 @@ } private void initView() { viewBinding.myPowerStationBottomIl1.titleTv.setText(R.string.my_power_station_电站); viewBinding.myPowerStationBottomIl1.titleTv.setText(R.string.my_power_station_title); viewBinding.myMessageBottomIl2.titleTv.setText(R.string.message_消息); viewBinding.myMeBottomIl3.titleTv.setText(R.string.my_power_station_我的); viewBinding.myMeBottomIl3.titleTv.setText(R.string.my_power_station_me); this.bottomViewChangeOfStyle(); } app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java
@@ -24,11 +24,41 @@ private String osn;//设备sn(mac) private String powerPvNow;//发电功率 private String totalElectricityPvToday;//今日发电量 private String systemStatusDesc;//状态 private String inv;//inv状态 private int deviceStatus;//1:待机,2:连接中,3:故障,4:运行,5:离线 private String addresses; private Map<String, String> status; private String hwVersion;//软件版本号 private String categorySecondName;//设备类型(产品二级分类名称) public String getSystemStatusDesc() { return systemStatusDesc== null ? "" :systemStatusDesc; } public void setSystemStatusDesc(String systemStatusDesc) { this.systemStatusDesc = systemStatusDesc; } public String getHwVersion() { return hwVersion== null ? "" :hwVersion; } public void setHwVersion(String hwVersion) { this.hwVersion = hwVersion; } public String getCategorySecondName() { return categorySecondName== null ? "" :categorySecondName; } public void setCategorySecondName(String categorySecondName) { this.categorySecondName = categorySecondName; } public String getGatewayId() { return gatewayId == null ? "" : gatewayId; } app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java
@@ -1,14 +1,16 @@ package com.hdl.photovoltaic.ui.me; import android.content.Intent; import android.os.Bundle; import android.view.View; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseFragment; import com.hdl.photovoltaic.databinding.FragmentMeBinding; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; /** * 个人中心界面 */ public class MeFragment extends CustomBaseFragment { private FragmentMeBinding viewBinding; @@ -20,15 +22,46 @@ @Override public void onBindView(Bundle savedInstanceState) { viewBinding.toolbarTopFragmentMeRl.topTitleTv.setText(R.string.my_power_station_我的); //初始化 initView(); //初始化界面监听器 initEvent(); //初始化数据 initData(); } private void initData() { } private void initEvent() { viewBinding.fragmentMeLineSetIl.fragmentMeLineRightIconClickIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(); intent.setClass(_mActivity,SetActivity.class); startActivity(intent); } }); } private void initView() { viewBinding.toolbarTopFragmentMeRl.topTitleTv.setText(R.string.my_power_station_me); viewBinding.toolbarTopFragmentMeRl.topMoreIv.setVisibility(View.VISIBLE); viewBinding.toolbarTopFragmentMeRl.topMoreIv.setImageResource(R.drawable.message); viewBinding.fragmentMeLineSetIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.set); viewBinding.fragmentMeLineSetIl.fragmentMeLineTitleIv.setText(R.string.me_设置); viewBinding.fragmentMeLineSetIl.fragmentMeLineTitleIv.setText(R.string.me_set); viewBinding.fragmentMeLineSetIl.fragmentMeLineV.setVisibility(View.VISIBLE); viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.asregards); viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineTitleIv.setText(R.string.me_关于); } } app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java
New file @@ -0,0 +1,42 @@ package com.hdl.photovoltaic.ui.me; import android.os.Bundle; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.databinding.ActivitySetBinding; /** * 设置界面 */ public class SetActivity extends CustomBaseActivity { private ActivitySetBinding viewBinding; @Override public Object getContentView() { viewBinding = ActivitySetBinding.inflate(getLayoutInflater()); return viewBinding.getRoot(); } @Override public void onBindView(Bundle savedInstanceState) { //初始化 initView(); //初始化界面监听器 initEvent(); } private void initEvent() { } private void initView() { viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.me_set); viewBinding.toolbarTopFragmentHouseListRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF); } } app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -35,6 +35,9 @@ import java.util.ArrayList; import java.util.List; /** * 电站列表界面 */ public class HouseListFragment extends CustomBaseFragment { public static final String SORT_TYPE_1 = "powerSort";//发电功率排序 app/src/main/res/layout/activity_set.xml
New file @@ -0,0 +1,90 @@ <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".ui.me.SetActivity"> <include android:id="@+id/toolbar_top_fragment_house_list_rl" layout="@layout/toolbar_top_view_52" /> <ScrollView android:id="@+id/set_sll" android:layout_width="match_parent" android:layout_height="0dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/toolbar_top_fragment_house_list_rl"> <LinearLayout android:id="@+id/sll_ll" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/text_FFFFFFFF" android:orientation="vertical"> <include android:id="@+id/set_account_il" layout="@layout/set_title_line" /> <include android:id="@+id/set_nickname_il" layout="@layout/set_line" /> <include android:id="@+id/set_change_password_il" layout="@layout/set_line" /> <include android:id="@+id/set_close_account_il" layout="@layout/set_line" /> <include android:id="@+id/set_mes_il" layout="@layout/set_title_line" /> <include android:id="@+id/set_push_msg_il" layout="@layout/set_line" /> <include android:id="@+id/set_call_msg_il" layout="@layout/set_line" /> <include android:id="@+id/set_general_msg_il" layout="@layout/set_title_line" /> <include android:id="@+id/set_multi_language_il" layout="@layout/set_line" /> <include android:id="@+id/set_data_center_il" layout="@layout/set_line" /> <include android:id="@+id/set_privacy_il" layout="@layout/set_title_line" /> <include android:id="@+id/set_system_authorization_il" layout="@layout/set_line" /> <include android:id="@+id/set_share_il" layout="@layout/set_line" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="@dimen/dp_100" /> </LinearLayout> </ScrollView> </androidx.constraintlayout.widget.ConstraintLayout> app/src/main/res/layout/fragment_me.xml
@@ -46,7 +46,6 @@ layout="@layout/fragment_me_line" android:layout_width="match_parent" android:layout_height="@dimen/dp_64" android:layout_marginTop="@dimen/dp_12" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/fragment_me_line_set_il" /> app/src/main/res/layout/fragment_me_line.xml
@@ -29,9 +29,9 @@ android:layout_width="wrap_content" android:layout_height="@dimen/dp_23" android:layout_marginStart="@dimen/dp_7" android:text="@string/me_设置" android:text="@string/me_set" android:textColor="@color/text_90000000" android:textSize="@dimen/dp_16" android:textSize="@dimen/text_16" app:layout_constraintBottom_toBottomOf="@id/fragment_me_line_left_icon_iv" app:layout_constraintStart_toEndOf="@+id/fragment_me_line_left_icon_iv" app:layout_constraintTop_toTopOf="@id/fragment_me_line_left_icon_iv" /> @@ -45,15 +45,24 @@ app:layout_constraintBottom_toBottomOf="@id/fragment_me_line_left_icon_iv" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@id/fragment_me_line_left_icon_iv" /> <!--隐藏线条--> <!-- <View--> <!-- android:id="@+id/fragment_me_line_v"--> <!-- android:layout_width="0dp"--> <!-- android:layout_height="1dp"--> <!-- android:background="@color/text_E1E1E1"--> <!-- app:layout_constraintBottom_toBottomOf="parent"--> <!-- app:layout_constraintEnd_toEndOf="parent"--> <!-- app:layout_constraintStart_toStartOf="parent" />--> <!--加大点击热区--> <TextView android:id="@+id/fragment_me_line_right_icon_click_iv" android:layout_width="@dimen/dp_80" android:layout_height="match_parent" app:layout_constraintBottom_toBottomOf="@id/fragment_me_line_left_icon_iv" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@id/fragment_me_line_left_icon_iv" /> <!-- 隐藏线条--> <View android:id="@+id/fragment_me_line_v" android:layout_width="0dp" android:layout_height="0.5dp" android:background="@color/text_E1E1E1" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> app/src/main/res/layout/frgment_house_list_line.xml
@@ -30,7 +30,7 @@ android:layout_marginTop="@dimen/dp_28" android:layout_toEndOf="@+id/fragment_house_list_line_left_iv" android:gravity="center_vertical" android:text="@string/my_power_station_电站" android:text="@string/my_power_station_title" android:textColor="@color/text_90000000" android:textSize="@dimen/text_16" /> app/src/main/res/layout/set_line.xml
New file @@ -0,0 +1,48 @@ <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:id="@+id/sll_ll_name_rl" android:layout_width="match_parent" android:layout_height="@dimen/dp_57" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <TextView android:id="@+id/sll_ll_rl_name_tv" android:layout_width="wrap_content" android:layout_height="@dimen/dp_21" android:layout_centerVertical="true" android:layout_marginStart="@dimen/dp_16" android:text="@string/set_nickname" android:textColor="@color/text_030D1C" android:textSize="@dimen/text_15" /> <ImageView android:id="@+id/sll_ll_rl_right_icon_iv" android:layout_width="@dimen/dp_16" android:layout_height="@dimen/dp_16" android:layout_alignParentEnd="true" android:layout_centerVertical="true" android:layout_marginEnd="@dimen/dp_13" android:src="@drawable/next" /> <View android:id="@+id/line_v" android:layout_width="match_parent" android:layout_height="0.5dp" android:layout_alignParentBottom="true" android:background="@color/text_E1E1E1" android:visibility="gone" /> </RelativeLayout> </androidx.constraintlayout.widget.ConstraintLayout> app/src/main/res/layout/set_title_line.xml
New file @@ -0,0 +1,30 @@ <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:id="@+id/sll_ll_rl" android:layout_width="match_parent" android:layout_height="@dimen/dp_47" android:background="@color/text_F5F7FA" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <TextView android:id="@+id/sll_ll_rl_title_tv" android:layout_width="wrap_content" android:layout_height="@dimen/dp_19" android:layout_marginStart="@dimen/dp_16" android:layout_marginTop="@dimen/dp_20" android:text="@string/set_account" android:textColor="@color/text_7C8590" android:textSize="@dimen/text_13" /> </RelativeLayout> </androidx.constraintlayout.widget.ConstraintLayout> app/src/main/res/values/colors.xml
@@ -34,5 +34,7 @@ <color name="text_636363">#636363</color> <color name="text_7C8590">#7C8590</color> <color name="text_030D1C">#030D1C</color> <color name="text_F5F7FA">#F5F7FA</color> </resources> app/src/main/res/values/strings.xml
@@ -53,8 +53,8 @@ <!--我的电站--> <string name="my_power_station_电站">电站</string> <string name="my_power_station_我的">我的</string> <string name="my_power_station_title">电站</string> <string name="my_power_station_me">我的</string> <string name="my_power_station_我的电站">我的电站</string> <string name="my_power_station_发电功率">发电功率</string> <string name="my_power_station_今日发电">今日发电</string> @@ -73,9 +73,22 @@ <string name="message_消息">消息</string> <!--我的--> <string name="me_我的">我的</string> <string name="me_设置">设置</string> <string name="me">我的</string> <string name="me_set">设置</string> <string name="me_关于">关于</string> <string name="set_account">账号安全</string> <string name="set_nickname">昵称</string> <string name="set_注销账号">注销账号</string> <string name="set_消息设置">消息设置</string> <string name="set_推送消息">推送消息</string> <string name="set_报警消息">报警消息</string> <string name="set_通用设置">通用设置</string> <string name="set_多语言">多语言</string> <string name="set_数据中心">数据中心</string> <string name="set_系统权限管理">系统权限管理</string> <string name="set_第三方信息共享清单">第三方信息共享清单</string> <string name="set_退出登录">退出登录</string> <!--uin--> <string name="uni_open_error">页面初始化中 请等待5秒再点击</string>