From 1c22df6f9f652b00fb64f523f1e2ee717fb4cc68 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 14 十二月 2023 18:02:58 +0800
Subject: [PATCH] 2023年12月14日18:02:49
---
app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java | 78 +++++++-
app/src/main/res/layout/activity_message_info.xml | 11 +
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java | 121 +++++-------
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java | 23 ++
app/src/main/AndroidManifest.xml | 3
app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java | 81 +++++++-
app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java | 80 +++++++-
app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java | 6
app/src/main/res/layout/fragment_nascent_message.xml | 21 +-
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 18 +-
app/src/main/res/layout/fragment_message_all.xml | 20 +-
app/src/main/res/layout/fragment_recover_message.xml | 22 +-
12 files changed, 342 insertions(+), 142 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d91f4a2..c6f697c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -71,6 +71,9 @@
android:supportsRtl="true"
android:theme="@style/Theme.PhotovoltaicDebug">
<activity
+ android:name=".ui.message.MessageInfoActivity"
+ android:exported="false" />
+ <activity
android:name=".ui.message.TestMessageActivity"
android:exported="false" />
<activity
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
index 715aaa7..3c1c9b4 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -85,18 +85,18 @@
* 鍘熺敓鎺ユ敹鍒皍ni鍙戞潵鐨勬暟鎹�
*
* @param appId -uni灏忕▼搴忔寚瀹氱殑appId
- * @param event -uni灏忕▼搴忓彂鏉ユ暟鎹�
+ * @param topic -uni灏忕▼搴忓彂鏉ヤ富棰�(澶х被)
* @param data JSONObject com.alibaba.fastjson瑙f瀽澶勭悊
* @param callback callback.invoke(JSONObject) 鐢╟om.alibaba.fastjson
*/
@Override
- public void onOtherUniMPEventReceive(String appId, String event, Object data, DCUniMPJSCallback callback) {
+ public void onOtherUniMPEventReceive(String appId, String topic, Object data, DCUniMPJSCallback callback) {
try {
if (!HDLUniMP.UNI_APP_ID.equals(appId)) {
return;
}
- String type = getKeyValue("type", data);
- if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(event)) {
+ String type = getKeyValue("type", data);//灏忕被
+ if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(topic)) {
//浣忓畢妯″潡
switch (type) {
//鍒涘缓鐢电珯
@@ -128,7 +128,7 @@
if (callback != null) {
uniCallbackData(null, callback);
}
- } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODEL.equals(event)) {
+ } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODEL.equals(topic)) {
//璁惧妯″潡
switch (type) {
//娣诲姞閫嗗彉鍣ㄥ埌浜戠
@@ -185,7 +185,7 @@
}
- } else if (HDLUniMP.UNI_EVENT_REPLY_WIFI_MODEL.equals(event)) {
+ } else if (HDLUniMP.UNI_EVENT_REPLY_WIFI_MODEL.equals(topic)) {
WifiUtils wifiUtils = new WifiUtils(HDLApp.getInstance());
//wifi妯″潡
switch (type) {
@@ -210,7 +210,7 @@
break;
}
- } else if (HDLUniMP.UNI_EVENT_REPLY_OTA_MODEL.equals(event)) {
+ } else if (HDLUniMP.UNI_EVENT_REPLY_OTA_MODEL.equals(topic)) {
//OTA鍗囩骇妯″潡
switch (type) {
//鍚戜簯绔幏鍙杘id鍒楄〃
@@ -285,7 +285,7 @@
break;
}
- } else if (HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL.equals(event)) {
+ } else if (HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL.equals(topic)) {
//鍏跺畠妯″潡
switch (type) {
//鑾峰彇娓╁害鍗曚綅
@@ -300,7 +300,7 @@
break;
}
}
- HdlLogLogic.print("uni===鍘熺敓鎺ユ敹uni鍙戞潵鐨勬暟鎹�===" + event + "\r\n" + data, false);
+ HdlLogLogic.print("uni===鍘熺敓鎺ユ敹uni鍙戞潵鐨勬暟鎹�===澶х被->" + topic + "\r\n" + data, false);
} catch (Exception e) {
HdlLogLogic.print("uni===鍘熺敓鎺ユ敹uni鍙戞潵鐨勬暟鎹�===" + e.getMessage(), false);
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java
index 2b43fe1..6ce4bb5 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java
@@ -38,10 +38,10 @@
@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
MessageBean messageBean = this.mList.get(position);
- holder.item_content_tv.setText(messageBean.getContent());
+ holder.item_content_tv.setText(messageBean.getTitle());
holder.item_home_name_tv.setText(messageBean.getHomeName());
- holder.item_time_tv.setText(messageBean.getTime());
- holder.item_estate_tv.setText(messageBean.getGrade() + "");
+ holder.item_time_tv.setText(messageBean.getCreateTime() + "");
+ holder.item_estate_tv.setText(messageBean.getStatus() + "");
holder.item_unread_message_tv.setVisibility(View.VISIBLE);
if (messageBean.isRead()) {
holder.item_unread_message_tv.setVisibility(View.GONE);
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java
index 1ceb340..b0a25d8 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/AllMessageFragment.java
@@ -4,14 +4,18 @@
import android.view.ViewGroup;
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.CustomBaseFragment;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.databinding.FragmentMessageAllBinding;
import com.hdl.photovoltaic.databinding.FragmentMessageBinding;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlMessageLogic;
import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
import com.hdl.photovoltaic.ui.bean.MessageBean;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -47,19 +51,29 @@
}
private void initData() {
- mList.clear();
- for (int i = 0; i < 5; i++) {
- MessageBean messageBean = new MessageBean();
- messageBean.setContent("鏉ヤ簡涓�鏉″憡璀︿俊鎭�" + i);
- messageBean.setHomeName(i + "");
- messageBean.setTime("2023-12-06-15");
- messageBean.setRead(false);
- mList.add(messageBean);
- }
+// mList.clear();
+// for (int i = 0; i < 5; i++) {
+// MessageBean messageBean = new MessageBean();
+//// messageBean.setContent("鏉ヤ簡涓�鏉″憡璀︿俊鎭�" + i);
+// messageBean.setHomeName(i + "");
+//// messageBean.setTime("2023-12-06-15");
+// messageBean.setRead(false);
+// mList.add(messageBean);
+// }
}
private void initEvent() {
+
+ //璁剧疆涓嬫媺绠ご棰滆壊
+ viewBinding.messageAllSrl.setColorSchemeResources(R.color.text_FF245EC3);
+ viewBinding.messageAllSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+ @Override
+ public void onRefresh() {
+ getAllMessageList(false);
+ HdlLogLogic.print("AllMessageFragment涓嬫媺鍒锋柊", false);
+ }
+ });
if (messageAllAdapter != null) {
messageAllAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
@Override
@@ -69,6 +83,7 @@
});
}
+
}
private void initView() {
@@ -77,8 +92,12 @@
viewBinding.messageAllRecyclerview.setAdapter(messageAllAdapter);
}
+ /**
+ * 鍒锋柊鍒楄〃鏁版嵁
+ */
private void updateListData() {
if (this.messageAllAdapter != null) {
+ this.messageAllAdapter.setList(mList);
this.messageAllAdapter.notifyDataSetChanged();
}
}
@@ -89,11 +108,50 @@
//鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
if (eventBus.getType().equals(HdlCommonLogic.MessageFunctionTabSwitch.all.toString())) {
- updateListData();
+ getAllMessageList(true);
HdlLogLogic.print("姝e湪鐐瑰嚮銆愬叏閮ㄣ��");
}
}
}
+ /**
+ * 鑾峰彇鍏ㄩ儴涓殑娑堟伅鍒楄〃
+ *
+ * @param isShowLoading 鏄惁鍚姩 true鍚姩
+ */
+ private void getAllMessageList(boolean isShowLoading) {
+ if (mList.size() == 0) {
+ if (isShowLoading) {
+ showLoading();
+ }
+ HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.processed, new CloudCallBeak<List<MessageBean>>() {
+ @Override
+ public void onSuccess(List<MessageBean> list) {
+ if (isShowLoading) {
+ hideLoading();
+ }
+ if (!isShowLoading) {
+ viewBinding.messageAllSrl.setRefreshing(false);
+ }
+
+ if (list != null && list.size() != 0) {
+ mList.addAll(list);
+ updateListData();
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (isShowLoading) {
+ hideLoading();
+ }
+ if (!isShowLoading) {
+ viewBinding.messageAllSrl.setRefreshing(false);
+ }
+ }
+ });
+ }
+ }
+
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
index 40e921a..9585d2a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
@@ -1,12 +1,9 @@
package com.hdl.photovoltaic.ui.message;
-import android.os.Build;
import android.os.Bundle;
-import android.os.Handler;
import android.view.View;
-import androidx.annotation.RequiresApi;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
@@ -34,11 +31,8 @@
private static final String CURRENT_FRAGMENT = "state_fragment_show";
private FragmentManager mFragmentManager;
private Fragment currentFragment = new Fragment();
- private List<Fragment> fragments = new ArrayList<>();
+ private final List<Fragment> fragmentList = new ArrayList<>();
private int currentIndex = 0;
- private AllMessageFragment mAllMessageFragment;
- private NascentMessageFragment mNascentMessageFragment;
- private RecoverMessageFragment mRecoverMessageFragment;
@Override
public Object getContentView() {
@@ -49,6 +43,7 @@
@Override
public void onBindView(Bundle savedInstanceState) {
+ //鍒濆鍖栫鐗�
initFragment(savedInstanceState);
//鍒濆鍖栫晫闈�
initView();
@@ -64,28 +59,20 @@
viewBinding.messageTabNascentCl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
- viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.line1V.setVisibility(View.GONE);
- viewBinding.line2V.setVisibility(View.VISIBLE);
- viewBinding.line3V.setVisibility(View.GONE);
- showFragment(0);
- postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.nascent);
+ currentIndex = 0;
+ showFragment();
+ initView();
+
}
});
//宸叉仮澶�
viewBinding.messageTabRecoverCl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
- viewBinding.line1V.setVisibility(View.GONE);
- viewBinding.line2V.setVisibility(View.GONE);
- viewBinding.line3V.setVisibility(View.VISIBLE);
- showFragment(1);
- postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.recover);
+ currentIndex = 1;
+ showFragment();
+ initView();
+
}
});
@@ -93,32 +80,38 @@
viewBinding.messageTabAllCl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
- viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.line1V.setVisibility(View.VISIBLE);
- viewBinding.line2V.setVisibility(View.GONE);
- viewBinding.line3V.setVisibility(View.GONE);
- showFragment(2);
- postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.all);
-
+ currentIndex = 2;
+ showFragment();
+ initView();
}
});
}
private void initView() {
- viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
- viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
- viewBinding.line1V.setVisibility(View.GONE);
- viewBinding.line2V.setVisibility(View.VISIBLE);
- viewBinding.line3V.setVisibility(View.GONE);
if (this.currentIndex == 0) {
+ viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+ viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+ viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+ viewBinding.line1V.setVisibility(View.GONE);
+ viewBinding.line2V.setVisibility(View.VISIBLE);
+ viewBinding.line3V.setVisibility(View.GONE);
postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.nascent);
} else if (this.currentIndex == 1) {
+ viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+ viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+ viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+ viewBinding.line1V.setVisibility(View.GONE);
+ viewBinding.line2V.setVisibility(View.GONE);
+ viewBinding.line3V.setVisibility(View.VISIBLE);
postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.recover);
} else if (this.currentIndex == 2) {
+ viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+ viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+ viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+ viewBinding.line1V.setVisibility(View.VISIBLE);
+ viewBinding.line2V.setVisibility(View.GONE);
+ viewBinding.line3V.setVisibility(View.GONE);
postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.all);
}
}
@@ -146,41 +139,30 @@
*/
private void initFragment(Bundle savedInstanceState) {
mFragmentManager = _mActivity.getSupportFragmentManager();
- //纰庣墖鍐呴渶瑕佷娇鐢ㄦ潈闄愬拰forresult
-
- mNascentMessageFragment = new NascentMessageFragment();
- mRecoverMessageFragment = new RecoverMessageFragment();
- mAllMessageFragment = new AllMessageFragment();
+ //纰庣墖鍒濆鍖�
+ NascentMessageFragment mNascentMessageFragment = new NascentMessageFragment();
+ RecoverMessageFragment mRecoverMessageFragment = new RecoverMessageFragment();
+ AllMessageFragment mAllMessageFragment = new AllMessageFragment();
if (savedInstanceState != null) {
//鈥滃唴瀛橀噸鍚�濇椂璋冪敤 鑾峰彇鈥滃唴瀛橀噸鍚�濇椂淇濆瓨鐨勭储寮曚笅鏍�
currentIndex = savedInstanceState.getInt(CURRENT_FRAGMENT, 0);
- if (fragments.size() != 0) {
- fragments.clear();
+ if (fragmentList.size() != 0) {
+ fragmentList.clear();
}
- fragments.add(mFragmentManager.findFragmentByTag(0 + ""));
- fragments.add(mFragmentManager.findFragmentByTag(1 + ""));
- fragments.add(mFragmentManager.findFragmentByTag(2 + ""));
+ fragmentList.add(mFragmentManager.findFragmentByTag(0 + ""));
+ fragmentList.add(mFragmentManager.findFragmentByTag(1 + ""));
+ fragmentList.add(mFragmentManager.findFragmentByTag(2 + ""));
restoreFragment();//鎭㈠fragment椤甸潰
} else {
//姝e父鍚姩鏃惰皟鐢�
- fragments.add(mAllMessageFragment);
- fragments.add(mNascentMessageFragment);
- fragments.add(mRecoverMessageFragment);
+ fragmentList.add(mNascentMessageFragment);
+ fragmentList.add(mRecoverMessageFragment);
+ fragmentList.add(mAllMessageFragment);
showFragment();
}
- }
-
- /**
- * 鍒囨崲Fragment
- *
- * @param index 绱㈠紩
- */
- private void showFragment(int index) {
- currentIndex = index;
- showFragment();
}
/**
@@ -190,34 +172,33 @@
private void showFragment() {
FragmentTransaction ft = mFragmentManager.beginTransaction();
//濡傛灉涔嬪墠娌℃湁娣诲姞杩�
- if (!fragments.get(currentIndex).isAdded()) {
+ if (!fragmentList.get(currentIndex).isAdded()) {
//绗笁涓弬鏁颁负娣诲姞褰撳墠鐨刦ragment鏃剁粦瀹氫竴涓猼ag
ft.hide(currentFragment)
- .add(R.id.message_fcv, fragments.get(currentIndex), "" + currentIndex);
+ .add(R.id.message_fcv, fragmentList.get(currentIndex), currentIndex + "");
} else {
ft.hide(currentFragment)
- .show(fragments.get(currentIndex));
+ .show(fragmentList.get(currentIndex));
}
- currentFragment = fragments.get(currentIndex);
+ currentFragment = fragmentList.get(currentIndex);
ft.commit();
}
/**
* 鎭㈠fragment
*/
-
private void restoreFragment() {
FragmentTransaction ft = mFragmentManager.beginTransaction();
- for (int i = 0; i < fragments.size(); i++) {
+ for (int i = 0; i < fragmentList.size(); i++) {
if (i == currentIndex) {
- ft.show(fragments.get(i));
+ ft.show(fragmentList.get(i));
} else {
- ft.hide(fragments.get(i));
+ ft.hide(fragmentList.get(i));
}
}
ft.commit();
//鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵
- currentFragment = fragments.get(currentIndex);
+ currentFragment = fragmentList.get(currentIndex);
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
new file mode 100644
index 0000000..8f4c0b9
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageInfoActivity.java
@@ -0,0 +1,23 @@
+package com.hdl.photovoltaic.ui.message;
+
+
+import android.os.Bundle;
+
+import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.databinding.ActivityMessageInfoBinding;
+
+public class MessageInfoActivity extends CustomBaseActivity {
+
+ ActivityMessageInfoBinding viewBinding;
+
+ @Override
+ public Object getContentView() {
+ viewBinding = ActivityMessageInfoBinding.inflate(getLayoutInflater());
+ return viewBinding.getRoot();
+ }
+
+ @Override
+ public void onBindView(Bundle savedInstanceState) {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java
index 725e233..0de0186 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java
@@ -4,12 +4,16 @@
import android.os.Bundle;
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.CustomBaseFragment;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.databinding.FragmentNascentMessageBinding;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlCommonLogic;
-import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlMessageLogic;
import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
import com.hdl.photovoltaic.ui.bean.MessageBean;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -25,7 +29,7 @@
private MessageAdapter messageNascentAdapter;
- private List<MessageBean> mList;
+ private List<MessageBean> mList = new ArrayList<>();
@Override
public Object getContentView() {
@@ -44,18 +48,27 @@
}
private void initData() {
- mList = new ArrayList<>();
- for (int i = 0; i < 3; i++) {
- MessageBean messageBean = new MessageBean();
- messageBean.setContent("鏉ヤ簡涓�鏉″憡璀︿俊鎭�" + i);
- messageBean.setHomeName(i + "");
- messageBean.setTime("2023-12-06-15");
- messageBean.setRead(false);
- mList.add(messageBean);
- }
+// mList = new ArrayList<>();
+// for (int i = 0; i < 3; i++) {
+// MessageBean messageBean = new MessageBean();
+// messageBean.setTitle("鏉ヤ簡涓�鏉″憡璀︿俊鎭�" + i);
+// messageBean.setHomeName(i + "");
+// messageBean.setCreateTime((long) 1234567777);
+// messageBean.setRead(false);
+// mList.add(messageBean);
+// }
}
private void initEvent() {
+ //璁剧疆涓嬫媺绠ご棰滆壊
+ viewBinding.messageNascentSrl.setColorSchemeResources(R.color.text_FF245EC3);
+ viewBinding.messageNascentSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+ @Override
+ public void onRefresh() {
+ mList.clear();//琛ㄧず寮哄埗閲嶆柊璇锋眰娑堟伅鍒楄〃
+ getNascentMessageList(false);
+ }
+ });
messageNascentAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
@Override
public void onClick(int position, MessageBean item) {
@@ -70,8 +83,12 @@
viewBinding.messageNascentRecyclerview.setAdapter(messageNascentAdapter);
}
+ /**
+ * 鍒锋柊鍒楄〃鏁版嵁
+ */
private void updateListData() {
if (this.messageNascentAdapter != null) {
+ this.messageNascentAdapter.setList(mList);
this.messageNascentAdapter.notifyDataSetChanged();
}
}
@@ -82,9 +99,47 @@
//鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
if (eventBus.getType().equals(HdlCommonLogic.MessageFunctionTabSwitch.nascent.toString())) {
- HdlLogLogic.print("姝e湪鐐瑰嚮銆愯繘琛屼腑銆�");
- updateListData();
+ getNascentMessageList(true);
}
}
}
+
+ /**
+ * 鑾峰彇鍙戠敓涓殑娑堟伅鍒楄〃
+ *
+ * @param isShowLoading 鏄惁鍚姩 true鍚姩
+ */
+ private void getNascentMessageList(boolean isShowLoading) {
+ if (mList.size() == 0) {
+ if (isShowLoading) {
+ showLoading();
+ }
+ HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.untreated, new CloudCallBeak<List<MessageBean>>() {
+ @Override
+ public void onSuccess(List<MessageBean> list) {
+ if (isShowLoading) {
+ hideLoading();
+ }
+ if (!isShowLoading) {
+ viewBinding.messageNascentSrl.setRefreshing(false);
+ }
+
+ if (list != null && list.size() != 0) {
+ mList.addAll(list);
+ updateListData();
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (isShowLoading) {
+ hideLoading();
+ }
+ if (!isShowLoading) {
+ viewBinding.messageNascentSrl.setRefreshing(false);
+ }
+ }
+ });
+ }
+ }
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java
index 0df63af..20090df 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/RecoverMessageFragment.java
@@ -3,12 +3,17 @@
import android.os.Bundle;
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.CustomBaseFragment;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.databinding.FragmentRecoverMessageBinding;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlMessageLogic;
import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
import com.hdl.photovoltaic.ui.bean.MessageBean;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
@@ -26,6 +31,7 @@
private MessageAdapter messageRecoverAdapter;
private List<MessageBean> mList;
+
@Override
public Object getContentView() {
viewBinding = FragmentRecoverMessageBinding.inflate(getLayoutInflater());
@@ -43,18 +49,27 @@
}
private void initData() {
- mList = new ArrayList<>();
- for (int i = 0; i < 2; i++) {
- MessageBean messageBean = new MessageBean();
- messageBean.setContent("鏉ヤ簡涓�鏉″憡璀︿俊鎭�" + i);
- messageBean.setHomeName(i + "");
- messageBean.setTime("2023-12-06-15");
- messageBean.setRead(false);
- mList.add(messageBean);
- }
+// mList = new ArrayList<>();
+// for (int i = 0; i < 2; i++) {
+// MessageBean messageBean = new MessageBean();
+//// messageBean.setContent("鏉ヤ簡涓�鏉″憡璀︿俊鎭�" + i);
+// messageBean.setHomeName(i + "");
+//// messageBean.setTime("2023-12-06-15");
+// messageBean.setRead(false);
+// mList.add(messageBean);
+// }
}
private void initEvent() {
+ //璁剧疆涓嬫媺绠ご棰滆壊
+ viewBinding.messageRecoverSrl.setColorSchemeResources(R.color.text_FF245EC3);
+ viewBinding.messageRecoverSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+ @Override
+ public void onRefresh() {
+ getRecoverMessageList(false);
+ HdlLogLogic.print("RecoverMessageFragment涓嬫媺鍒锋柊", false);
+ }
+ });
messageRecoverAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() {
@Override
public void onClick(int position, MessageBean item) {
@@ -69,11 +84,17 @@
viewBinding.messageRecoverRecyclerview.setAdapter(messageRecoverAdapter);
}
+
+ /**
+ * 鍒锋柊鍒楄〃鏁版嵁
+ */
private void updateListData() {
if (this.messageRecoverAdapter != null) {
+ this.messageRecoverAdapter.setList(mList);
this.messageRecoverAdapter.notifyDataSetChanged();
}
}
+
@Override
public void onEventMessage(BaseEventBus eventBus) {
super.onEventMessage(eventBus);
@@ -81,7 +102,48 @@
if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) {
if (eventBus.getType().equals(HdlCommonLogic.MessageFunctionTabSwitch.recover.toString())) {
HdlLogLogic.print("姝e湪鐐瑰嚮銆愬凡鎭㈠銆�");
+ getRecoverMessageList(true);
}
}
}
+
+
+ /**
+ * 鑾峰彇鎭㈠涓殑娑堟伅鍒楄〃
+ *
+ * @param isShowLoading 鏄惁鍚姩 true鍚姩
+ */
+ private void getRecoverMessageList(boolean isShowLoading) {
+ if (mList.size() == 0) {
+ if (isShowLoading) {
+ showLoading();
+ }
+ HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.processed, new CloudCallBeak<List<MessageBean>>() {
+ @Override
+ public void onSuccess(List<MessageBean> list) {
+ if (isShowLoading) {
+ hideLoading();
+ }
+ if (!isShowLoading) {
+ viewBinding.messageRecoverSrl.setRefreshing(false);
+ }
+
+ if (list != null && list.size() != 0) {
+ mList.addAll(list);
+ updateListData();
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (isShowLoading) {
+ hideLoading();
+ }
+ if (!isShowLoading) {
+ viewBinding.messageRecoverSrl.setRefreshing(false);
+ }
+ }
+ });
+ }
+ }
}
diff --git a/app/src/main/res/layout/activity_message_info.xml b/app/src/main/res/layout/activity_message_info.xml
new file mode 100644
index 0000000..1f943ac
--- /dev/null
+++ b/app/src/main/res/layout/activity_message_info.xml
@@ -0,0 +1,11 @@
+<?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_FFFFFFFF"
+ tools:context=".ui.message.MessageInfoActivity">
+
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_message_all.xml b/app/src/main/res/layout/fragment_message_all.xml
index fd146fb..a3bc437 100644
--- a/app/src/main/res/layout/fragment_message_all.xml
+++ b/app/src/main/res/layout/fragment_message_all.xml
@@ -3,19 +3,19 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/all_parent"
android:layout_width="match_parent"
- android:background="#EA0C0C"
android:layout_height="match_parent">
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/message_all_recyclerview"
+ <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+ android:id="@+id/message_all_srl"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:background="@color/text_FFB300"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ android:layout_height="match_parent">
-
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/message_all_recyclerview"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clipToPadding="false"
+ android:paddingBottom="@dimen/dp_16" />
+ </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</FrameLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_nascent_message.xml b/app/src/main/res/layout/fragment_nascent_message.xml
index b18b7ca..bed934a 100644
--- a/app/src/main/res/layout/fragment_nascent_message.xml
+++ b/app/src/main/res/layout/fragment_nascent_message.xml
@@ -5,14 +5,17 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/message_nascent_recyclerview"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:background="@color/text_FFB300"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+ android:id="@+id/message_nascent_srl"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ >
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/message_nascent_recyclerview"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clipToPadding="false"
+ android:paddingBottom="@dimen/dp_16" />
+ </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_recover_message.xml b/app/src/main/res/layout/fragment_recover_message.xml
index 7d5844b..cd7964c 100644
--- a/app/src/main/res/layout/fragment_recover_message.xml
+++ b/app/src/main/res/layout/fragment_recover_message.xml
@@ -5,14 +5,18 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
- <androidx.recyclerview.widget.RecyclerView
- android:id="@+id/message_recover_recyclerview"
- android:layout_width="0dp"
- android:layout_height="0dp"
- android:background="@color/text_FFB300"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
+ <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+ android:id="@+id/message_recover_srl"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/message_recover_recyclerview"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clipToPadding="false"
+ android:paddingBottom="@dimen/dp_16" />
+ </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
+
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
--
Gitblit v1.8.0