app/build.gradle
@@ -84,7 +84,7 @@ buildTypes { release { minifyEnabled false minifyEnabled false //开启混淆 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } app/src/main/AndroidManifest.xml
@@ -77,6 +77,12 @@ android:supportsRtl="true" android:theme="@style/Theme.PhotovoltaicDebug"> <activity android:name=".ui.newC.MessageCenterList" android:exported="false" /> <activity android:name=".ui.newC.PowerStationsListEdit" android:exported="false" /> <activity android:name=".ui.CPowerStationActivity" android:exported="false" /> <activity app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
@@ -79,16 +79,18 @@ @Override public void run() { holder.item_parent_swipeLayout.open(); // holder.item_parent_swipeLayout.open(false, false); } }, 200); }, 50); } else { holder.item_parent_swipeLayout.postDelayed(new Runnable() { @Override public void run() { holder.item_parent_swipeLayout.close(); // holder.item_parent_swipeLayout.close(false, false); } }, 200); }, 50); } HdlLogLogic.print("电站名称--->" + houseIdBean.getHomeName() + "--->" + houseIdBean.isEdit() + "--->" + holder.item_parent_swipeLayout.toString()); app/src/main/java/com/hdl/photovoltaic/ui/newC/MessageCenterList.java
New file @@ -0,0 +1,303 @@ package com.hdl.photovoltaic.ui.newC; import android.annotation.SuppressLint; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.TextView; import androidx.recyclerview.widget.LinearLayoutManager; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.databinding.ActivityMessageCenterListBinding; import com.hdl.photovoltaic.enums.MessageStateType; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlCommonLogic; import com.hdl.photovoltaic.other.HdlMessageLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.ui.bean.MessageBean; import com.hdl.photovoltaic.ui.newC.adapter.MessageCenterListAdapter; import java.util.ArrayList; import java.util.List; /** * C端消息中心列表 */ public class MessageCenterList extends CustomBaseActivity { private ActivityMessageCenterListBinding viewBinding; private MessageCenterListAdapter messageCenterListAdapter; private boolean isAlarmDeviceClick = true;//true表示告警设备被选中,则false表示报警记录被选中 private final List<MessageBean> mList = new ArrayList<>(); private int currentPage = 0; // 当前页码 private int currentTotal = 0; // 总页码 private boolean isLoadingMore = false; // 标记正在加载更多数据 LinearLayoutManager layoutManager; @Override public Object getContentView() { viewBinding = ActivityMessageCenterListBinding.inflate(getLayoutInflater()); return viewBinding.getRoot(); } @Override public void onBindView(Bundle savedInstanceState) { //初始化数据 initData(); //初始化 initView(); //初始化界面监听器 initEvent(); //进来读取一次数据(为了更新currentPage,currentTotal这个值) loadNextPageNascentMessageList(1, true); } private void initEvent() { //返回按钮 viewBinding.toolbarTopMessageCenterListRl.topBackBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); //报警设备按钮 viewBinding.messageBottomAlarmDeviceCl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { isAlarmDeviceClick = true; refreshBottomStyle(true); } }); //告警记录按钮 viewBinding.messageBottomAlarmRecordCl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { isAlarmDeviceClick = false; refreshBottomStyle(false); } }); } private void initView() { viewBinding.toolbarTopMessageCenterListRl.getRoot().setBackgroundColor(getColor(R.color.text_FFFFFFFF)); viewBinding.toolbarTopMessageCenterListRl.topBackBtn.setVisibility(View.VISIBLE); viewBinding.toolbarTopMessageCenterListRl.topLeftIv.setImageResource(R.drawable.back_c); viewBinding.toolbarTopMessageCenterListRl.topTitleTv.setText(R.string.set_message_center); viewBinding.toolbarTopMessageCenterListRl.topMoreBtn.setVisibility(View.VISIBLE); viewBinding.toolbarTopMessageCenterListRl.topMoreIv.setImageResource(R.drawable.clearall); refreshBottomStyle(true); layoutManager = new LinearLayoutManager(_mActivity); messageCenterListAdapter = new MessageCenterListAdapter(_mActivity); viewBinding.messageContentRl.setLayoutManager(layoutManager); viewBinding.messageContentRl.setAdapter(messageCenterListAdapter); messageCenterListAdapter.setList(mList); this.nullDataUpdateUi(); } private void initData() { } /** * 加载一页数据 * * @param pageNo 页数 * @param isShowLoading 是否启动加载框 true启动 */ private void loadNextPageNascentMessageList(int pageNo, boolean isShowLoading) { //第一页读取数据强制读 if (pageNo > 1 && currentPage > currentTotal) { --currentPage; //当前页不能大于总页数 return; } isLoadingMore = true;//标记读取状态 if (isShowLoading) { showLoading(); } HdlMessageLogic.getInstance().getPageNoMessageList(pageNo, MessageStateType.untreated, new CloudCallBeak<HdlMessageLogic.MessageListClass>() { @Override public void onSuccess(HdlMessageLogic.MessageListClass messageListClass) { if (messageListClass != null) { currentTotal = (int) messageListClass.getTotalPage(); currentPage = (int) messageListClass.getPageNo(); updateListData(); } isLoadingMore = false; if (isShowLoading) { hideLoading(); } } @Override public void onFailure(HDLException e) { if (currentPage > 1) { --currentPage; } isLoadingMore = false; if (isShowLoading) { hideLoading(); } } }); } /** * 读取消息【未读数量】 */ private void getUnreadCount() { HdlMessageLogic.getInstance().getMessageUntreatedCount(new CloudCallBeak<String>() { @Override public void onSuccess(String data) { HdlThreadLogic.runMainThread(new Runnable() { @Override public void run() { JSONObject jsonObject = JSON.parseObject(data); if (jsonObject.containsKey("untreatedCount")) { //未处理数量 String untreatedCount = jsonObject.getString("untreatedCount"); refreshNascentCount(untreatedCount); } if (jsonObject.containsKey("unreadCount")) { //未读数量 String unreadCount = jsonObject.getString("unreadCount"); refreshUnreadNascentCount(unreadCount); } } }); } @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); } } }); } /** * 刷新信息数量总数 */ private void refreshNascentCount(String totalCount) { HdlThreadLogic.runMainThread(new Runnable() { @Override public void run() { TextView textView = _mActivity.findViewById(R.id.message_bottom_alarm_device_title_tv); if (textView != null) { textView.setText(getText(R.string.alarm_device)); if (!TextUtils.isEmpty(totalCount) && !totalCount.equals("0")) { String s = getText(R.string.message_nascent) + "(" + totalCount + ")"; textView.setText(s); } } } }); } /** * 刷新底部样式 * * @param typeClick 表示底部的类型(设备报警=true,报警记录=false) */ private void refreshBottomStyle(boolean typeClick) { HdlThreadLogic.runMainThread(new Runnable() { @Override public void run() { if (typeClick) { viewBinding.messageBottomAlarmDeviceTitleTv.setTextColor(getColor(R.color.text_191919)); viewBinding.messageBottomAlarmDeviceLineV.setVisibility(View.VISIBLE); viewBinding.messageBottomAlarmRecordTitleTv.setTextColor(getColor(R.color.text_B2B2B2)); viewBinding.messageBottomAlarmRecordLineV.setVisibility(View.GONE); } else { viewBinding.messageBottomAlarmDeviceTitleTv.setTextColor(getColor(R.color.text_B2B2B2)); viewBinding.messageBottomAlarmDeviceLineV.setVisibility(View.GONE); viewBinding.messageBottomAlarmRecordTitleTv.setTextColor(getColor(R.color.text_191919)); viewBinding.messageBottomAlarmRecordLineV.setVisibility(View.VISIBLE); } } }); } /** * 刷新角标【未读】信息数量总数 */ private void refreshUnreadNascentCount(String unreadCount) { HdlThreadLogic.runMainThread(new Runnable() { @SuppressLint("SetTextI18n") @Override public void run() { TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv); if (textView != null) { if (TextUtils.isEmpty(unreadCount) || unreadCount.equals("0")) { textView.setVisibility(View.GONE); } else { textView.setVisibility(View.VISIBLE); if (unreadCount.length() > 2) { textView.setText("99+"); } else { textView.setText(unreadCount); } } } } }); } /** * 刷新列表数据 */ private void updateListData() { HdlThreadLogic.runMainThread(new Runnable() { @Override public void run() { //读取缓存数据 updateCacheData(); //刷新列表 if (messageCenterListAdapter != null) { messageCenterListAdapter.setList(mList); } //显示未读信息总数量 getUnreadCount(); //显示没数据Ui样式 nullDataUpdateUi(); } }); } /** * 更新缓存数据 */ private void updateCacheData() { mList.clear(); mList.addAll(HdlMessageLogic.getInstance().getNascentMessageMemoryList()); } /** * 没有电站列表的样式 */ private void nullDataUpdateUi() { HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.nullDataIc.getRoot(), viewBinding.nullDataIc.nullDataGifAnimationIv, viewBinding.nullDataIc.nullDataTv, getString(R.string.message_alarm_data_null), mList.size() > 0); } } app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java
New file @@ -0,0 +1,206 @@ package com.hdl.photovoltaic.ui.newC; import android.os.Bundle; import android.view.View; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.databinding.ActivityPowerStationsListBinding; import com.hdl.photovoltaic.enums.ShowErrorMode; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlCommonLogic; import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.ui.newC.adapter.HouseListAdapter; import java.util.ArrayList; import java.util.List; /** * C端电站列表编辑 */ public class PowerStationsListEdit extends CustomBaseActivity { private ActivityPowerStationsListBinding viewBinding; private HouseListAdapter houseListAdapter; private List<HouseIdBean> houseListBeanIDList; private boolean is_edit = false; @Override public Object getContentView() { viewBinding = ActivityPowerStationsListBinding.inflate(getLayoutInflater()); return viewBinding.getRoot(); } @Override public void onBindView(Bundle savedInstanceState) { //初始化数据 initData(); //初始化 initView(); //初始化界面监听器 initEvent(); } private void initData() { this.houseListBeanIDList = new ArrayList<>(); this.houseListBeanIDList.addAll(HdlResidenceLogic.getInstance().getHouseIdList()); } private void initEvent() { //返回按钮 viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (!is_edit) { finish(); return; } is_edit = false; viewBinding.toolbarTopFragmentHouseListRl.topMoreBtn.setVisibility(View.VISIBLE); initData();//初始化缓存数据 setAllItemEdit(false); houseListAdapter.setList(houseListBeanIDList);//重新刷新列表 } }); //编辑按钮 viewBinding.toolbarTopFragmentHouseListRl.topMoreBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (is_edit) { return; } is_edit = true; viewBinding.toolbarTopFragmentHouseListRl.topMoreBtn.setVisibility(View.GONE); initData();//初始化缓存数据 setAllItemEdit(true); houseListAdapter.setList(houseListBeanIDList);//重新刷新列表 } }); //设置下拉箭头颜色 viewBinding.fragmentHouseSrl.setColorSchemeResources(R.color.text_FF245EC3); //列表下拉按钮 viewBinding.fragmentHouseSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { downReadData(true); } }); if (houseListAdapter != null) { //电站移动位置按钮 houseListAdapter.setNoOnclickListener(new HouseListAdapter.OnClickListener() { @Override public void onMoveClick(int position, HouseIdBean houseIdBean) { // HdlResidenceLogic.getInstance().delResidence(houseIdBean.getHomeId(), new CloudCallBeak<Boolean>() { // @Override // public void onSuccess(Boolean obj) { //移动电站位置 HdlResidenceLogic.getInstance().moveHouseId(houseIdBean.getHomeId()); initData();//初始化缓存数据 houseListAdapter.setList(houseListBeanIDList);//重新刷新列表 nullDataUpdateUi(houseListBeanIDList);//检测数据是否为空 // } // // @Override // public void onFailure(HDLException e) { // HdlThreadLogic.toast(_mActivity, e); // } // }); } }); } } private void initView() { viewBinding.toolbarTopFragmentHouseListRl.getRoot().setBackgroundColor(getColor(R.color.text_FFFFFFFF)); viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.VISIBLE); viewBinding.toolbarTopFragmentHouseListRl.topLeftIv.setImageResource(R.drawable.back_c); viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.power_station_selection); viewBinding.toolbarTopFragmentHouseListRl.topMoreBtn.setVisibility(View.VISIBLE); viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setImageResource(R.drawable.editor_house); LinearLayoutManager linearLayout = new LinearLayoutManager(_mActivity); houseListAdapter = new HouseListAdapter(_mActivity); viewBinding.fragmentHouseSrlListRc.setLayoutManager(linearLayout); viewBinding.fragmentHouseSrlListRc.setAdapter(houseListAdapter); houseListAdapter.setList(this.houseListBeanIDList); this.nullDataUpdateUi(houseListBeanIDList); } /** * 刷新UI * * @param isRefreshing 表示是下拉刷新的 */ private void downReadData(boolean isRefreshing) { //获取住宅(电站)ID列表 HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() { @Override public void onSuccess(List<HouseIdBean> list) { HdlThreadLogic.runMainThread(new Runnable() { @Override public void run() { if (isRefreshing) { //关闭下拉刷新的圈圈 viewBinding.fragmentHouseSrl.setRefreshing(false); } if (list != null && list.size() > 0) { //更新缓存 HdlResidenceLogic.getInstance().setHouseIdList(list); if (houseListAdapter != null) { initData(); setAllItemEdit(is_edit); //更新UI houseListAdapter.setList(houseListBeanIDList); } } nullDataUpdateUi(list); } }, _mActivity, ShowErrorMode.YES); } @Override public void onFailure(HDLException e) { HdlThreadLogic.runMainThread(new Runnable() { @Override public void run() { if (isRefreshing) { //关闭下拉刷新的圈圈 viewBinding.fragmentHouseSrl.setRefreshing(false); } } }, _mActivity, ShowErrorMode.YES); } }); } /** * 设置全部缓存数据编辑状态 * * @param edit true表示在编辑状态 */ private void setAllItemEdit(boolean edit) { for (int i = 0; i < houseListBeanIDList.size(); i++) { houseListBeanIDList.get(i).setEdit(edit); } } /** * 没有电站列表的样式 */ private void nullDataUpdateUi(List<HouseIdBean> list) { HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.nullDataIc.getRoot(), viewBinding.nullDataIc.nullDataGifAnimationIv, viewBinding.nullDataIc.nullDataTv, getString(R.string.my_power_station_data_null), list != null && list.size() > 0); } } app/src/main/java/com/hdl/photovoltaic/ui/newC/adapter/HouseListAdapter.java
New file @@ -0,0 +1,106 @@ package com.hdl.photovoltaic.ui.newC.adapter; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.ui.bean.HouseIdBean; import java.util.ArrayList; import java.util.List; /** * 电站列表编辑适配器 */ public class HouseListAdapter extends RecyclerView.Adapter<HouseListAdapter.MyViewHolder> { private Context mContext; private List<HouseIdBean> mList; public OnClickListener mOnClickListener; public HouseListAdapter(Context context) { this.mContext = context; } @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(mContext).inflate(R.layout.item_house_line_c, parent, false); return new MyViewHolder(view); } @Override public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { HouseIdBean houseIdBean = this.mList.get(position); holder.homeNameTv.setText(houseIdBean.getHomeName().trim()); holder.itemView.setTag(position); if (houseIdBean.isEdit()) { holder.homeMoveIv.setVisibility(View.VISIBLE); } else { holder.homeMoveIv.setVisibility(View.GONE); } //移动电站位置 holder.homeMoveIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { if (mOnClickListener != null) { mOnClickListener.onMoveClick((int) holder.itemView.getTag(), houseIdBean); } } catch (Exception ignored) { } } }); } @Override public int getItemCount() { return this.mList == null ? 0 : this.mList.size(); } public void setList(List<HouseIdBean> newData) { if (this.mList == null) { this.mList = new ArrayList<>(); } else { this.mList.clear(); } this.mList.addAll(newData); notifyDataSetChanged(); } public void setNoOnclickListener(OnClickListener onClickListener) { this.mOnClickListener = onClickListener; } static class MyViewHolder extends RecyclerView.ViewHolder { public TextView homeNameTv;//住宅名称 public ImageView homeMoveIv;//住宅图片 public MyViewHolder(@NonNull View itemView) { super(itemView); homeNameTv = itemView.findViewById(R.id.house_name_tv); homeMoveIv = itemView.findViewById(R.id.house_move_iv); } } public interface OnClickListener { void onMoveClick(int position, HouseIdBean houseIdBean); } } app/src/main/java/com/hdl/photovoltaic/ui/newC/adapter/MessageCenterListAdapter.java
New file @@ -0,0 +1,126 @@ package com.hdl.photovoltaic.ui.newC.adapter; import android.content.Context; import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.appcompat.content.res.AppCompatResources; import androidx.recyclerview.widget.RecyclerView; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.enums.MessageAlarmStateType; import com.hdl.photovoltaic.ui.bean.MessageBean; import com.hdl.photovoltaic.utils.TimeUtils; import java.util.ArrayList; import java.util.List; /** * 消息中心列表适配器 */ public class MessageCenterListAdapter extends RecyclerView.Adapter<MessageCenterListAdapter.MyViewHolder> { private Context mContext; private List<MessageBean> mList; public OnclickListener mOnClickListener; public MessageCenterListAdapter(Context context) { this.mContext = context; } @NonNull @Override public MessageCenterListAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(mContext).inflate(R.layout.item_message_c, parent, false); return new MessageCenterListAdapter.MyViewHolder(view); } @Override public void onBindViewHolder(@NonNull MessageCenterListAdapter.MyViewHolder holder, int position) { MessageBean messageBean = this.mList.get(position); holder.item_content_tv.setText(messageBean.getTitle()); holder.item_home_name_tv.setText(messageBean.getHomeName()); String date = TimeUtils.getTimeFromTimestamp(messageBean.getCreateTime()); holder.item_time_tv.setText(date); String type = "";//FAULT:故障,WARN:告警,EVENT:事件 Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300); if (messageBean.getType().equals(MessageAlarmStateType.fault)) { type = mContext.getString(R.string.my_power_station_malfunction); drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343); } else if (messageBean.getType().equals(MessageAlarmStateType.warn)) { type = mContext.getString(R.string.message_alarm); drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300); } else if (messageBean.getType().equals(MessageAlarmStateType.event)) { type = mContext.getString(R.string.event); drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300); } holder.item_estate_tv.setText(type); holder.item_estate_tv.setBackground(drawable); holder.item_unread_message_tv.setVisibility(View.VISIBLE); if (messageBean.isRead()) { holder.item_unread_message_tv.setVisibility(View.GONE); } //标记索引 holder.itemView.setTag(position); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { if (mOnClickListener != null) { mOnClickListener.onClick((int) holder.itemView.getTag(), messageBean); } } catch (Exception ignored) { } } }); } @Override public int getItemCount() { return this.mList == null ? 0 : this.mList.size(); } public void setList(List<MessageBean> newData) { if (this.mList == null) { this.mList = new ArrayList<>(); } else { this.mList.clear(); } this.mList.addAll(newData); notifyDataSetChanged(); } public void setNoOnclickListener(OnclickListener onClickListener) { this.mOnClickListener = onClickListener; } static class MyViewHolder extends RecyclerView.ViewHolder { public TextView item_content_tv; public TextView item_home_name_tv; public TextView item_time_tv; public TextView item_estate_tv; public TextView item_unread_message_tv; public MyViewHolder(@NonNull View itemView) { super(itemView); item_content_tv = itemView.findViewById(R.id.item_content_tv); item_home_name_tv = itemView.findViewById(R.id.item_home_name_tv); item_time_tv = itemView.findViewById(R.id.item_time_tv); item_estate_tv = itemView.findViewById(R.id.item_estate_tv); item_unread_message_tv = itemView.findViewById(R.id.item_unread_message_tv); } } public interface OnclickListener { void onClick(int position, MessageBean messageBean); } } app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -2,6 +2,7 @@ import android.Manifest; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.hardware.camera2.CameraManager; import android.os.Bundle; @@ -27,8 +28,11 @@ import com.hdl.photovoltaic.other.HdlUniLogic; import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter; import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.ui.newC.MessageCenterList; import com.hdl.photovoltaic.ui.newC.PowerStationsListEdit; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.PermissionUtils; import com.hdl.photovoltaic.widget.DelayedConfirmationCancelDialog; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient; @@ -81,22 +85,12 @@ viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); // requestPermissions(new PermissionsResultCallback() { // @Override // public void succeed() { //// Intent intent = new Intent(); //// intent.setClass(_mActivity, FastScanActivity.class); //// startActivity(intent); //// // 打开小程序页面 // HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); // } // // @Override // public void failing() { // HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); // } // }); // resumeTagStatus(); // HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); Intent intent = new Intent(); intent.setClass(_mActivity, MessageCenterList.class); startActivity(intent); } @@ -107,77 +101,80 @@ @Override public void onRefresh() { downReadData(true); HdlLogLogic.print("HouseListFragment下拉刷新", false); } }); //进入电站详情,删除电站,移动电站位置 houseInfoAdapter.setNoOnclickListener(new HouseInfoAdapter.OnclickListener() { @Override public void onClick(int position, HouseIdBean houseIdBean) { resumeTagStatus(); //点击住宅详情 HdlLogLogic.print("点击住宅详情--->" + new Gson().toJson(houseIdBean), false); HdlResidenceLogic.getInstance().switchHouse(houseIdBean); String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS + "?homeId=" + houseIdBean.getHomeId() + "&homeName=" + houseIdBean.getHomeName() + "&powerStationStatus=" + houseIdBean.getPowerStationStatus(); String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS + "?homeId=" + houseIdBean.getHomeId() + "&homeName=" + houseIdBean.getHomeName() + "&powerStationStatus=" + houseIdBean.getPowerStationStatus(); HdlUniLogic.getInstance().openUniMP(path, null); } @Override public void onMoveClick(int position, HouseIdBean houseIdBean) { if (position > 0) { houseInfoAdapter.notifyItemMoved(position - 1, position); } // //移动电站位置 // HdlResidenceLogic.getInstance().moveHouseId(houseIdBean.getHomeId()); // initData();//初始化缓存数据 // houseInfoAdapter.setList(houseListBeanIDList);//重新刷新列表 // nullDataUpdateUi(houseListBeanIDList);//检测数据是否为空 // HdlResidenceLogic.getInstance().delResidence(houseIdBean.getHomeId(), new CloudCallBeak<Boolean>() { // @Override // public void onSuccess(Boolean obj) { //移动电站位置 HdlResidenceLogic.getInstance().moveHouseId(houseIdBean.getHomeId()); initData();//初始化缓存数据 houseInfoAdapter.setList(houseListBeanIDList);//重新刷新列表 nullDataUpdateUi(houseListBeanIDList);//检测数据是否为空 // } // // @Override // public void onFailure(HDLException e) { // HdlThreadLogic.toast(_mActivity, e); // } // }); } @Override public void onDelClick(int position, HouseIdBean houseIdBean) { HdlResidenceLogic.getInstance().delHouseId(houseIdBean.getHomeId()); initData();//初始化缓存数据 houseInfoAdapter.notifyItemRemoved(position); // DelayedConfirmationCancelDialog delayedConfirmationCancelDialog = new DelayedConfirmationCancelDialog(_mActivity); // delayedConfirmationCancelDialog.setTitle(R.string.loading_title_tip); // delayedConfirmationCancelDialog.setContent("是否确认删除电站?"); // delayedConfirmationCancelDialog.show(); // delayedConfirmationCancelDialog.startCountdown(3); // delayedConfirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { // @Override // public void Confirm() { // //删除住宅 // HdlResidenceLogic.getInstance().delResidence(houseIdBean.getHomeId(), new CloudCallBeak<Boolean>() { // @Override // public void onSuccess(Boolean obj) { // HdlResidenceLogic.getInstance().delHouseId(houseIdBean.getHomeId()); // initData();//初始化缓存数据 // setAllItemEdit(is_edit); // houseInfoAdapter.setList(houseListBeanIDList);//重新刷新列表 // nullDataUpdateUi(houseListBeanIDList);//检测数据是否为空 // delayedConfirmationCancelDialog.dismiss(); // } // // @Override // public void onFailure(HDLException e) { // HdlThreadLogic.toast(_mActivity, e); // } // }); // } // }); // delayedConfirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() { // @Override // public void Cancel() { // delayedConfirmationCancelDialog.dismiss(); // } // }); DelayedConfirmationCancelDialog delayedConfirmationCancelDialog = new DelayedConfirmationCancelDialog(_mActivity); delayedConfirmationCancelDialog.setTitleContent(getString(R.string.loading_title_tip)); String homeName = "\"" + houseIdBean.getHomeName() + "\""; delayedConfirmationCancelDialog.setContent(getString(R.string.delete_power_station).replace("XX", homeName)); delayedConfirmationCancelDialog.show(); delayedConfirmationCancelDialog.startCountdown(3); delayedConfirmationCancelDialog.setYesOnclickListener(new DelayedConfirmationCancelDialog.onYesOnclickListener() { @Override public void Confirm() { //删除住宅 HdlResidenceLogic.getInstance().delResidence(houseIdBean.getHomeId(), new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { HdlResidenceLogic.getInstance().delHouseId(houseIdBean.getHomeId()); initData();//初始化缓存数据 setAllItemEdit(is_edit); houseInfoAdapter.setList(houseListBeanIDList);//重新刷新列表 nullDataUpdateUi(houseListBeanIDList);//检测数据是否为空 delayedConfirmationCancelDialog.dismiss(); } @Override public void onFailure(HDLException e) { HdlThreadLogic.toast(_mActivity, e); } }); } }); delayedConfirmationCancelDialog.setNoOnclickListener(new DelayedConfirmationCancelDialog.onNoOnclickListener() { @Override public void Cancel() { delayedConfirmationCancelDialog.dismiss(); } }); } }); @@ -269,6 +266,7 @@ } } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE.equals(eventBus.getType())) { //uin关闭住宅详情界面通知 if (MqttRecvClient.getInstance() != null) { MqttRecvClient.getInstance().removeAllTopic(); @@ -288,6 +286,10 @@ //接收外部点击事件 if (eventBus.getType().equals(HomepageTitleTabSwitch.powerstation.toString())) { HdlLogLogic.print("正在点击【电站】"); resumeTagStatus(); initData();//初始化缓存数据 setAllItemEdit(false); houseInfoAdapter.setList(houseListBeanIDList);//重新刷新列表 } } } @@ -355,6 +357,14 @@ } /** * 恢复到未编辑电站状态 */ private void resumeTagStatus() { is_edit = false; //还原编辑标记 viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.GONE);//隐藏后退图标 } /** * 申请权限 */ private void requestPermissions(PermissionsResultCallback permissionsResultCallback) { @@ -408,10 +418,7 @@ * 没有电站列表的样式 */ private void nullDataUpdateUi(List<HouseIdBean> list) { HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.nullDataIc.getRoot(), viewBinding.nullDataIc.nullDataGifAnimationIv, viewBinding.nullDataIc.nullDataTv, getString(R.string.my_power_station_data_null), list != null && list.size() > 0); HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.nullDataIc.getRoot(), viewBinding.nullDataIc.nullDataGifAnimationIv, viewBinding.nullDataIc.nullDataTv, getString(R.string.my_power_station_data_null), list != null && list.size() > 0); } app/src/main/java/com/hdl/photovoltaic/widget/DelayedConfirmationCancelDialog.java
@@ -24,8 +24,8 @@ CountDownTimer timer; private final Context mContext; private ConfirmationCancelDialog.onNoOnclickListener noOnclickListener;//取消按钮被点击了的监听器 private ConfirmationCancelDialog.onYesOnclickListener yesOnclickListener;//确定按钮被点击了的监听器 private onNoOnclickListener noOnclickListener;//取消按钮被点击了的监听器 private onYesOnclickListener yesOnclickListener;//确定按钮被点击了的监听器 private DialogConfirmCancelBinding viewBinding; private String titleStr, contentStr, yesStr, noStr; @@ -52,7 +52,7 @@ * * @param title 内容 */ public void setTitle(String title) { public void setTitleContent(String title) { if (TextUtils.isEmpty(title)) { return; } @@ -212,7 +212,7 @@ * * @param onNoOnclickListener - */ public void setNoOnclickListener(ConfirmationCancelDialog.onNoOnclickListener onNoOnclickListener) { public void setNoOnclickListener(onNoOnclickListener onNoOnclickListener) { if (onNoOnclickListener != null) { this.noOnclickListener = onNoOnclickListener; } @@ -223,7 +223,7 @@ * * @param yesOnclickListener - */ public void setYesOnclickListener(ConfirmationCancelDialog.onYesOnclickListener yesOnclickListener) { public void setYesOnclickListener(onYesOnclickListener yesOnclickListener) { if (yesOnclickListener != null) { this.yesOnclickListener = yesOnclickListener; } app/src/main/res/drawable/back_c.png
app/src/main/res/drawable/clearall.png
app/src/main/res/drawable/del_house.pngapp/src/main/res/drawable/down.pngapp/src/main/res/drawable/move_c_house.png
app/src/main/res/drawable/move_house.pngapp/src/main/res/drawable/up.png
app/src/main/res/layout/activity_message_center_list.xml
New file @@ -0,0 +1,242 @@ <?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" android:background="@color/text_EDEFF2" tools:context=".ui.newC.MessageCenterList"> <include android:id="@+id/toolbar_top_message_center_list_rl" layout="@layout/toolbar_top_view_44" /> <RelativeLayout android:id="@+id/message_rl" android:layout_width="0dp" android:layout_height="@dimen/dp_70" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/toolbar_top_message_center_list_rl"> <LinearLayout android:id="@+id/message_tab_ll" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginStart="@dimen/dp_16" android:layout_marginEnd="@dimen/dp_16" android:orientation="horizontal"> <!--全部设备--> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/message_tab_all_device_cl" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <TextView android:id="@+id/all_device_title_tv" android:layout_width="wrap_content" android:layout_height="@dimen/dp_20" android:text="@string/alarm_all_device" android:textColor="@color/text_90000000" android:textSize="@dimen/text_14" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <ImageView android:id="@+id/all_device_title_iv" android:layout_width="@dimen/dp_10" android:layout_height="@dimen/dp_10" android:layout_marginStart="@dimen/dp_7" android:background="@drawable/down" app:layout_constraintBottom_toBottomOf="@+id/all_device_title_tv" app:layout_constraintStart_toEndOf="@+id/all_device_title_tv" app:layout_constraintTop_toTopOf="@+id/all_device_title_tv" /> </androidx.constraintlayout.widget.ConstraintLayout> <!--全部等级--> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/message_tab_all_grade_cl" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <TextView android:id="@+id/all_grade_title_tv" android:layout_width="wrap_content" android:layout_height="@dimen/dp_20" android:text="@string/alarm_all_grade" android:textColor="@color/text_90000000" android:textSize="@dimen/text_14" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <ImageView android:id="@+id/all_grade_title_iv" android:layout_width="@dimen/dp_10" android:layout_height="@dimen/dp_10" android:layout_marginStart="@dimen/dp_7" android:background="@drawable/down" app:layout_constraintBottom_toBottomOf="@+id/all_grade_title_tv" app:layout_constraintStart_toEndOf="@+id/all_grade_title_tv" app:layout_constraintTop_toTopOf="@+id/all_grade_title_tv" /> </androidx.constraintlayout.widget.ConstraintLayout> <!--全部时间--> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/message_tab_all_time_cl" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <TextView android:id="@+id/all_time_title_tv" android:layout_width="wrap_content" android:layout_height="@dimen/dp_20" android:layout_marginEnd="@dimen/dp_7" android:text="@string/alarm_all_time" android:textColor="@color/text_90000000" android:textSize="@dimen/text_14" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@+id/all_time_title_iv" app:layout_constraintTop_toTopOf="parent" /> <ImageView android:id="@+id/all_time_title_iv" android:layout_width="@dimen/dp_10" android:layout_height="@dimen/dp_10" android:background="@drawable/down" app:layout_constraintBottom_toBottomOf="@+id/all_time_title_tv" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@+id/all_time_title_tv" /> </androidx.constraintlayout.widget.ConstraintLayout> </LinearLayout> </RelativeLayout> <androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:id="@+id/message_content_srl" android:layout_width="match_parent" android:layout_height="0dp" app:layout_constraintBottom_toTopOf="@+id/message_bottom_cl" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/message_rl"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/message_content_rl" android:layout_width="match_parent" android:layout_height="match_parent" android:clipToPadding="false" android:paddingBottom="@dimen/dp_16" /> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> <!--没有数据显示样式--> <include android:id="@+id/null_data_ic" layout="@layout/null_data_view" android:layout_width="match_parent" android:layout_height="224dp" android:visibility="gone" app:layout_constraintBottom_toTopOf="@+id/message_bottom_cl" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/message_rl" /> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/message_bottom_cl" android:layout_width="match_parent" android:layout_height="82dp" android:background="@color/text_FFFFFFFF" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="@dimen/dp_49" android:orientation="horizontal" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <!--设备报警--> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/message_bottom_alarm_device_cl" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <TextView android:id="@+id/message_bottom_alarm_device_title_tv" android:layout_width="wrap_content" android:layout_height="@dimen/dp_20" android:layout_marginTop="@dimen/dp_16" android:gravity="center" android:text="@string/alarm_device" android:textColor="@color/text_191919" android:textSize="@dimen/text_14" android:textStyle="bold" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <View android:id="@+id/message_bottom_alarm_device_line_v" android:layout_width="0dp" android:layout_height="3dp" android:layout_marginTop="@dimen/dp_11" android:background="@color/text_191919" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/message_bottom_alarm_device_title_tv" app:layout_constraintStart_toStartOf="@+id/message_bottom_alarm_device_title_tv" /> </androidx.constraintlayout.widget.ConstraintLayout> <!--报警记录--> <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/message_bottom_alarm_record_cl" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <TextView android:id="@+id/message_bottom_alarm_record_title_tv" android:layout_width="wrap_content" android:layout_height="@dimen/dp_20" android:layout_marginTop="@dimen/dp_16" android:gravity="center" android:text="@string/alarm_record" android:textColor="@color/text_191919" android:textSize="@dimen/text_14" android:textStyle="bold" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <View android:id="@+id/message_bottom_alarm_record_line_v" android:layout_width="0dp" android:layout_height="3dp" android:layout_marginTop="@dimen/dp_11" android:background="@color/text_191919" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@+id/message_bottom_alarm_record_title_tv" app:layout_constraintStart_toStartOf="@+id/message_bottom_alarm_record_title_tv" /> </androidx.constraintlayout.widget.ConstraintLayout> </LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout> app/src/main/res/layout/activity_power_stations_list.xml
New file @@ -0,0 +1,45 @@ <?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" android:background="@color/text_EDEFF2" tools:context=".ui.newC.PowerStationsListEdit"> <include android:id="@+id/toolbar_top_fragment_house_list_rl" layout="@layout/toolbar_top_view_44" /> <androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:id="@+id/fragment_house_srl" android:layout_width="match_parent" android:layout_height="0dp" android:layout_marginTop="@dimen/dp_10" 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"> <androidx.recyclerview.widget.RecyclerView android:id="@+id/fragment_house_srl_list_rc" android:layout_width="match_parent" android:layout_height="match_parent" android:clipToPadding="false" android:paddingBottom="@dimen/dp_16" /> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> <!--没有数据显示样式--> <include android:id="@+id/null_data_ic" layout="@layout/null_data_view" android:layout_width="match_parent" android:layout_height="224dp" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> app/src/main/res/layout/item_house_line_c.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:id="@+id/item_parent_cl" android:layout_width="match_parent" android:layout_height="@dimen/dp_70" android:background="@color/text_FFFFFFFF"> <TextView android:id="@+id/house_name_tv" android:layout_width="300dp" android:layout_height="@dimen/dp_19" android:layout_marginStart="@dimen/dp_16" android:ellipsize="end" android:singleLine="true" android:text="@string/power_station" android:textColor="@color/text_90000000" android:textSize="@dimen/text_16" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <ImageView android:id="@+id/house_move_iv" android:layout_width="@dimen/dp_40" android:layout_height="@dimen/dp_40" android:layout_marginEnd="@dimen/dp_21" android:src="@drawable/move_c_house" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> <View android:layout_width="match_parent" android:layout_height="0.5dp" android:layout_marginStart="@dimen/dp_16" android:layout_marginEnd="@dimen/dp_16" android:layout_marginBottom="0.5dp" android:background="@color/text_EDEFF2" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> app/src/main/res/layout/item_message_c.xml
New file @@ -0,0 +1,78 @@ <?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="@dimen/dp_107"> <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="97dp" android:layout_marginStart="@dimen/dp_20" android:layout_marginEnd="@dimen/dp_20" android:background="@drawable/house_list_line_parent_bg" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <!--未读标签--> <TextView android:id="@+id/item_unread_message_tv" android:layout_width="8dp" android:layout_height="8dp" android:background="@drawable/red_font" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/item_content_tv" android:layout_width="0dp" android:layout_height="@dimen/dp_23" android:layout_marginStart="22dp" android:layout_marginTop="16dp" android:layout_marginEnd="@dimen/dp_5" android:ellipsize="end" android:gravity="center_vertical" android:singleLine="true" android:textColor="@color/text_90000000" android:textSize="@dimen/text_16" app:layout_constraintEnd_toStartOf="@+id/item_estate_tv" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/item_home_name_tv" android:layout_width="wrap_content" android:layout_height="@dimen/dp_17" android:layout_marginTop="@dimen/dp_6" android:textColor="@color/text_40000000" android:textSize="@dimen/text_12" app:layout_constraintStart_toStartOf="@+id/item_content_tv" app:layout_constraintTop_toBottomOf="@+id/item_content_tv" /> <TextView android:id="@+id/item_time_tv" android:layout_width="wrap_content" android:layout_height="@dimen/dp_17" android:layout_marginTop="@dimen/dp_6" android:gravity="center_vertical" android:textColor="@color/text_40000000" android:textSize="@dimen/text_12" app:layout_constraintStart_toStartOf="@+id/item_home_name_tv" app:layout_constraintTop_toBottomOf="@+id/item_home_name_tv" /> <TextView android:id="@+id/item_estate_tv" android:layout_width="wrap_content" android:layout_height="@dimen/dp_33" android:background="@drawable/state_ffb300" android:gravity="center" android:paddingStart="@dimen/dp_12" android:paddingEnd="@dimen/dp_12" android:text="@string/message_alarm" android:textColor="@color/text_FFFFFFFF" android:textSize="@dimen/text_12" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout> app/src/main/res/layout/swipe_right_layout.xml
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="82dp" android:layout_width="66dp" android:layout_height="142dp" android:layout_marginTop="@dimen/dp_12" android:orientation="vertical"> @@ -13,7 +13,6 @@ android:id="@+id/move_home_iv" android:layout_width="@dimen/dp_50" android:layout_height="@dimen/dp_50" android:layout_marginStart="@dimen/dp_16" android:src="@drawable/move_house" /> <View @@ -24,7 +23,6 @@ android:id="@+id/del_home_iv" android:layout_width="@dimen/dp_50" android:layout_height="@dimen/dp_50" android:layout_marginStart="@dimen/dp_16" android:src="@drawable/del_house" /> app/src/main/res/layout/toolbar_top_view_44.xml
@@ -18,7 +18,7 @@ android:layout_width="@dimen/dp_24" android:layout_height="@dimen/dp_24" android:layout_gravity="center" android:layout_marginLeft="@dimen/dp_16" android:layout_marginStart="@dimen/dp_16" android:scaleType="centerInside" /> </LinearLayout> app/src/main/res/values/colors.xml
@@ -43,7 +43,9 @@ <color name="text_FF6B6B">#FF6B6B</color> <color name="text_10FFFFFF">#10FFFFFF</color> <color name="text_50FFFFFF">#50FFFFFF</color> # <color name="text_EDEFF2">#EDEFF2</color> <color name="text_191919">#191919</color> <color name="text_B2B2B2">#B2B2B2</color> </resources> app/src/main/res/values/strings.xml
@@ -220,4 +220,24 @@ <string name="exception_unable_location_move10_meters_later">无法获取位置,请移动手机10米后,再重新获取.</string> <string name="succeed">成功.</string> <string name="delete_power_station">是否要删除XX电站?</string> <string name="power_station_selection">电站选择</string> <string name="alarm_all_device">全部设备</string> <string name="alarm_all_device_inverter">逆变器</string> <string name="alarm_all_device_bms">BMS控制盒</string> <string name="alarm_all_device_battery_cell">电池单元</string> <string name="alarm_all_grade">全部等级</string> <string name="alarm_all_grade_malfunction">故障</string> <string name="alarm_all_grade_warning">警告</string> <string name="alarm_all_grade_tip">提示</string> <string name="alarm_all_time">全部时间</string> <string name="alarm_all_time_same_day">当天</string> <string name="alarm_all_time_3">近3天</string> <string name="alarm_all_time_7">近7天</string> <string name="alarm_all_time_30">近30天</string> <string name="alarm_device">设备报警</string> <string name="alarm_record">报警记录</string> </resources>