Browse Source

1.签到打卡小红花界面
2.首页-我的部分UI修改
3.消息界面
4.我的收藏视频界面
5.我的关注人界面

FailedToRead 3 năm trước cách đây
mục cha
commit
3f8dc48a8a
71 tập tin đã thay đổi với 1917 bổ sung448 xóa
  1. 9 9
      .idea/misc.xml
  2. BIN
      app/libs/armeabi-v7a/libijkffmpeg.so
  3. BIN
      app/libs/armeabi-v7a/libijkplayer.so
  4. BIN
      app/libs/armeabi-v7a/libijksdl.so
  5. 1 0
      app/src/fragmentRecommend/layout/fragment_main_recommend.xml
  6. BIN
      app/src/fragmentUser/drawable/fragment_my_redflower.png
  7. BIN
      app/src/fragmentUser/drawable/fragment_my_vip.png
  8. BIN
      app/src/fragmentUser/drawable/fragment_my_vip_renew.png
  9. 18 3
      app/src/fragmentUser/layout/activity_mycollection.xml
  10. 19 3
      app/src/fragmentUser/layout/activity_myfollow.xml
  11. 11 4
      app/src/main/java/com/edufound/reader/activity/CommentActivity.java
  12. 3 3
      app/src/main/java/com/edufound/reader/activity/CrashDialogActivity.java
  13. 5 4
      app/src/main/java/com/edufound/reader/activity/CustomerServiceActivity.java
  14. 4 3
      app/src/main/java/com/edufound/reader/activity/LoginAlertActivity.java
  15. 4 4
      app/src/main/java/com/edufound/reader/activity/MainActivity.java
  16. 19 4
      app/src/main/java/com/edufound/reader/activity/MessageActivity.java
  17. 17 5
      app/src/main/java/com/edufound/reader/activity/MyCollectionActivity.java
  18. 16 4
      app/src/main/java/com/edufound/reader/activity/MyFollowActivity.java
  19. 9 6
      app/src/main/java/com/edufound/reader/activity/OthersRecordActivity.java
  20. 3 3
      app/src/main/java/com/edufound/reader/activity/PayActivity.java
  21. 4 3
      app/src/main/java/com/edufound/reader/activity/RecordActivity.java
  22. 15 5
      app/src/main/java/com/edufound/reader/activity/SafflowerActivity.java
  23. 4 3
      app/src/main/java/com/edufound/reader/activity/SmallFullVideoActivity.java
  24. 4 3
      app/src/main/java/com/edufound/reader/activity/UserInfoSettingActivity.java
  25. 3 3
      app/src/main/java/com/edufound/reader/activity/WebActivity.java
  26. 7 4
      app/src/main/java/com/edufound/reader/adapter/CommentItemAdapter.java
  27. 38 12
      app/src/main/java/com/edufound/reader/adapter/MessageItemAdapter.java
  28. 18 28
      app/src/main/java/com/edufound/reader/adapter/MyCollectionItemAdapter.java
  29. 28 25
      app/src/main/java/com/edufound/reader/adapter/MyFollowItemAdapter.java
  30. 16 4
      app/src/main/java/com/edufound/reader/adapter/SafflowerItemAdapter.java
  31. 2 4
      app/src/main/java/com/edufound/reader/adapter/SlideVideoAdapter.java
  32. 3 1
      app/src/main/java/com/edufound/reader/adapter/SlideVideoDanMarqueenAdapter.java
  33. 7 6
      app/src/main/java/com/edufound/reader/base/BaseActivity.java
  34. 30 0
      app/src/main/java/com/edufound/reader/base/BaseFragment.java
  35. 96 0
      app/src/main/java/com/edufound/reader/bean/MessageBean.java
  36. 31 0
      app/src/main/java/com/edufound/reader/bean/MyFollowBean.java
  37. 58 0
      app/src/main/java/com/edufound/reader/bean/SignInfoBean.java
  38. 279 0
      app/src/main/java/com/edufound/reader/bean/TaskBean.java
  39. 277 0
      app/src/main/java/com/edufound/reader/bean/UserRecordBean.java
  40. 3 1
      app/src/main/java/com/edufound/reader/contract/CommentContract.java
  41. 18 0
      app/src/main/java/com/edufound/reader/contract/MessageContract.java
  42. 5 1
      app/src/main/java/com/edufound/reader/contract/MyCollectionContract.java
  43. 13 0
      app/src/main/java/com/edufound/reader/contract/MyFollowContract.java
  44. 2 0
      app/src/main/java/com/edufound/reader/contract/OthersRecordContract.java
  45. 7 0
      app/src/main/java/com/edufound/reader/contract/RecommendFragmentContract.java
  46. 7 0
      app/src/main/java/com/edufound/reader/contract/SafflowerContract.java
  47. 10 10
      app/src/main/java/com/edufound/reader/cusview/RvListJzvdStd.java
  48. 15 0
      app/src/main/java/com/edufound/reader/fragment/CharacterFragment.java
  49. 25 2
      app/src/main/java/com/edufound/reader/fragment/MyTabFragment.java
  50. 25 4
      app/src/main/java/com/edufound/reader/fragment/RecommendFragment.java
  51. 1 1
      app/src/main/java/com/edufound/reader/listener/RecyclerItemClickListener.java
  52. 23 0
      app/src/main/java/com/edufound/reader/model/MessageModel.java
  53. 12 0
      app/src/main/java/com/edufound/reader/model/MyFollowModel.java
  54. 5 0
      app/src/main/java/com/edufound/reader/model/RecommendFragmentModel.java
  55. 6 0
      app/src/main/java/com/edufound/reader/model/SafflowerModel.java
  56. 15 4
      app/src/main/java/com/edufound/reader/presenter/CommentPresenter.java
  57. 109 15
      app/src/main/java/com/edufound/reader/presenter/MessagePresenter.java
  58. 44 17
      app/src/main/java/com/edufound/reader/presenter/MyCollectionPresenter.java
  59. 66 17
      app/src/main/java/com/edufound/reader/presenter/MyFollowPresenter.java
  60. 6 2
      app/src/main/java/com/edufound/reader/presenter/OthersRecordPresenter.java
  61. 0 1
      app/src/main/java/com/edufound/reader/presenter/PopWindowPresneter.java
  62. 46 10
      app/src/main/java/com/edufound/reader/presenter/RecommendFragmentPresenter.java
  63. 62 8
      app/src/main/java/com/edufound/reader/presenter/SafflowerPresenter.java
  64. 55 0
      app/src/main/java/com/edufound/reader/receiver/BackPageReceiver.java
  65. 13 0
      app/src/main/java/com/edufound/reader/util/EfunboxUtil.java
  66. BIN
      app/src/main/res/drawable/fragment_my_vip_renew.png
  67. 209 187
      app/src/main/res/layout/activity_comment.xml
  68. 17 3
      app/src/main/res/layout/activity_message.xml
  69. 10 0
      app/src/main/res/layout/activity_saffloer_sign_layout_item.xml
  70. 12 5
      app/src/main/res/layout/adapter_item_myfollow.xml
  71. 18 4
      app/src/main/res/layout/fragment_main_user.xml

+ 9 - 9
.idea/misc.xml

@@ -24,16 +24,16 @@
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/drawable/fragment_recommend_userhead_round.xml" value="0.26197916666666665" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/drawable/slidevideo_switch_track.xml" value="0.32734375" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/drawable/slidevideo_switch_track_selector.xml" value="0.32734375" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/layout/fragment_main_recommend.xml" value="0.33" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/layout/fragment_main_recommend.xml" value="1.0" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/layout/popup_myorder.xml" value="0.2889294403892944" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/layout/popupwindow_myorder.xml" value="0.2889294403892944" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/layout/popupwindow_record_remove.xml" value="0.2980535279805353" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/layout/slide_video_marqueen_item.xml" value="0.75" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/drawable/fragment_user_info_divider.xml" value="0.31640625" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/activity_mycollection.xml" value="0.18" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/activity_myfollow.xml" value="0.14" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/activity_mycollection.xml" value="0.2" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/activity_myfollow.xml" value="0.12" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/activity_smallfull_video.xml" value="0.1" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/adapter_item_record_authority.xml" value="0.5" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/adapter_item_record_authority.xml" value="0.67" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/fragment_user_rv_bottom.xml" value="0.2771317829457364" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/popup_window_bind_wechat.xml" value="0.25" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/popupwindow_cancellation_account.xml" value="0.5" />
@@ -55,11 +55,11 @@
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/drawable/player_seekbar_list.xml" value="0.2713541666666667" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/drawable/popupwindow_select_grade_griditem_divder.xml" value="0.5048828125" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_alert_login.xml" value="0.5" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_comment.xml" value="0.25" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_comment.xml" value="0.1" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_crash_dialog.xml" value="0.12" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_customerservice.xml" value="0.33" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_main.xml" value="0.15" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_message.xml" value="0.18" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_message.xml" value="0.14" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_otherrecord.xml" value="0.303125" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_pay.xml" value="0.25" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_record.xml" value="0.20887494397131331" />
@@ -71,16 +71,16 @@
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_comment.xml" value="0.5" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_comment_relayout_item.xml" value="0.25" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_message.xml" value="0.22" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_myfollow.xml" value="0.5" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_myfollow.xml" value="1.0" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_myollow.xml" value="0.25" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_popupwindow_myorder.xml" value="0.5" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_record.xml" value="0.4539641943734015" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_record_user.xml" value="0.67" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_safflower.xml" value="0.5" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_safflower.xml" value="0.67" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_slidevideo.xml" value="0.25" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/anim_getfollow.xml" value="0.75" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/curjzplayer_controller.xml" value="0.16" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/cusjzplayer_controller.xml" value="0.2791970802919708" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/cusjzplayer_controller.xml" value="3.0" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/fragment_main_character.xml" value="0.18" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/fragment_main_recommend.xml" value="0.2" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/fragment_main_user.xml" value="0.5" />

BIN
app/libs/armeabi-v7a/libijkffmpeg.so


BIN
app/libs/armeabi-v7a/libijkplayer.so


BIN
app/libs/armeabi-v7a/libijksdl.so


+ 1 - 0
app/src/fragmentRecommend/layout/fragment_main_recommend.xml

@@ -63,6 +63,7 @@
                             </FrameLayout>
 
                             <ImageView
+                                    android:id="@+id/fragment_main_recommend_isfollow"
                                     android:layout_width="20dp"
                                     android:layout_height="20dp"
                                     android:layout_gravity="center|bottom"

BIN
app/src/fragmentUser/drawable/fragment_my_redflower.png


BIN
app/src/fragmentUser/drawable/fragment_my_vip.png


BIN
app/src/fragmentUser/drawable/fragment_my_vip_renew.png


+ 18 - 3
app/src/fragmentUser/layout/activity_mycollection.xml

@@ -42,12 +42,27 @@
                     android:src="@drawable/main_back"></ImageView>
         </FrameLayout>
 
-        <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/mycollection_recyclearview"
+        <FrameLayout
                 android:layout_width="match_parent"
                 android:layout_height="0dp"
                 android:layout_gravity="center_horizontal"
-                android:layout_weight="6"></androidx.recyclerview.widget.RecyclerView>
+                android:layout_weight="6">
+
+            <androidx.recyclerview.widget.RecyclerView
+                    android:id="@+id/mycollection_recyclearview"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_gravity="center_horizontal"></androidx.recyclerview.widget.RecyclerView>
+
+            <ImageView
+                    android:id="@+id/mycollection_nocollection"
+                    android:layout_width="320dp"
+                    android:layout_height="320dp"
+                    android:layout_gravity="center"
+                    android:src="@drawable/fragment_user_no_record"
+                    android:visibility="gone"></ImageView>
+        </FrameLayout>
+
 
     </LinearLayout>
 

+ 19 - 3
app/src/fragmentUser/layout/activity_myfollow.xml

@@ -42,12 +42,28 @@
                     android:src="@drawable/main_back"></ImageView>
         </FrameLayout>
 
-        <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/myfollow_recyclearview"
+
+        <FrameLayout
                 android:layout_width="match_parent"
                 android:layout_height="0dp"
                 android:layout_gravity="center_horizontal"
-                android:layout_weight="6"></androidx.recyclerview.widget.RecyclerView>
+                android:layout_weight="6">
+
+            <androidx.recyclerview.widget.RecyclerView
+                    android:id="@+id/myfollow_recyclearview"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_gravity="center_horizontal"></androidx.recyclerview.widget.RecyclerView>
+
+            <ImageView
+                    android:id="@+id/myfollow_nofollow"
+                    android:layout_width="320dp"
+                    android:layout_height="320dp"
+                    android:layout_gravity="center"
+                    android:src="@drawable/fragment_user_no_record"
+                    android:visibility="gone"></ImageView>
+        </FrameLayout>
+
 
     </LinearLayout>
 

+ 11 - 4
app/src/main/java/com/edufound/reader/activity/CommentActivity.java

@@ -119,7 +119,7 @@ public class CommentActivity extends BaseMvpActivity<CommentPresenter> implement
             }
         });
         Bundle params = getIntent().getBundleExtra("params_bundle");
-        String exampleId = params.getString("exampleId");
+        String exampleId = params.getString("id");
         if (TextUtils.isEmpty(exampleId)) {
             Logger.e("获取参数失败");
         } else {
@@ -129,20 +129,21 @@ public class CommentActivity extends BaseMvpActivity<CommentPresenter> implement
     }
 
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 
+
     @Override
     public void showLoading() {
 
@@ -198,4 +199,10 @@ public class CommentActivity extends BaseMvpActivity<CommentPresenter> implement
             manager.hideSoftInputFromWindow(mCommentEdit.getWindowToken(), 0);
         }
     }
+
+    @Override
+    protected void onDestroy() {
+        mPresenter.activityDestory();
+        super.onDestroy();
+    }
 }

+ 3 - 3
app/src/main/java/com/edufound/reader/activity/CrashDialogActivity.java

@@ -42,17 +42,17 @@ public class CrashDialogActivity extends BaseMvpActivity<CrashDialogPresenter> i
     }
 
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 

+ 5 - 4
app/src/main/java/com/edufound/reader/activity/CustomerServiceActivity.java

@@ -34,20 +34,21 @@ public class CustomerServiceActivity extends BaseMvpActivity<CustomerServicePres
     }
 
     @Override
-    public void onDisconnect() {
-
+    public void onGetDisconnect() {
+        
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 
+
     @Override
     public void showLoading() {
 

+ 4 - 3
app/src/main/java/com/edufound/reader/activity/LoginAlertActivity.java

@@ -100,20 +100,21 @@ public class LoginAlertActivity extends BaseMvpActivity<LoginAlertPresenter> imp
     }
 
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 
+
     @Override
     public void showLoading() {
 

+ 4 - 4
app/src/main/java/com/edufound/reader/activity/MainActivity.java

@@ -74,22 +74,22 @@ public class MainActivity extends BaseMvpActivity<MainPresenter> implements Main
 
     }
 
-
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 
+
     @Override
     public void onLoginSuccess() {
 

+ 19 - 4
app/src/main/java/com/edufound/reader/activity/MessageActivity.java

@@ -28,6 +28,10 @@ public class MessageActivity extends BaseMvpActivity<MessagePresenter> implement
     @BindView(id = R.id.activity_message_back)
     ImageView mBack;
 
+
+    @BindView(id = R.id.message_nomessage)
+    ImageView mNoMessage;
+
     @Override
     public int getLayoutId() {
         return R.layout.activity_message;
@@ -38,27 +42,28 @@ public class MessageActivity extends BaseMvpActivity<MessagePresenter> implement
         mActivity = this;
         mPresenter = new MessagePresenter();
         mPresenter.attachView(this);
-        mPresenter.initRecyclerView(mRecyclerView);
         addUiClickListener(mBack, o -> {
             mActivity.finish();
         });
         addUiClickListener(mReadAll, o -> {
             Toast.makeText(mActivity, "全部已读", Toast.LENGTH_SHORT).show();
+            mPresenter.doReadAllMessage();
         });
+        mPresenter.getAllMessage();
     }
 
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 
@@ -86,4 +91,14 @@ public class MessageActivity extends BaseMvpActivity<MessagePresenter> implement
     public ViewGroup getRootView() {
         return findViewById(android.R.id.content);
     }
+
+    @Override
+    public ImageView getNoMessage() {
+        return mNoMessage;
+    }
+
+    @Override
+    public void getMessageSuccess() {
+        mPresenter.initRecyclerView(mRecyclerView);
+    }
 }

+ 17 - 5
app/src/main/java/com/edufound/reader/activity/MyCollectionActivity.java

@@ -23,6 +23,8 @@ public class MyCollectionActivity extends BaseMvpActivity<MyCollectionPresenter>
     RecyclerView mRecyclerView;
     @BindView(id = R.id.activity_mycollection_back)
     ImageView mBack;
+    @BindView(id = R.id.mycollection_nocollection)
+    ImageView mNoCollection;
 
 
     @Override
@@ -38,22 +40,22 @@ public class MyCollectionActivity extends BaseMvpActivity<MyCollectionPresenter>
         addUiClickListener(mBack, o -> {
             mActivity.finish();
         });
-        mPresenter.initRecyclerView(mRecyclerView);
-        mPresenter.getFavoritesData(mRecyclerView);
+
+        mPresenter.getFavoritesData();
     }
 
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 
@@ -81,4 +83,14 @@ public class MyCollectionActivity extends BaseMvpActivity<MyCollectionPresenter>
     public ViewGroup getRootView() {
         return findViewById(android.R.id.content);
     }
+
+    @Override
+    public ImageView getNoCollectionImg() {
+        return mNoCollection;
+    }
+
+    @Override
+    public void getFavoritesSuccess() {
+        mPresenter.initRecyclerView(mRecyclerView);
+    }
 }

+ 16 - 4
app/src/main/java/com/edufound/reader/activity/MyFollowActivity.java

@@ -23,6 +23,8 @@ public class MyFollowActivity extends BaseMvpActivity<MyFollowPresenter> impleme
     RecyclerView mRecyclerView;
     @BindView(id = R.id.activity_myfollow_back)
     ImageView mBack;
+    @BindView(id = R.id.myfollow_nofollow)
+    ImageView mNoFollow;
 
 
     @Override
@@ -35,24 +37,24 @@ public class MyFollowActivity extends BaseMvpActivity<MyFollowPresenter> impleme
         mActivity = this;
         mPresenter = new MyFollowPresenter();
         mPresenter.attachView(this);
-        mPresenter.initRecyclerView(mRecyclerView);
         addUiClickListener(mBack, o -> {
             mActivity.finish();
         });
+        mPresenter.getFollowAll();
     }
 
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 
@@ -80,4 +82,14 @@ public class MyFollowActivity extends BaseMvpActivity<MyFollowPresenter> impleme
     public ViewGroup getRootView() {
         return findViewById(android.R.id.content);
     }
+
+    @Override
+    public ImageView getNoFollow() {
+        return mNoFollow;
+    }
+
+    @Override
+    public void getFollowSuccess() {
+        mPresenter.initRecyclerView(mRecyclerView);
+    }
 }

+ 9 - 6
app/src/main/java/com/edufound/reader/activity/OthersRecordActivity.java

@@ -95,7 +95,7 @@ public class OthersRecordActivity extends BaseMvpActivity<OthersRecordPresenter>
         mPresenter.attachView(this);
         mScreenRect = new Rect(0, 0, Consts.getScreenSize()[0], Consts.getScreenSize()[1]);
         RxView.scrollChangeEvents(mScrollView).subscribe(viewScrollChangeEvent -> {
-           loadMoreItem();
+            loadMoreItem();
         });
         addUiClick(mBack, o -> {
             mActivity.finish();
@@ -107,20 +107,21 @@ public class OthersRecordActivity extends BaseMvpActivity<OthersRecordPresenter>
     }
 
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 
+
     @Override
     public void showLoading() {
 
@@ -148,9 +149,9 @@ public class OthersRecordActivity extends BaseMvpActivity<OthersRecordPresenter>
 
     @Override
     protected void onDestroy() {
-        super.onDestroy();
         isNeedLoad = true;
         mPresenter.onDestory(mGridLayout);
+        super.onDestroy();
     }
 
     @Override
@@ -179,7 +180,7 @@ public class OthersRecordActivity extends BaseMvpActivity<OthersRecordPresenter>
         mFansCount.setText(String.valueOf(info.getFansAmount()));
         mFlowerCount.setText(String.valueOf(info.getIntegralAmount()));
         mPlayCount.setText(String.valueOf(info.getPlayAmount()));
-        mUserName.setText(info.getUser().getMobile());
+        mUserName.setText(info.getUser().getNickName());
         doFollowSuccess(info.getLike());
         addUiClick(mIsFansCheckBox, o -> {
             mPresenter.doFollow(info.getUser().getUid());
@@ -195,4 +196,6 @@ public class OthersRecordActivity extends BaseMvpActivity<OthersRecordPresenter>
         }
     }
 
+
+
 }

+ 3 - 3
app/src/main/java/com/edufound/reader/activity/PayActivity.java

@@ -67,17 +67,17 @@ public class PayActivity extends BaseMvpActivity<PayPresenter> implements PayCon
     }
 
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 

+ 4 - 3
app/src/main/java/com/edufound/reader/activity/RecordActivity.java

@@ -72,20 +72,21 @@ public class RecordActivity extends BaseMvpActivity<RecordPresenter> implements
     }
 
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 
+
     @Override
     public void onLoginSuccess() {
 

+ 15 - 5
app/src/main/java/com/edufound/reader/activity/SafflowerActivity.java

@@ -37,28 +37,28 @@ public class SafflowerActivity extends BaseMvpActivity<SafflowerPresenter> imple
         mActivity = this;
         mPresenter = new SafflowerPresenter();
         mPresenter.attachView(this);
-        mPresenter.initSignLayout(mSignLayout);
-        mPresenter.initRecyclearView(mRecyclerView);
         addUiClickListener(mBack, o -> {
             mActivity.finish();
         });
         addUiClickListener(mSign, o -> {
             Toast.makeText(mActivity, "点击签到", Toast.LENGTH_SHORT).show();
         });
+        mPresenter.getTaskData();
+        mPresenter.getSignInfo();
     }
 
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 
@@ -81,4 +81,14 @@ public class SafflowerActivity extends BaseMvpActivity<SafflowerPresenter> imple
     public Activity getActivity() {
         return mActivity;
     }
+
+    @Override
+    public void getTaskSuccess() {
+        mPresenter.initRecyclearView(mRecyclerView);
+    }
+
+    @Override
+    public void getSignInfoSuccess() {
+        mPresenter.initSignLayout(mSignLayout);
+    }
 }

+ 4 - 3
app/src/main/java/com/edufound/reader/activity/SmallFullVideoActivity.java

@@ -44,20 +44,21 @@ public class SmallFullVideoActivity extends BaseMvpActivity<SmallFullVideoPresen
     }
 
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 
+
     @Override
     public void showLoading() {
 

+ 4 - 3
app/src/main/java/com/edufound/reader/activity/UserInfoSettingActivity.java

@@ -107,20 +107,21 @@ public class UserInfoSettingActivity extends BaseMvpActivity<UserInfoSettingPres
     }
 
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 
+
     @Override
     public void showLoading() {
 

+ 3 - 3
app/src/main/java/com/edufound/reader/activity/WebActivity.java

@@ -40,17 +40,17 @@ public class WebActivity extends BaseMvpActivity<WebPresenter> implements WebCon
     }
 
     @Override
-    public void onDisconnect() {
+    public void onGetDisconnect() {
 
     }
 
     @Override
-    public void onMobileConnect() {
+    public void onGetMobileConnect() {
 
     }
 
     @Override
-    public void onWifiConnect() {
+    public void onGetWifiConnect() {
 
     }
 

+ 7 - 4
app/src/main/java/com/edufound/reader/adapter/CommentItemAdapter.java

@@ -56,13 +56,16 @@ public class CommentItemAdapter extends RecyclerView.Adapter<CommentItemHolder>
     @Override
     public void onBindViewHolder(@NonNull CommentItemHolder holder, int position) {
         GlideUtils.loadCircleImage(mContext, mListData.get(position).getUser().getAvatar(), holder.mUserHead);
-        holder.mNickName.setText("昵称:" + mListData.get(position).getUser().getMobile());
+        holder.mNickName.setText("昵称:" + mListData.get(position).getUser().getNickName());
         holder.mCommentText.setText(mListData.get(position).getDetailDesc());
         if (mListData.get(position).getGmtCreated() != null) {
             holder.mItemTime.setText("" + TimeUtil.timeStamp2Date(Long.valueOf(mListData.get(position).getGmtCreated()), "MM-dd"));
         }
+        Logger.e("index=" + position + "--mListData.get(position).getIsLike():" + mListData.get(position).getIsLike());
         if (mListData.get(position).getIsLike()) {
             holder.mThumbStatus.setImageResource(R.drawable.adapter_item_comment_item_thumb_true);
+        } else {
+            holder.mThumbStatus.setImageResource(R.drawable.adapter_item_comment_item_thumb_false);
         }
         holder.mThumbNum.setText(mListData.get(position).getLikeCount() != null ? mListData.get(position).getLikeCount() : "0");
         if (mItemClickListener != null) {
@@ -83,7 +86,7 @@ public class CommentItemAdapter extends RecyclerView.Adapter<CommentItemHolder>
                 View view = mLayoutInflater.inflate(R.layout.adapter_item_comment_relayout_item, null);
                 TextView name = view.findViewById(R.id.adapter_item_comment_item_relayout_name);
                 TextView comment = view.findViewById(R.id.adapter_item_comment_item_relayout_comment);
-                name.setText(item.getUser().getMobile() + ":");
+                name.setText(item.getUser().getNickName() + ":");
                 comment.setText(item.getContent());
                 holder.mReLayout.addView(view);
                 holder.mReLayout.setVisibility(View.VISIBLE);
@@ -131,8 +134,8 @@ class CommentItemHolder extends RecyclerView.ViewHolder {
         mReLayout = itemView.findViewById(R.id.adapter_item_comment_item_relayout);
         mUserHead = itemView.findViewById(R.id.adapter_item_comment_item_userhead);
         mThumbLayout = itemView.findViewById(R.id.adapter_item_comment_item_comment_thumb_layout);
-        mThumbNum = mThumbLayout.findViewById(R.id.adapter_item_comment_item_comment_thumb_layout_thumbnum);
-        mThumbStatus = mThumbLayout.findViewById(R.id.adapter_item_comment_item_comment_thumb_layout_img_status);
+        mThumbNum = itemView.findViewById(R.id.adapter_item_comment_item_comment_thumb_layout_thumbnum);
+        mThumbStatus = itemView.findViewById(R.id.adapter_item_comment_item_comment_thumb_layout_img_status);
         mReCommentLayout = itemView.findViewById(R.id.adapter_item_comment_item_comment_recomment_layout);
         mItemTime = itemView.findViewById(R.id.adapter_item_comment_item_time);
     }

+ 38 - 12
app/src/main/java/com/edufound/reader/adapter/MessageItemAdapter.java

@@ -8,9 +8,14 @@ import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.edufound.reader.R;
+import com.edufound.reader.bean.MessageBean;
+import com.edufound.reader.listener.RecyclerItemClickListener;
 import com.edufound.reader.util.GlideUtils;
+import com.edufound.reader.util.TimeUtil;
+import com.jakewharton.rxbinding4.view.RxView;
 
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 import androidx.annotation.NonNull;
 import androidx.recyclerview.widget.RecyclerView;
@@ -19,9 +24,10 @@ public class MessageItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
 
     private LayoutInflater mLayoutInflater;
     private Context mContext;
-    private List<Object> mListData;
+    private List<MessageBean> mListData;
+    private RecyclerItemClickListener mItemClick;
 
-    public MessageItemAdapter(Context context, List<Object> listData) {
+    public MessageItemAdapter(Context context, List<MessageBean> listData) {
         mContext = context;
         mLayoutInflater = LayoutInflater.from(context);
         mListData = listData;
@@ -29,7 +35,11 @@ public class MessageItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
 
     }
 
-    public void addMored(List<Object> listData) {
+    public void setOnItemListener(RecyclerItemClickListener itemclick) {
+        mItemClick = itemclick;
+    }
+
+    public void addMored(List<MessageBean> listData) {
         mListData = listData;
     }
 
@@ -47,17 +57,33 @@ public class MessageItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
 
     @Override
     public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
-        ((MessageItemHolder) holder).mItemTime.setText(String.valueOf(mListData.get(position)));
-        if (((MessageItemHolder) holder).mItemLoadAll.getVisibility() == View.VISIBLE) {
+        ((MessageItemHolder) holder).mItemTime.setText(TimeUtil.timeStamp2Date(Long.valueOf(mListData.get(position).getGmtCreated()), "yyyy年MM月dd日 HH:mm"));
+        if (mListData.get(position).getContent().length() > 55) {
             ((MessageItemHolder) holder).mItemContent.setText(((MessageItemHolder) holder).mItemContent.getText().toString().substring(0, 55));
+            RxView.clicks(((MessageItemHolder) holder).mItemLoadAll).throttleFirst(2, TimeUnit.SECONDS).subscribe(o -> {
+                ((MessageItemHolder) holder).mItemContent.setText(mListData.get(position).getContent());
+                ((MessageItemHolder) holder).mItemLoadAll.setVisibility(View.INVISIBLE);
+                //已读操作
+                if (mItemClick != null) {
+                    mItemClick.onClickListener(position, holder.itemView, mListData.get(position).getId());
+                }
+            });
+        } else {
+            ((MessageItemHolder) holder).mItemContent.setText(mListData.get(position).getContent());
+            ((MessageItemHolder) holder).mItemLoadAll.setVisibility(View.INVISIBLE);
         }
-        ((MessageItemHolder) holder).mItemLoadAll.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                view.setVisibility(View.INVISIBLE);
-                ((MessageItemHolder) holder).mItemContent.setText(((MessageItemHolder) holder).mItemContent.getText() + "--" + ((MessageItemHolder) holder).mItemContent.getText());
-            }
-        });
+
+        if (mListData.get(position).getStatus().equals("DISABLE")) {
+            ((MessageItemHolder) holder).mItemIsNew.setVisibility(View.INVISIBLE);
+        } else {
+            RxView.clicks(((MessageItemHolder) holder).itemView).throttleFirst(2, TimeUnit.SECONDS).subscribe(o -> {
+                //已读操作
+                if (mItemClick != null) {
+                    mItemClick.onClickListener(position, holder.itemView, mListData.get(position).getId());
+                }
+            });
+        }
+
     }
 
     @Override

+ 18 - 28
app/src/main/java/com/edufound/reader/adapter/MyCollectionItemAdapter.java

@@ -9,8 +9,11 @@ import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.edufound.reader.R;
+import com.edufound.reader.bean.UserRecordBean;
 import com.edufound.reader.listener.RecyclerItemClickListener;
+import com.edufound.reader.util.EfunboxUtil;
 import com.edufound.reader.util.GlideUtils;
+import com.edufound.reader.util.SizeUtils;
 import com.jakewharton.rxbinding4.view.RxView;
 
 import java.util.List;
@@ -29,10 +32,10 @@ public class MyCollectionItemAdapter extends RecyclerView.Adapter<RecyclerView.V
     public static final int ITEM_TYPE_BOTTOM = 2;
     private LayoutInflater mLayoutInflater;
     private Context mContext;
-    private List<Object> mListData;
+    private List<UserRecordBean> mListData;
     private RecyclerItemClickListener mRecyclerItemClickListener;
 
-    public MyCollectionItemAdapter(Context context, List<Object> listData) {
+    public MyCollectionItemAdapter(Context context, List<UserRecordBean> listData) {
         mContext = context;
         mLayoutInflater = LayoutInflater.from(context);
         mListData = listData;
@@ -40,8 +43,8 @@ public class MyCollectionItemAdapter extends RecyclerView.Adapter<RecyclerView.V
 
     }
 
-    public void addMored(List<Object> listData) {
-        mListData = listData;
+    public void addMored(List<UserRecordBean> listData) {
+        mListData.addAll(listData);
     }
 
 
@@ -63,30 +66,15 @@ public class MyCollectionItemAdapter extends RecyclerView.Adapter<RecyclerView.V
 
     @Override
     public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, @SuppressLint("RecyclerView") int position) {
-        ((MyCollectionItemHolder) holder).mItemName.setText(String.valueOf(mListData.get(position)));
-        GlideUtils.loadImage(mContext, "http://p.qpic.cn/videoyun/0/2449_43b6f696980311e59ed467f22794e792_1/640", ((MyCollectionItemHolder) holder).mItemIcon);
+        ((MyCollectionItemHolder) holder).mItemName.setText(String.valueOf(mListData.get(position).getUserRead().getTitle()));
+        GlideUtils.loadRoundCircleImage(mContext, mListData.get(position).getUserRead().getIconImg(), ((MyCollectionItemHolder) holder).mItemIcon, SizeUtils.dp2px(mContext, 20));
+        ((MyCollectionItemHolder) holder).mCommentNum.setText(EfunboxUtil.checkNum10000(String.valueOf(mListData.get(position).getUserRead().getCommentAmount())));
+        ((MyCollectionItemHolder) holder).mLookNum.setText(EfunboxUtil.checkNum10000(String.valueOf(mListData.get(position).getUserRead().getPlayAmount())));
+        ((MyCollectionItemHolder) holder).mThumbNum.setText(EfunboxUtil.checkNum10000(String.valueOf(mListData.get(position).getUserRead().getLikeAmount())));
+        ((MyCollectionItemHolder) holder).mStartNum.setText(EfunboxUtil.checkNum10000(String.valueOf(mListData.get(position).getUserRead().getFavoritesAmount())));
         if (mRecyclerItemClickListener != null) {
-
-            RxView.clicks(((MyCollectionItemHolder) holder).mItemView).throttleFirst(2, TimeUnit.SECONDS).subscribe(new Observer<Unit>() {
-                @Override
-                public void onSubscribe(@io.reactivex.rxjava3.annotations.NonNull Disposable d) {
-
-                }
-
-                @Override
-                public void onNext(@io.reactivex.rxjava3.annotations.NonNull Unit unit) {
-                    mRecyclerItemClickListener.onClickListener(position, ((MyCollectionItemHolder) holder).mItemView);
-                }
-
-                @Override
-                public void onError(@io.reactivex.rxjava3.annotations.NonNull Throwable e) {
-
-                }
-
-                @Override
-                public void onComplete() {
-
-                }
+            RxView.clicks(((MyCollectionItemHolder) holder).mItemView).throttleFirst(2, TimeUnit.SECONDS).subscribe(o -> {
+                mRecyclerItemClickListener.onClickListener(position, ((MyCollectionItemHolder) holder).mItemView, null);
             });
         }
     }
@@ -95,6 +83,8 @@ public class MyCollectionItemAdapter extends RecyclerView.Adapter<RecyclerView.V
     public int getItemCount() {
         return mListData.size();
     }
+
+
 }
 
 
@@ -115,7 +105,7 @@ class MyCollectionItemHolder extends RecyclerView.ViewHolder {
         mItemName = itemView.findViewById(R.id.adapter_item_record_authority_name);
         mLookNum = itemView.findViewById(R.id.adapter_item_record_authority_look_num);
         mThumbNum = itemView.findViewById(R.id.adapter_item_record_authority_thumb_num);
-        mCommentNum = itemView.findViewById(R.id.adapter_item_record_authority_comment_num);
+        mCommentNum = itemView.findViewById(R.id.adapter_item_record_authority_allcount_num);
         mStartNum = itemView.findViewById(R.id.adapter_item_record_authority_start_num);
 
     }

+ 28 - 25
app/src/main/java/com/edufound/reader/adapter/MyFollowItemAdapter.java

@@ -12,8 +12,11 @@ import android.widget.Toast;
 
 import com.edufound.reader.R;
 import com.edufound.reader.activity.OthersRecordActivity;
+import com.edufound.reader.bean.MyFollowBean;
 import com.edufound.reader.listener.RecyclerItemClickListener;
+import com.edufound.reader.util.EfunboxUtil;
 import com.edufound.reader.util.GlideUtils;
+import com.edufound.reader.util.TimeUtil;
 import com.jakewharton.rxbinding4.view.RxView;
 
 import java.util.List;
@@ -32,12 +35,12 @@ public class MyFollowItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
     public static final int ITEM_TYPE_BOTTOM = 2;
     private LayoutInflater mLayoutInflater;
     private Context mContext;
-    private List<Object> mListData;
+    private List<MyFollowBean> mListData;
     private int mHeaderCount = 0;//头部View个数
     private int mBottomCount = 0;//底部View个数
     private RecyclerItemClickListener mRecyclerItemClickListener;
 
-    public MyFollowItemAdapter(Context context, List<Object> listData) {
+    public MyFollowItemAdapter(Context context, List<MyFollowBean> listData) {
         mContext = context;
         mLayoutInflater = LayoutInflater.from(context);
         mListData = listData;
@@ -45,7 +48,7 @@ public class MyFollowItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
 
     }
 
-    public void addMored(List<Object> listData) {
+    public void addMored(List<MyFollowBean> listData) {
         mListData.addAll(listData);
     }
 
@@ -105,29 +108,16 @@ public class MyFollowItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
         if (holder instanceof MyCollectionHeaderViewHolder) {
 
         } else if (holder instanceof MyFollowItemHolder) {
-            ((MyFollowItemHolder) holder).mItemName.setText(String.valueOf(mListData.get(position - mHeaderCount)));
+            GlideUtils.loadCircleImage(mContext, mListData.get(position - mHeaderCount).getUserInfo().getUser().getAvatar(), ((MyFollowItemHolder) holder).mUserHead);
+            ((MyFollowItemHolder) holder).mItemName.setText(String.valueOf(mListData.get(position - mHeaderCount).getUserInfo().getUser().getNickName()));
+            ((MyFollowItemHolder) holder).mFollowTime.setText(TimeUtil.timeStamp2Date(Long.valueOf(String.valueOf(mListData.get(position - mHeaderCount).getFans().getGmtCreated())), "MM-dd"));
+            ((MyFollowItemHolder) holder).mLookNum.setText(EfunboxUtil.checkNum10000(String.valueOf(mListData.get(position - mHeaderCount).getUserInfo().getPlayAmount())));
+            ((MyFollowItemHolder) holder).mThumbNum.setText(EfunboxUtil.checkNum10000(String.valueOf(mListData.get(position - mHeaderCount).getUserInfo().getLikeAmount())));
+            ((MyFollowItemHolder) holder).mCommentNum.setText(EfunboxUtil.checkNum10000(String.valueOf(mListData.get(position - mHeaderCount).getUserInfo().getCommentAmount())));
+            ((MyFollowItemHolder) holder).mStarNum.setText(EfunboxUtil.checkNum10000(String.valueOf(mListData.get(position - mHeaderCount).getUserInfo().getFavoritesAmount())));
             if (mRecyclerItemClickListener != null) {
-
-                RxView.clicks(((MyFollowItemHolder) holder).mItemView).throttleFirst(2, TimeUnit.SECONDS).subscribe(new Observer<Unit>() {
-                    @Override
-                    public void onSubscribe(@io.reactivex.rxjava3.annotations.NonNull Disposable d) {
-
-                    }
-
-                    @Override
-                    public void onNext(@io.reactivex.rxjava3.annotations.NonNull Unit unit) {
-                        mRecyclerItemClickListener.onClickListener(position, ((MyFollowItemHolder) holder).mItemView);
-                    }
-
-                    @Override
-                    public void onError(@io.reactivex.rxjava3.annotations.NonNull Throwable e) {
-
-                    }
-
-                    @Override
-                    public void onComplete() {
-
-                    }
+                RxView.clicks(((MyFollowItemHolder) holder).mItemView).throttleFirst(2, TimeUnit.SECONDS).subscribe(o -> {
+                    mRecyclerItemClickListener.onClickListener(position, ((MyFollowItemHolder) holder).mItemView, null);
                 });
             }
         } else if (holder instanceof MyCollectionBottomViewHolder) {
@@ -135,6 +125,7 @@ public class MyFollowItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
         }
     }
 
+
     @Override
     public int getItemCount() {
         return mHeaderCount + getContentItemCount() + mBottomCount;
@@ -145,13 +136,25 @@ public class MyFollowItemAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
 class MyFollowItemHolder extends RecyclerView.ViewHolder {
 
     View mItemView;
+    ImageView mUserHead;
     TextView mItemName;
+    TextView mFollowTime;
+    TextView mLookNum;
+    TextView mThumbNum;
+    TextView mCommentNum;
+    TextView mStarNum;
 
 
     public MyFollowItemHolder(@NonNull View itemView) {
         super(itemView);
         mItemView = itemView;
+        mUserHead = itemView.findViewById(R.id.adapter_item_myfollow_userhead);
         mItemName = itemView.findViewById(R.id.adapter_item_myfollow_name);
+        mFollowTime = itemView.findViewById(R.id.adapter_item_myfollow_followtime);
+        mLookNum = itemView.findViewById(R.id.adapter_item_myfollow_look_num);
+        mThumbNum = itemView.findViewById(R.id.adapter_item_myfollow_thumb_num);
+        mCommentNum = itemView.findViewById(R.id.adapter_item_myfollow_comment_num);
+        mStarNum = itemView.findViewById(R.id.adapter_item_myfollow_start_num);
 
     }
 }

+ 16 - 4
app/src/main/java/com/edufound/reader/adapter/SafflowerItemAdapter.java

@@ -7,6 +7,8 @@ import android.view.ViewGroup;
 import android.widget.TextView;
 
 import com.edufound.reader.R;
+import com.edufound.reader.bean.SignInfoBean;
+import com.edufound.reader.bean.TaskBean;
 
 import java.util.List;
 
@@ -18,9 +20,9 @@ public class SafflowerItemAdapter extends RecyclerView.Adapter<SafflowerItemHold
 
     private LayoutInflater mLayoutInflater;
     private Context mContext;
-    private List<Object> mListData;
+    private List<TaskBean> mListData;
 
-    public SafflowerItemAdapter(Context context, List<Object> listData) {
+    public SafflowerItemAdapter(Context context, List<TaskBean> listData) {
         mContext = context;
         mLayoutInflater = LayoutInflater.from(context);
         mListData = listData;
@@ -31,12 +33,18 @@ public class SafflowerItemAdapter extends RecyclerView.Adapter<SafflowerItemHold
     @NonNull
     @Override
     public SafflowerItemHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
-        return new SafflowerItemHolder(mLayoutInflater.inflate(R.layout.adapter_item_safflower , parent, false));
+        return new SafflowerItemHolder(mLayoutInflater.inflate(R.layout.adapter_item_safflower, parent, false));
     }
 
     @Override
     public void onBindViewHolder(@NonNull SafflowerItemHolder holder, int position) {
-        holder.mTitle.setText(mListData.get(position).toString());
+        holder.mTitle.setText(mListData.get(position).getTask().getTitle());
+        holder.mFlowerCount.setText(mListData.get(position).getTask().getAward());
+        if (mListData.get(position).getUserTask() == null) {
+            holder.mOverCount.setText("0/" + mListData.get(position).getTask().getJoinAmount());
+        } else {
+            holder.mOverCount.setText(mListData.get(position).getUserTask().getCompleteAmount() + "/" + mListData.get(position).getTask().getJoinAmount());
+        }
     }
 
     @Override
@@ -53,9 +61,13 @@ public class SafflowerItemAdapter extends RecyclerView.Adapter<SafflowerItemHold
 class SafflowerItemHolder extends RecyclerView.ViewHolder {
 
     TextView mTitle;
+    TextView mFlowerCount;
+    TextView mOverCount;
 
     public SafflowerItemHolder(@NonNull View itemView) {
         super(itemView);
         mTitle = itemView.findViewById(R.id.adapter_item_safflower_title);
+        mFlowerCount = itemView.findViewById(R.id.adapter_item_safflower_redfcount);
+        mOverCount = itemView.findViewById(R.id.adapter_item_safflower_overcount);
     }
 }

+ 2 - 4
app/src/main/java/com/edufound/reader/adapter/SlideVideoAdapter.java

@@ -62,10 +62,9 @@ public class SlideVideoAdapter extends RecyclerView.Adapter<VideoHolder> {
     @Override
     public void onBindViewHolder(@NonNull VideoHolder holder, int position) {
 //        holder.mVideo.setUp(new JZDataSource(mListData.get(position).getUserRead().getVideoPath()), JzvdStd.SCREEN_FULLSCREEN);
-        Logger.e("mListData.get(position).getUserRead().getVideoPath():" + mListData.get(position).getUserRead().getVideoPath());
         holder.mVideo.setUp(new JZDataSource(mListData.get(position).getUserRead().getVideoPath()), JzvdStd.SCREEN_FULLSCREEN, JZMediaIjk.class);
         GlideUtils.loadImageSizeKipMemoryCache(mContext, mListData.get(position).getUserRead().getCoverImg(), holder.mVideo.posterImageView);
-        holder.initDanMu(mListData.get(position).getUserRead().getExampleId());
+        holder.initDanMu(mListData.get(position).getUserRead().getId());
         holder.mVideo.startPreloading();
         holder.mSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
             @Override
@@ -127,8 +126,7 @@ class VideoHolder extends RecyclerView.ViewHolder {
     }
 
     public void initDanMu(String exampleId) {
-        Logger.e("exampleId:" + exampleId);
-        OkHttpClient.doGetAsync(mContext, new HttpInfo.Builder().setUrl(Consts.getFinalApi() + "/posts/list").addParam("exampleId", exampleId).addParam("pageNo", String.valueOf(1)).addParam("pageSize", "1000"), new Callback() {
+        OkHttpClient.doGetAsync(mContext, new HttpInfo.Builder().setUrl(Consts.getFinalApi() + "/posts/list").addParam("columnId", exampleId).addParam("pageNo", String.valueOf(1)).addParam("pageSize", "1000"), new Callback() {
             @Override
             public void onSuccess(HttpInfo info) throws IOException {
                 HttpResultBean<HttpResultDataListBean<CommentListBean>> bean = info.getRetDetail(new TypeToken<HttpResultBean<HttpResultDataListBean<CommentListBean>>>() {

+ 3 - 1
app/src/main/java/com/edufound/reader/adapter/SlideVideoDanMarqueenAdapter.java

@@ -34,7 +34,9 @@ public class SlideVideoDanMarqueenAdapter extends RecyclerView.Adapter<MarqueenH
     @Override
     public void onBindViewHolder(MarqueenHolder holder, int position) {
 //        String data = mData.get(position % mData.size());
-        holder.mMarqueenText.setText(mData.get(position % mData.size()).getDetailDesc() + "---" + mData.get(position % mData.size()).getColumnNames());
+        if (mData.size() > 0) {
+            holder.mMarqueenText.setText(mData.get(position % mData.size()).getDetailDesc() + "---" + mData.get(position % mData.size()).getColumnNames());
+        }
     }
 
     @Override

+ 7 - 6
app/src/main/java/com/edufound/reader/base/BaseActivity.java

@@ -87,6 +87,7 @@ public abstract class BaseActivity extends AppCompatActivity {
         //注册home广播
         registerReceiver(mHomeReceiver, new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
         // 注册网络广播
+        NetworkChangeReceiver.registerReceiver(this);
         NetworkChangeReceiver.registerObserver(NetStateChangeObserver);
         //注册登录广播
         registerReceiver(loginReceiver, new IntentFilter(LOGIN_SUCCESS_ACTION));
@@ -175,29 +176,29 @@ public abstract class BaseActivity extends AppCompatActivity {
         addDisposable(RxView.clicks(view).throttleFirst(2, TimeUnit.SECONDS).subscribe(onNext));
     }
 
-    public abstract void onDisconnect();
+    public abstract void onGetDisconnect();
 
-    public abstract void onMobileConnect();
+    public abstract void onGetMobileConnect();
 
-    public abstract void onWifiConnect();
+    public abstract void onGetWifiConnect();
 
     NetworkChangeReceiver.NetStateChangeObserver NetStateChangeObserver = new NetworkChangeReceiver.NetStateChangeObserver() {
         @Override
         public void onDisconnect() {
             //断网了
-            onDisconnect();
+            onGetDisconnect();
         }
 
         @Override
         public void onMobileConnect() {
             //有网了(移动网络)
-            onMobileConnect();
+            onGetMobileConnect();
         }
 
         @Override
         public void onWifiConnect() {
             //有网了(wifi)
-            onWifiConnect();
+            onGetWifiConnect();
         }
     };
 

+ 30 - 0
app/src/main/java/com/edufound/reader/base/BaseFragment.java

@@ -6,6 +6,7 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
+import com.edufound.reader.receiver.NetworkChangeReceiver;
 import com.jakewharton.rxbinding4.view.RxView;
 
 import java.util.concurrent.TimeUnit;
@@ -23,6 +24,9 @@ public abstract class BaseFragment extends Fragment {
     @Override
     public void onCreate(@Nullable Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        // 注册网络广播
+        NetworkChangeReceiver.registerReceiver(getContext());
+        NetworkChangeReceiver.registerObserver(NetStateChangeObserver);
     }
 
     @Nullable
@@ -77,5 +81,31 @@ public abstract class BaseFragment extends Fragment {
         addDisposable(RxView.clicks(view).throttleFirst(2, TimeUnit.SECONDS).subscribe(onNext));
     }
 
+    public abstract void onGetDisconnect();
+
+    public abstract void onGetMobileConnect();
+
+    public abstract void onGetWifiConnect();
+
+    NetworkChangeReceiver.NetStateChangeObserver NetStateChangeObserver = new NetworkChangeReceiver.NetStateChangeObserver() {
+        @Override
+        public void onDisconnect() {
+            //断网了
+            onGetDisconnect();
+        }
+
+        @Override
+        public void onMobileConnect() {
+            //有网了(移动网络)
+            onGetMobileConnect();
+        }
+
+        @Override
+        public void onWifiConnect() {
+            //有网了(wifi)
+            onGetWifiConnect();
+        }
+    };
+
 
 }

+ 96 - 0
app/src/main/java/com/edufound/reader/bean/MessageBean.java

@@ -0,0 +1,96 @@
+package com.edufound.reader.bean;
+
+public class MessageBean {
+
+    private String content;
+    private String gmtCreated;
+    private String gmtModified;
+    private String id;
+    private String status;
+    private String title;
+    private String type;
+    private String uid;
+    private String uids;
+    private String userType;
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setGmtCreated(String gmtCreated) {
+        this.gmtCreated = gmtCreated;
+    }
+
+    public String getGmtCreated() {
+        return gmtCreated;
+    }
+
+    public void setGmtModified(String gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+
+    public String getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getId() {
+        return id;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setUid(String uid) {
+        this.uid = uid;
+    }
+
+    public String getUid() {
+        return uid;
+    }
+
+    public void setUids(String uids) {
+        this.uids = uids;
+    }
+
+    public String getUids() {
+        return uids;
+    }
+
+    public void setUserType(String userType) {
+        this.userType = userType;
+    }
+
+    public String getUserType() {
+        return userType;
+    }
+
+}

+ 31 - 0
app/src/main/java/com/edufound/reader/bean/MyFollowBean.java

@@ -0,0 +1,31 @@
+package com.edufound.reader.bean;
+
+public class MyFollowBean {
+    private FansBean fans;
+    private boolean isEachOther;
+    private MyInfoBean userInfo;
+
+    public FansBean getFans() {
+        return fans;
+    }
+
+    public void setFans(FansBean fans) {
+        this.fans = fans;
+    }
+
+    public boolean isEachOther() {
+        return isEachOther;
+    }
+
+    public void setEachOther(boolean eachOther) {
+        isEachOther = eachOther;
+    }
+
+    public MyInfoBean getUserInfo() {
+        return userInfo;
+    }
+
+    public void setUserInfo(MyInfoBean userInfo) {
+        this.userInfo = userInfo;
+    }
+}

+ 58 - 0
app/src/main/java/com/edufound/reader/bean/SignInfoBean.java

@@ -0,0 +1,58 @@
+package com.edufound.reader.bean;
+
+
+import java.util.List;
+
+public class SignInfoBean {
+    private String continuousDay;
+    private List<SignInfoItemBean> signInfo;
+
+    public String getContinuousDay() {
+        return continuousDay;
+    }
+
+    public void setContinuousDay(String continuousDay) {
+        this.continuousDay = continuousDay;
+    }
+
+    public List<SignInfoItemBean> getSignInfo() {
+        return signInfo;
+    }
+
+    public void setSignInfo(List<SignInfoItemBean> signInfo) {
+        this.signInfo = signInfo;
+    }
+
+    public class SignInfoItemBean {
+        private String count;
+
+        public String getCount() {
+            return count;
+        }
+
+        public void setCount(String count) {
+            this.count = count;
+        }
+
+        public String getDate() {
+            return date;
+        }
+
+        public void setDate(String date) {
+            this.date = date;
+        }
+
+        public boolean isSign() {
+            return isSign;
+        }
+
+        public void setSign(boolean sign) {
+            isSign = sign;
+        }
+
+        private String date;
+        private boolean isSign;
+    }
+
+}
+

+ 279 - 0
app/src/main/java/com/edufound/reader/bean/TaskBean.java

@@ -0,0 +1,279 @@
+package com.edufound.reader.bean;
+
+public class TaskBean {
+    private boolean finished;
+
+    private Task task;
+
+    private UserTask userTask;
+
+    public void setFinished(boolean finished) {
+        this.finished = finished;
+    }
+
+    public boolean getFinished() {
+        return this.finished;
+    }
+
+    public UserTask getUserTask() {
+        return userTask;
+    }
+
+    public void setUserTask(UserTask userTask) {
+        this.userTask = userTask;
+    }
+
+    public void setTask(Task task) {
+        this.task = task;
+    }
+
+    public Task getTask() {
+        return this.task;
+    }
+
+    public class Task {
+        private String award;
+
+        private String description;
+
+        private String gmtCreated;
+
+        private String gmtModified;
+
+        private String id;
+
+        private String joinAmount;
+
+        private String joStringype;
+
+        private String os;
+
+        private String sort;
+
+        private String status;
+
+        private String targetType;
+
+        private String title;
+
+        private String type;
+
+        public void setAward(String award) {
+            this.award = award;
+        }
+
+        public String getAward() {
+            return this.award;
+        }
+
+        public void setDescription(String description) {
+            this.description = description;
+        }
+
+        public String getDescription() {
+            return this.description;
+        }
+
+        public void setGmtCreated(String gmtCreated) {
+            this.gmtCreated = gmtCreated;
+        }
+
+        public String getGmtCreated() {
+            return this.gmtCreated;
+        }
+
+        public void setGmtModified(String gmtModified) {
+            this.gmtModified = gmtModified;
+        }
+
+        public String getGmtModified() {
+            return this.gmtModified;
+        }
+
+        public void setId(String id) {
+            this.id = id;
+        }
+
+        public String getId() {
+            return this.id;
+        }
+
+        public void setJoinAmount(String joinAmount) {
+            this.joinAmount = joinAmount;
+        }
+
+        public String getJoinAmount() {
+            return this.joinAmount;
+        }
+
+        public void setJoStringype(String joStringype) {
+            this.joStringype = joStringype;
+        }
+
+        public String getJoStringype() {
+            return this.joStringype;
+        }
+
+        public void setOs(String os) {
+            this.os = os;
+        }
+
+        public String getOs() {
+            return this.os;
+        }
+
+        public void setSort(String sort) {
+            this.sort = sort;
+        }
+
+        public String getSort() {
+            return this.sort;
+        }
+
+        public void setStatus(String status) {
+            this.status = status;
+        }
+
+        public String getStatus() {
+            return this.status;
+        }
+
+        public void setTargetType(String targetType) {
+            this.targetType = targetType;
+        }
+
+        public String getTargetType() {
+            return this.targetType;
+        }
+
+        public void setTitle(String title) {
+            this.title = title;
+        }
+
+        public String getTitle() {
+            return this.title;
+        }
+
+        public void setType(String type) {
+            this.type = type;
+        }
+
+        public String getType() {
+            return this.type;
+        }
+    }
+
+    public class UserTask {
+        private String channel;
+
+        private String completeAmount;
+
+        private String completeDate;
+
+        private String gmtCreated;
+
+        private String gmtModified;
+
+        private String id;
+
+        private String joStringype;
+
+        private String status;
+
+        private String taskId;
+
+        private String taskType;
+
+        private String uid;
+
+        public void setChannel(String channel) {
+            this.channel = channel;
+        }
+
+        public String getChannel() {
+            return this.channel;
+        }
+
+        public void setCompleteAmount(String completeAmount) {
+            this.completeAmount = completeAmount;
+        }
+
+        public String getCompleteAmount() {
+            return this.completeAmount;
+        }
+
+        public void setCompleteDate(String completeDate) {
+            this.completeDate = completeDate;
+        }
+
+        public String getCompleteDate() {
+            return this.completeDate;
+        }
+
+        public void setGmtCreated(String gmtCreated) {
+            this.gmtCreated = gmtCreated;
+        }
+
+        public String getGmtCreated() {
+            return this.gmtCreated;
+        }
+
+        public void setGmtModified(String gmtModified) {
+            this.gmtModified = gmtModified;
+        }
+
+        public String getGmtModified() {
+            return this.gmtModified;
+        }
+
+        public void setId(String id) {
+            this.id = id;
+        }
+
+        public String getId() {
+            return this.id;
+        }
+
+        public void setJoStringype(String joStringype) {
+            this.joStringype = joStringype;
+        }
+
+        public String getJoStringype() {
+            return this.joStringype;
+        }
+
+        public void setStatus(String status) {
+            this.status = status;
+        }
+
+        public String getStatus() {
+            return this.status;
+        }
+
+        public void setTaskId(String taskId) {
+            this.taskId = taskId;
+        }
+
+        public String getTaskId() {
+            return this.taskId;
+        }
+
+        public void setTaskType(String taskType) {
+            this.taskType = taskType;
+        }
+
+        public String getTaskType() {
+            return this.taskType;
+        }
+
+        public void setUid(String uid) {
+            this.uid = uid;
+        }
+
+        public String getUid() {
+            return this.uid;
+        }
+
+    }
+}
+

+ 277 - 0
app/src/main/java/com/edufound/reader/bean/UserRecordBean.java

@@ -11,6 +11,27 @@ public class UserRecordBean {
 
     private UserRead userRead;
 
+    private Favorites favorites;
+
+    public boolean isFans() {
+        return isFans;
+    }
+
+    public boolean isFavorites() {
+        return isFavorites;
+    }
+
+    public boolean isLike() {
+        return isLike;
+    }
+
+    public Favorites getFavorites() {
+        return favorites;
+    }
+
+    public void setFavorites(Favorites favorites) {
+        this.favorites = favorites;
+    }
 
     public boolean getIsFans() {
         return this.isFans;
@@ -34,6 +55,25 @@ public class UserRecordBean {
         return this.userRead;
     }
 
+    public void setFans(boolean fans) {
+        isFans = fans;
+    }
+
+    public void setFavorites(boolean favorites) {
+        isFavorites = favorites;
+    }
+
+    public void setLike(boolean like) {
+        isLike = like;
+    }
+
+    public void setUser(UserBean user) {
+        this.user = user;
+    }
+
+    public void setUserRead(UserRead userRead) {
+        this.userRead = userRead;
+    }
 
     public class UserRead {
         private String audioPath;
@@ -222,6 +262,243 @@ public class UserRecordBean {
             return this.videoPath;
         }
 
+        public void setAudioPath(String audioPath) {
+            this.audioPath = audioPath;
+        }
+
+        public void setChannel(String channel) {
+            this.channel = channel;
+        }
+
+        public void setCommentAmount(String commentAmount) {
+            this.commentAmount = commentAmount;
+        }
+
+        public void setCoverImg(String coverImg) {
+            this.coverImg = coverImg;
+        }
+
+        public void setDay(String day) {
+            this.day = day;
+        }
+
+        public void setExampleId(String exampleId) {
+            this.exampleId = exampleId;
+        }
+
+        public void setFavoritesAmount(String favoritesAmount) {
+            this.favoritesAmount = favoritesAmount;
+        }
+
+        public void setGmtCreated(String gmtCreated) {
+            this.gmtCreated = gmtCreated;
+        }
+
+        public void setGmtModified(String gmtModified) {
+            this.gmtModified = gmtModified;
+        }
+
+        public void setGrade(String grade) {
+            this.grade = grade;
+        }
+
+        public void setIconImg(String iconImg) {
+            this.iconImg = iconImg;
+        }
+
+        public void setId(String id) {
+            this.id = id;
+        }
+
+        public void setLessonText(String lessonText) {
+            this.lessonText = lessonText;
+        }
+
+        public void setLikeAmount(String likeAmount) {
+            this.likeAmount = likeAmount;
+        }
+
+        public void setOriginVideo(String originVideo) {
+            this.originVideo = originVideo;
+        }
+
+        public void setPlayAmount(String playAmount) {
+            this.playAmount = playAmount;
+        }
+
+        public void setScore(String score) {
+            this.score = score;
+        }
+
+        public void setShareImg(String shareImg) {
+            this.shareImg = shareImg;
+        }
+
+        public void setSort(String sort) {
+            this.sort = sort;
+        }
+
+        public void setStatus(String status) {
+            this.status = status;
+        }
+
+        public void setSummary(String summary) {
+            this.summary = summary;
+        }
+
+        public void setTag(String tag) {
+            this.tag = tag;
+        }
+
+        public void setTitle(String title) {
+            this.title = title;
+        }
+
+        public void setTraceId(String traceId) {
+            this.traceId = traceId;
+        }
+
+        public void setType(String type) {
+            this.type = type;
+        }
+
+        public void setUid(String uid) {
+            this.uid = uid;
+        }
+
+        public void setVideoPath(String videoPath) {
+            this.videoPath = videoPath;
+        }
+    }
+
+    public class Favorites {
+
+        private String canceledTime;
+        private String channel;
+        private long exampleId;
+        private String favoritesType;
+        private String feature;
+        private long gmtCreated;
+        private long gmtModified;
+        private String iconImg;
+        private long id;
+        private String status;
+        private String summary;
+        private long targetCode;
+        private String title;
+        private String uid;
+
+        public void setCanceledTime(String canceledTime) {
+            this.canceledTime = canceledTime;
+        }
+
+        public String getCanceledTime() {
+            return canceledTime;
+        }
+
+        public void setChannel(String channel) {
+            this.channel = channel;
+        }
+
+        public String getChannel() {
+            return channel;
+        }
+
+        public void setExampleId(long exampleId) {
+            this.exampleId = exampleId;
+        }
+
+        public long getExampleId() {
+            return exampleId;
+        }
+
+        public void setFavoritesType(String favoritesType) {
+            this.favoritesType = favoritesType;
+        }
+
+        public String getFavoritesType() {
+            return favoritesType;
+        }
+
+        public void setFeature(String feature) {
+            this.feature = feature;
+        }
+
+        public String getFeature() {
+            return feature;
+        }
+
+        public void setGmtCreated(long gmtCreated) {
+            this.gmtCreated = gmtCreated;
+        }
+
+        public long getGmtCreated() {
+            return gmtCreated;
+        }
+
+        public void setGmtModified(long gmtModified) {
+            this.gmtModified = gmtModified;
+        }
+
+        public long getGmtModified() {
+            return gmtModified;
+        }
+
+        public void setIconImg(String iconImg) {
+            this.iconImg = iconImg;
+        }
+
+        public String getIconImg() {
+            return iconImg;
+        }
+
+        public void setId(long id) {
+            this.id = id;
+        }
+
+        public long getId() {
+            return id;
+        }
+
+        public void setStatus(String status) {
+            this.status = status;
+        }
+
+        public String getStatus() {
+            return status;
+        }
+
+        public void setSummary(String summary) {
+            this.summary = summary;
+        }
+
+        public String getSummary() {
+            return summary;
+        }
+
+        public void setTargetCode(long targetCode) {
+            this.targetCode = targetCode;
+        }
+
+        public long getTargetCode() {
+            return targetCode;
+        }
+
+        public void setTitle(String title) {
+            this.title = title;
+        }
+
+        public String getTitle() {
+            return title;
+        }
+
+        public void setUid(String uid) {
+            this.uid = uid;
+        }
+
+        public String getUid() {
+            return uid;
+        }
     }
 }
 

+ 3 - 1
app/src/main/java/com/edufound/reader/contract/CommentContract.java

@@ -40,12 +40,14 @@ public interface CommentContract {
 
         void doPosts(String comment);
 
-        void doLike(android.view.View chageView, String postsId);
+        void doLike(android.view.View chageView, String postsId, int position);
 
         void doReplyComment(String content);
 
         String getReCommentId();
 
         void clearReCommentId();
+
+        void activityDestory();
     }
 }

+ 18 - 0
app/src/main/java/com/edufound/reader/contract/MessageContract.java

@@ -1,17 +1,35 @@
 package com.edufound.reader.contract;
 
+import android.app.Activity;
+import android.widget.ImageView;
+
 import com.edufound.reader.base.BaseView;
+import com.okhttplib.callback.Callback;
 
 import androidx.recyclerview.widget.RecyclerView;
 
 public interface MessageContract {
     interface Model {
+        void getAllMessage(Activity activity, String pageIndex, Callback callback);
+
+        void doReadMessage(Activity activity, String json, Callback callback);
+
+        void doReadAllMessage(Activity activity, Callback callback);
     }
 
     interface View extends BaseView {
+        ImageView getNoMessage();
+
+        void getMessageSuccess();
     }
 
     interface Presenter {
         void initRecyclerView(RecyclerView rv);
+
+        void getAllMessage();
+
+        void doReadMessage(String id);
+
+        void doReadAllMessage();
     }
 }

+ 5 - 1
app/src/main/java/com/edufound/reader/contract/MyCollectionContract.java

@@ -1,6 +1,7 @@
 package com.edufound.reader.contract;
 
 import android.app.Activity;
+import android.widget.ImageView;
 
 import com.edufound.reader.base.BaseView;
 import com.okhttplib.callback.Callback;
@@ -13,11 +14,14 @@ public interface MyCollectionContract {
     }
 
     interface View extends BaseView {
+        ImageView getNoCollectionImg();
+
+        void getFavoritesSuccess();
     }
 
     interface Presenter {
         void initRecyclerView(RecyclerView rv);
 
-        void getFavoritesData(RecyclerView rv);
+        void getFavoritesData();
     }
 }

+ 13 - 0
app/src/main/java/com/edufound/reader/contract/MyFollowContract.java

@@ -1,17 +1,30 @@
 package com.edufound.reader.contract;
 
+import android.app.Activity;
+import android.widget.ImageView;
+
 import com.edufound.reader.base.BaseView;
+import com.okhttplib.callback.Callback;
 
 import androidx.recyclerview.widget.RecyclerView;
 
 public interface MyFollowContract {
     interface Model {
+        void getFollowAll(Activity activity, int pageIndex, Callback callback);
+
     }
 
     interface View extends BaseView {
+
+        ImageView getNoFollow();
+
+        void getFollowSuccess();
+
     }
 
     interface Presenter {
         void initRecyclerView(RecyclerView rv);
+
+        void getFollowAll();
     }
 }

+ 2 - 0
app/src/main/java/com/edufound/reader/contract/OthersRecordContract.java

@@ -32,6 +32,7 @@ public interface OthersRecordContract {
 
         void doFollowSuccess(boolean isfollow);
 
+
     }
 
     interface Presenter {
@@ -44,5 +45,6 @@ public interface OthersRecordContract {
         void getOtherRecordList(String uid);
 
         void doFollow(String uid);
+
     }
 }

+ 7 - 0
app/src/main/java/com/edufound/reader/contract/RecommendFragmentContract.java

@@ -25,6 +25,11 @@ public interface RecommendFragmentContract {
          */
         void doLick(Activity activity, String readId, Callback callback);
 
+        /**
+         * 获取单独video数据
+         */
+        void getRecordInfoById(Activity activity, String recordId, Callback callback);
+
     }
 
     interface View extends BaseView {
@@ -51,5 +56,7 @@ public interface RecommendFragmentContract {
         void doLike(UserRecordBean.UserRead userRead);
 
         void destory();
+
+        void getRecordInfoById(String id);
     }
 }

+ 7 - 0
app/src/main/java/com/edufound/reader/contract/SafflowerContract.java

@@ -12,9 +12,14 @@ import androidx.recyclerview.widget.RecyclerView;
 public interface SafflowerContract {
     interface Model {
         void getTask(Activity activity, HttpInfo.Builder into, Callback callback);
+
+        void getSignInfo(Activity activity, Callback callback);
     }
 
     interface View extends BaseView {
+        void getTaskSuccess();
+
+        void getSignInfoSuccess();
     }
 
     interface Presenter {
@@ -23,5 +28,7 @@ public interface SafflowerContract {
         void initRecyclearView(RecyclerView recyclerView);
 
         void getTaskData();
+
+        void getSignInfo();
     }
 }

+ 10 - 10
app/src/main/java/com/edufound/reader/cusview/RvListJzvdStd.java

@@ -930,19 +930,19 @@ public class RvListJzvdStd extends Jzvd {
     }
 
     public void startDismissControlViewTimer() {
-        cancelDismissControlViewTimer();
-        DISMISS_CONTROL_VIEW_TIMER = new Timer();
-        mDismissControlViewTimerTask = new DismissControlViewTimerTask();
-        DISMISS_CONTROL_VIEW_TIMER.schedule(mDismissControlViewTimerTask, 2500);
+//        cancelDismissControlViewTimer();
+//        DISMISS_CONTROL_VIEW_TIMER = new Timer();
+//        mDismissControlViewTimerTask = new DismissControlViewTimerTask();
+//        DISMISS_CONTROL_VIEW_TIMER.schedule(mDismissControlViewTimerTask, 2500);
     }
 
     public void cancelDismissControlViewTimer() {
-        if (DISMISS_CONTROL_VIEW_TIMER != null) {
-            DISMISS_CONTROL_VIEW_TIMER.cancel();
-        }
-        if (mDismissControlViewTimerTask != null) {
-            mDismissControlViewTimerTask.cancel();
-        }
+//        if (DISMISS_CONTROL_VIEW_TIMER != null) {
+//            DISMISS_CONTROL_VIEW_TIMER.cancel();
+//        }
+//        if (mDismissControlViewTimerTask != null) {
+//            mDismissControlViewTimerTask.cancel();
+//        }
 
     }
 

+ 15 - 0
app/src/main/java/com/edufound/reader/fragment/CharacterFragment.java

@@ -111,6 +111,21 @@ public class CharacterFragment extends BaseMvpFragment<CharacterFragmentPresente
     }
 
     @Override
+    public void onGetDisconnect() {
+
+    }
+
+    @Override
+    public void onGetMobileConnect() {
+
+    }
+
+    @Override
+    public void onGetWifiConnect() {
+
+    }
+
+    @Override
     public void onDestroyView() {
         super.onDestroyView();
         mPresenter.onDestory(mGridLayout);

+ 25 - 2
app/src/main/java/com/edufound/reader/fragment/MyTabFragment.java

@@ -49,13 +49,15 @@ public class MyTabFragment extends BaseMvpFragment<MyTabFragmentPresenter> imple
     TextView mHeadUserFans;
     TextView mHeadUserPlayCount;
     ImageView mHeadUserVip;
-    ImageView mHeadUserRedFlower;
+    FrameLayout mHeadUserRedFlower;
     ImageView mHeadUserMyAttention;
     ImageView mHeadUserMyCollection;
     FrameLayout mUserLayout;
     FrameLayout mHeadUserMessage;
     ImageView mHeadUserCustomerService;
     TextView mRecordSize;
+    ImageView mUnReadIcon;
+    TextView mFlowerCount;
     Space mBottomView;
     Rect mScreenRect;
     boolean isNeedLoad = true;
@@ -88,9 +90,11 @@ public class MyTabFragment extends BaseMvpFragment<MyTabFragmentPresenter> imple
         mHeadUserMyCollection = headlayout.findViewById(R.id.fragment_main_user_mycollection);
         mHeadUserMessage = headlayout.findViewById(R.id.fragment_main_user_messagenotification);
         mHeadUserCustomerService = headlayout.findViewById(R.id.fragment_main_user_customerservice);
+        mUnReadIcon = view.findViewById(R.id.fragment_main_user_unread_icon);
         mUserLayout = view.findViewById(R.id.fragment_main_user_layout);
         mGridLayout = view.findViewById(R.id.fragment_my_recyclerview);
         mNoRecordLayout = view.findViewById(R.id.fragment_main_user_norecord);
+        mFlowerCount = view.findViewById(R.id.fragment_main_user_redflower_text);
         mPresenter.initGridLayout(mGridLayout, mNoRecordLayout);
         mPresenter.getMyInfo();
         mPresenter.getMyRecords();
@@ -191,10 +195,14 @@ public class MyTabFragment extends BaseMvpFragment<MyTabFragmentPresenter> imple
     @Override
     public void setUserInfo(MyInfoBean bean) {
         GlideUtils.loadCircleImage(getContext(), bean.getUser().getAvatar(), mHeaderUserImg);
-        mHeadUserPhone.setText(bean.getUser().getMobile());
+        mHeadUserPhone.setText(bean.getUser().getNickName());
         mHeadUserGrade.setText(EfunboxUtil.getCNGradeByEnum(bean.getUser().getGrade()));
         mHeadUserFans.setText(String.valueOf(bean.getFansAmount()));
         mHeadUserPlayCount.setText(String.valueOf(bean.getPlayAmount()));
+        mFlowerCount.setText(String.valueOf(bean.getIntegralAmount()));
+        if (Integer.valueOf(bean.getUnreadAmount()) <= 0) {
+            mUnReadIcon.setVisibility(View.INVISIBLE);
+        }
 
     }
 
@@ -211,6 +219,21 @@ public class MyTabFragment extends BaseMvpFragment<MyTabFragmentPresenter> imple
     }
 
     @Override
+    public void onGetDisconnect() {
+
+    }
+
+    @Override
+    public void onGetMobileConnect() {
+
+    }
+
+    @Override
+    public void onGetWifiConnect() {
+
+    }
+
+    @Override
     public void onDestroyView() {
         super.onDestroyView();
         isNeedLoad = true;

+ 25 - 4
app/src/main/java/com/edufound/reader/fragment/RecommendFragment.java

@@ -45,13 +45,12 @@ public class RecommendFragment extends BaseMvpFragment<RecommendFragmentPresente
     ObjectAnimator mToRecordScaleXAnim;
     ObjectAnimator mToRecordScaleYAnim;
     ImageView mToRecordScaleIcon;
-
-
     ImageView mUserHead;
     TextView mUserPhone;
     TextView mCommentCount;
     TextView mCollentStatus;
     TextView mThumbCount;
+    ImageView isFollow;
 
     //默认是推荐 mFragmentType=0
     //关注 mFragmentType=1
@@ -86,6 +85,7 @@ public class RecommendFragment extends BaseMvpFragment<RecommendFragmentPresente
         mCommentCount = view.findViewById(R.id.fragment_recommend_comment_num);
         mCollentStatus = view.findViewById(R.id.fragment_recommend_collection_status);
         mThumbCount = view.findViewById(R.id.fragment_recommend_thumbs_num);
+        isFollow = view.findViewById(R.id.fragment_main_recommend_isfollow);
         //录音按钮背景旋转
         mToRecordRotationbg = mToRecordLayout.findViewById(R.id.fragment_recommend_to_record_bg);
         mRotationImgAnim = ObjectAnimator.ofFloat(mToRecordRotationbg, "rotation", 0.0F, 359.0F);
@@ -193,11 +193,17 @@ public class RecommendFragment extends BaseMvpFragment<RecommendFragmentPresente
 
     @Override
     public void setTopStatus(UserRecordBean bean) {
+        Logger.e("bean.getuser.getnickName:" + bean.getUser().getNickName());
 
         //设置信息和点赞数等
         GlideUtils.loadCircleImage(getActivity(), bean.getUser().getAvatar(), mUserHead);
-        mUserPhone.setText(bean.getUser().getMobile());
+        mUserPhone.setText(bean.getUser().getNickName());
         mCommentCount.setText(bean.getUserRead().getCommentAmount());
+        if (bean.getIsFans()) {
+            isFollow.setVisibility(View.INVISIBLE);
+        } else {
+            isFollow.setVisibility(View.VISIBLE);
+        }
         if (bean.getIsFavorites()) {
             mCollentStatus.setText("已收藏");
             ((ImageView) mCollectionLayout.findViewById(R.id.fragment_recommend_collection_icon)).setImageResource(R.drawable.fragment_recommend_collection_icon_s);
@@ -234,7 +240,7 @@ public class RecommendFragment extends BaseMvpFragment<RecommendFragmentPresente
             if (EfunboxUtil.checkLogin(getActivity())) {
                 Logger.e("点击了评论");
                 Bundle bundle = new Bundle();
-                bundle.putString("exampleId", bean.getUserRead().getExampleId());
+                bundle.putString("id", bean.getUserRead().getId());
                 toNextActivity(CommentActivity.class, bundle);
             }
         });
@@ -270,6 +276,21 @@ public class RecommendFragment extends BaseMvpFragment<RecommendFragmentPresente
     }
 
     @Override
+    public void onGetDisconnect() {
+
+    }
+
+    @Override
+    public void onGetMobileConnect() {
+
+    }
+
+    @Override
+    public void onGetWifiConnect() {
+
+    }
+
+    @Override
     public void onDestroyView() {
         mPresenter.destory();
         super.onDestroyView();

+ 1 - 1
app/src/main/java/com/edufound/reader/listener/RecyclerItemClickListener.java

@@ -3,5 +3,5 @@ package com.edufound.reader.listener;
 import android.view.View;
 
 public interface RecyclerItemClickListener {
-    void onClickListener(int position, View view);
+    void onClickListener(int position, View view, Object object);
 }

+ 23 - 0
app/src/main/java/com/edufound/reader/model/MessageModel.java

@@ -1,6 +1,29 @@
 package com.edufound.reader.model;
 
+import android.app.Activity;
+
 import com.edufound.reader.contract.MessageContract;
+import com.edufound.reader.util.Consts;
+import com.edufound.reader.util.OkHttpClient;
+import com.okhttplib.HttpInfo;
+import com.okhttplib.callback.Callback;
 
 public class MessageModel implements MessageContract.Model {
+
+    private final String API = Consts.getFinalApi();
+
+    @Override
+    public void getAllMessage(Activity activity, String pageIndex, Callback callback) {
+        OkHttpClient.doGetAsync(activity, new HttpInfo.Builder().setUrl(API + "/message").addParam("pageNo", pageIndex).addParam("pageSize", "100"), callback);
+    }
+
+    @Override
+    public void doReadMessage(Activity activity, String json, Callback callback) {
+        OkHttpClient.doPostAsync(activity, new HttpInfo.Builder().setUrl(API + "/message/read").addParamJson(json), callback);
+    }
+
+    @Override
+    public void doReadAllMessage(Activity activity, Callback callback) {
+        OkHttpClient.doPutAsync(activity, new HttpInfo.Builder().setUrl(API + "/message"), callback);
+    }
 }

+ 12 - 0
app/src/main/java/com/edufound/reader/model/MyFollowModel.java

@@ -1,6 +1,18 @@
 package com.edufound.reader.model;
 
+import android.app.Activity;
+
 import com.edufound.reader.contract.MyFollowContract;
+import com.edufound.reader.util.Consts;
+import com.edufound.reader.util.OkHttpClient;
+import com.okhttplib.HttpInfo;
+import com.okhttplib.callback.Callback;
 
 public class MyFollowModel implements MyFollowContract.Model {
+    private final String API = Consts.getFinalApi();
+
+    @Override
+    public void getFollowAll(Activity activity, int pageIndex, Callback callback) {
+        OkHttpClient.doGetAsync(activity, new HttpInfo.Builder().setUrl(API + "/fans").addParam("pageNo", String.valueOf(pageIndex)).addParam("pageSize", "100"), callback);
+    }
 }

+ 5 - 0
app/src/main/java/com/edufound/reader/model/RecommendFragmentModel.java

@@ -31,4 +31,9 @@ public class RecommendFragmentModel implements RecommendFragmentContract.Model {
     public void doLick(Activity activity, String readId, Callback callback) {
         OkHttpClient.doGetAsync(activity, new HttpInfo.Builder().setUrl(API + "/userRead/like/" + readId + ""), callback);
     }
+
+    @Override
+    public void getRecordInfoById(Activity activity, String recordId, Callback callback) {
+        OkHttpClient.doGetAsync(activity, new HttpInfo.Builder().setUrl(API + "/userRead/readInfo/" + recordId + ""), callback);
+    }
 }

+ 6 - 0
app/src/main/java/com/edufound/reader/model/SafflowerModel.java

@@ -14,5 +14,11 @@ public class SafflowerModel implements SafflowerContract.Model {
     @Override
     public void getTask(Activity activity, HttpInfo.Builder into, Callback callback) {
         OkHttpClient.doGetAsync(activity, HttpInfo.Builder().setUrl(API + "/task"), callback);
+
+    }
+
+    @Override
+    public void getSignInfo(Activity activity, Callback callback) {
+        OkHttpClient.doGetAsync(activity, HttpInfo.Builder().setUrl(API + "/loginLog/signIn"), callback);
     }
 }

+ 15 - 4
app/src/main/java/com/edufound/reader/presenter/CommentPresenter.java

@@ -1,6 +1,7 @@
 package com.edufound.reader.presenter;
 
 import android.annotation.SuppressLint;
+import android.content.Intent;
 import android.view.View;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
@@ -16,6 +17,7 @@ import com.edufound.reader.bean.HttpResultBean;
 import com.edufound.reader.bean.HttpResultDataListBean;
 import com.edufound.reader.contract.CommentContract;
 import com.edufound.reader.model.CommentModel;
+import com.edufound.reader.receiver.BackPageReceiver;
 import com.google.gson.reflect.TypeToken;
 import com.okhttplib.HttpInfo;
 import com.okhttplib.callback.Callback;
@@ -49,7 +51,7 @@ public class CommentPresenter extends BasePresenter<CommentContract.View> implem
 
     @Override
     public void initComment(RecyclerView rv, FrameLayout noCommentLayout) {
-        if (mDataList == null || mDataList.size() <= 0) {
+        if (mDataList == null && mDataList.size() <= 0) {
             noCommentLayout.setVisibility(View.VISIBLE);
             rv.setVisibility(View.GONE);
             return;
@@ -73,7 +75,7 @@ public class CommentPresenter extends BasePresenter<CommentContract.View> implem
         mCommentItemAdapter.onItemClickThumb(new CommentItemAdapter.onItemClickListener() {
             @Override
             public void clickItemThumb(View view, String id, int position) {
-                doLike(view, String.valueOf(id));
+                doLike(view, String.valueOf(id), position);
             }
 
             @Override
@@ -102,7 +104,7 @@ public class CommentPresenter extends BasePresenter<CommentContract.View> implem
                 Toast.makeText(mView.getActivity(), "获取评论成功", Toast.LENGTH_SHORT).show();
                 HttpResultBean<HttpResultDataListBean<CommentListReplyBean>> bean = info.getRetDetail(new TypeToken<HttpResultBean<HttpResultDataListBean<CommentListReplyBean>>>() {
                 }.getType());
-                if (mDataList == null) {
+                if (mDataList == null || mDataList.size() <= 0) {
                     mDataList = bean.getData().getList();
                     commentSize = Integer.valueOf(bean.getData().getTotalSize());
                     mView.getCommentAllSuccess();
@@ -158,7 +160,7 @@ public class CommentPresenter extends BasePresenter<CommentContract.View> implem
     }
 
     @Override
-    public void doLike(View view, String postsId) {
+    public void doLike(View view, String postsId, int position) {
         mModel.doLikc(mView.getActivity(), postsId, new Callback() {
             @Override
             public void onSuccess(HttpInfo info) throws IOException {
@@ -169,6 +171,8 @@ public class CommentPresenter extends BasePresenter<CommentContract.View> implem
                     //点过赞了
                     Toast.makeText(mView.getActivity(), "已经点过赞了", Toast.LENGTH_SHORT).show();
                 } else if (bean.getCode().equals("200")) {
+                    mDataList.get(position).setIsLike(true);
+                    mDataList.get(position).setLikeCount(bean.getData());
                     ((TextView) view.findViewById(R.id.adapter_item_comment_item_comment_thumb_layout_thumbnum)).setText(bean.getData());
                     ((ImageView) view.findViewById(R.id.adapter_item_comment_item_comment_thumb_layout_img_status)).setImageResource(R.drawable.adapter_item_comment_item_thumb_true);
                 }
@@ -225,6 +229,13 @@ public class CommentPresenter extends BasePresenter<CommentContract.View> implem
         reCommentId = null;
     }
 
+    @Override
+    public void activityDestory() {
+        Intent intent = new Intent(BackPageReceiver.BACK_HOME_REF_VIDEO_ITEM);
+        intent.putExtra("recordId", this.exampleId);
+        mView.getActivity().sendBroadcast(intent);
+    }
+
 
     public void addMoreData(RecyclerView rv) {
         //获取当前显示的View 的数据

+ 109 - 15
app/src/main/java/com/edufound/reader/presenter/MessagePresenter.java

@@ -1,12 +1,23 @@
 package com.edufound.reader.presenter;
 
 import android.view.View;
+import android.widget.Toast;
 
 import com.edufound.reader.adapter.MessageItemAdapter;
 import com.edufound.reader.base.BasePresenter;
+import com.edufound.reader.bean.HttpResultBean;
+import com.edufound.reader.bean.HttpResultDataListBean;
+import com.edufound.reader.bean.MessageBean;
+import com.edufound.reader.bean.MyFollowBean;
 import com.edufound.reader.contract.MessageContract;
+import com.edufound.reader.listener.RecyclerItemClickListener;
+import com.edufound.reader.model.MessageModel;
+import com.google.gson.reflect.TypeToken;
+import com.okhttplib.HttpInfo;
+import com.okhttplib.callback.Callback;
 import com.orhanobut.logger.Logger;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -15,19 +26,26 @@ import androidx.recyclerview.widget.RecyclerView;
 
 public class MessagePresenter extends BasePresenter<MessageContract.View> implements MessageContract.Presenter {
 
-
-    List<Object> mDataList;
+    MessageModel mModel;
+    List<MessageBean> mDataList;
     MessageItemAdapter mMessageItemAdapter;
+    int mPageIndex = 1;
+    int mTotalSize = 0;
+    boolean loadOver = false;
 
     public MessagePresenter() {
-        mDataList = new ArrayList<>();
-        for (int i = 0; i < 30; i++) {
-            mDataList.add("i=" + i);
-        }
+        mModel = new MessageModel();
     }
 
     @Override
     public void initRecyclerView(RecyclerView rv) {
+        if (mDataList == null || mDataList.size() <= 0) {
+            mView.getNoMessage().setVisibility(View.VISIBLE);
+            rv.setVisibility(View.GONE);
+            return;
+        }
+        mView.getNoMessage().setVisibility(View.GONE);
+        rv.setVisibility(View.VISIBLE);
         mMessageItemAdapter = new MessageItemAdapter(mView.getActivity(), mDataList);
         LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mView.getActivity());
         linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
@@ -43,9 +61,90 @@ public class MessagePresenter extends BasePresenter<MessageContract.View> implem
 
             }
         });
+        mMessageItemAdapter.setOnItemListener(new RecyclerItemClickListener() {
+            @Override
+            public void onClickListener(int position, View view, Object object) {
+                //已读
+                //id= object.toString();
+                doReadMessage(object.toString());
+                mDataList.get(position).setStatus("DISABLE");
+            }
+        });
         rv.setAdapter(mMessageItemAdapter);
     }
 
+    @Override
+    public void getAllMessage() {
+        if (mDataList != null && mDataList.size() >= mTotalSize) {
+            loadOver = true;
+            Toast.makeText(mView.getActivity(), "没有更多了", Toast.LENGTH_SHORT).show();
+            return;
+        }
+        mModel.getAllMessage(mView.getActivity(), String.valueOf(mPageIndex), new Callback() {
+            @Override
+            public void onSuccess(HttpInfo info) throws IOException {
+                Logger.e("info:" + info.getRetDetail());
+                HttpResultBean<HttpResultDataListBean<MessageBean>> bean = info.getRetDetail(new TypeToken<HttpResultBean<HttpResultDataListBean<MessageBean>>>() {
+                }.getType());
+                if (mDataList == null || mDataList.size() <= 0) {
+                    mDataList = bean.getData().getList();
+                    mTotalSize = Integer.valueOf(bean.getData().getTotalSize());
+                    mView.getMessageSuccess();
+                } else {
+                    mDataList.addAll(bean.getData().getList());
+                    mView.getRootView().post(new Runnable() {
+                        @Override
+                        public void run() {
+                            mMessageItemAdapter.notifyDataSetChanged();
+                        }
+                    });
+                }
+            }
+
+            @Override
+            public void onFailure(HttpInfo info) throws IOException {
+                Logger.e("info-onFailure:" + info.getRetDetail());
+            }
+        });
+    }
+
+    @Override
+    public void doReadMessage(String id) {
+        mModel.doReadMessage(mView.getActivity(), "{\"id\":\"" + id + "\"}", new Callback() {
+            @Override
+            public void onSuccess(HttpInfo info) throws IOException {
+                Logger.e("已读消息:info:" + info.getRetDetail());
+                mView.getRootView().post(new Runnable() {
+                    @Override
+                    public void run() {
+                        mMessageItemAdapter.notifyDataSetChanged();
+                    }
+                });
+
+            }
+
+            @Override
+            public void onFailure(HttpInfo info) throws IOException {
+                Logger.e("已读消息失败:info:" + info.getRetDetail());
+            }
+        });
+    }
+
+    @Override
+    public void doReadAllMessage() {
+        mModel.doReadAllMessage(mView.getActivity(), new Callback() {
+            @Override
+            public void onSuccess(HttpInfo info) throws IOException {
+                Logger.e("全部已读成功:" + info.getRetDetail());
+            }
+
+            @Override
+            public void onFailure(HttpInfo info) throws IOException {
+                Logger.e("全部已读失败:" + info.getRetDetail());
+            }
+        });
+    }
+
     public void addMoreData(RecyclerView rv) {
         //获取当前显示的View 的数据
         int childCount = rv.getChildCount();
@@ -57,15 +156,10 @@ public class MessagePresenter extends BasePresenter<MessageContract.View> implem
 
         if (childLayoutPosition < rv.getAdapter().getItemCount() - 2) {
         } else {
-            Logger.e("倒数第二个,添加数据");
-            mDataList.addAll(mDataList);
-            mMessageItemAdapter.addMored(mDataList);
-            rv.post(new Runnable() {
-                @Override
-                public void run() {
-                    mMessageItemAdapter.notifyDataSetChanged();
-                }
-            });
+            if (loadOver) {
+                return;
+            }
+            getAllMessage();
         }
     }
 }

+ 44 - 17
app/src/main/java/com/edufound/reader/presenter/MyCollectionPresenter.java

@@ -2,13 +2,19 @@ package com.edufound.reader.presenter;
 
 import android.graphics.Rect;
 import android.view.View;
+import android.widget.Toast;
 
 import com.edufound.reader.adapter.MyCollectionItemAdapter;
 import com.edufound.reader.base.BasePresenter;
+import com.edufound.reader.bean.CommentListReplyBean;
+import com.edufound.reader.bean.HttpResultBean;
+import com.edufound.reader.bean.HttpResultDataListBean;
+import com.edufound.reader.bean.UserRecordBean;
 import com.edufound.reader.contract.MyCollectionContract;
 import com.edufound.reader.listener.RecyclerItemClickListener;
 import com.edufound.reader.model.MyCollectionModel;
 import com.edufound.reader.util.SizeUtils;
+import com.google.gson.reflect.TypeToken;
 import com.okhttplib.HttpInfo;
 import com.okhttplib.callback.Callback;
 import com.orhanobut.logger.Logger;
@@ -23,20 +29,26 @@ import androidx.recyclerview.widget.RecyclerView;
 import io.reactivex.rxjava3.annotations.NonNull;
 
 public class MyCollectionPresenter extends BasePresenter<MyCollectionContract.View> implements MyCollectionContract.Presenter {
-    List<Object> mDataList;
+    List<UserRecordBean> mDataList;
     MyCollectionItemAdapter myCollectionItemAdapter;
     MyCollectionModel mModel;
+    int mTotalSize = 0;
+    int mPageIndex = 1;
+    boolean loadOver = false;
 
     public MyCollectionPresenter() {
         mModel = new MyCollectionModel();
-        mDataList = new ArrayList<>();
-        for (int i = 0; i < 30; i++) {
-            mDataList.add("i=" + i);
-        }
     }
 
     @Override
     public void initRecyclerView(RecyclerView rv) {
+        if (mDataList == null || mDataList.size() <= 0) {
+            mView.getNoCollectionImg().setVisibility(View.VISIBLE);
+            rv.setVisibility(View.GONE);
+            return;
+        }
+        mView.getNoCollectionImg().setVisibility(View.GONE);
+        rv.setVisibility(View.VISIBLE);
         myCollectionItemAdapter = new MyCollectionItemAdapter(mView.getActivity(), mDataList);
         GridLayoutManager gridLayoutManager = new GridLayoutManager(mView.getActivity(), 2);
         gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
@@ -58,7 +70,7 @@ public class MyCollectionPresenter extends BasePresenter<MyCollectionContract.Vi
 
         myCollectionItemAdapter.setOnItemClickListener(new RecyclerItemClickListener() {
             @Override
-            public void onClickListener(int position, View view) {
+            public void onClickListener(int position, View view, Object object) {
                 Logger.e("position:" + position);
             }
         });
@@ -66,18 +78,31 @@ public class MyCollectionPresenter extends BasePresenter<MyCollectionContract.Vi
     }
 
     @Override
-    public void getFavoritesData(RecyclerView rv) {
-        mModel.getFavorites(mView.getActivity(), 0, new Callback() {
+    public void getFavoritesData() {
+        if (mDataList != null && mDataList.size() >= mTotalSize) {
+            loadOver = true;
+            Toast.makeText(mView.getActivity(), "没有更多了", Toast.LENGTH_SHORT).show();
+            return;
+        }
+        mModel.getFavorites(mView.getActivity(), mPageIndex, new Callback() {
             @Override
             public void onSuccess(HttpInfo info) throws IOException {
                 Logger.e("获取收藏列表成功:" + info.getRetDetail());
-                myCollectionItemAdapter.addMored(mDataList);
-                rv.post(new Runnable() {
-                    @Override
-                    public void run() {
-                        myCollectionItemAdapter.notifyDataSetChanged();
-                    }
-                });
+                HttpResultBean<HttpResultDataListBean<UserRecordBean>> bean = info.getRetDetail(new TypeToken<HttpResultBean<HttpResultDataListBean<UserRecordBean>>>() {
+                }.getType());
+                if (mDataList == null || mDataList.size() <= 0) {
+                    mDataList = bean.getData().getList();
+                    mTotalSize = Integer.valueOf(bean.getData().getTotalSize());
+                    mView.getFavoritesSuccess();
+                } else {
+                    mDataList.addAll(bean.getData().getList());
+                    mView.getRootView().post(new Runnable() {
+                        @Override
+                        public void run() {
+                            myCollectionItemAdapter.notifyDataSetChanged();
+                        }
+                    });
+                }
             }
 
             @Override
@@ -98,8 +123,10 @@ public class MyCollectionPresenter extends BasePresenter<MyCollectionContract.Vi
 
         if (childLayoutPosition < rv.getAdapter().getItemCount() - 2) {
         } else {
-            getFavoritesData(rv);
-
+            if (loadOver) {
+                return;
+            }
+            getFavoritesData();
         }
     }
 }

+ 66 - 17
app/src/main/java/com/edufound/reader/presenter/MyFollowPresenter.java

@@ -8,11 +8,20 @@ import android.widget.Toast;
 import com.edufound.reader.activity.OthersRecordActivity;
 import com.edufound.reader.adapter.MyFollowItemAdapter;
 import com.edufound.reader.base.BasePresenter;
+import com.edufound.reader.bean.HttpResultBean;
+import com.edufound.reader.bean.HttpResultDataListBean;
+import com.edufound.reader.bean.MyFollowBean;
+import com.edufound.reader.bean.UserRecordBean;
 import com.edufound.reader.contract.MyFollowContract;
 import com.edufound.reader.listener.RecyclerItemClickListener;
+import com.edufound.reader.model.MyFollowModel;
 import com.edufound.reader.util.SizeUtils;
+import com.google.gson.reflect.TypeToken;
+import com.okhttplib.HttpInfo;
+import com.okhttplib.callback.Callback;
 import com.orhanobut.logger.Logger;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -22,19 +31,30 @@ import androidx.recyclerview.widget.RecyclerView;
 import io.reactivex.rxjava3.annotations.NonNull;
 
 public class MyFollowPresenter extends BasePresenter<MyFollowContract.View> implements MyFollowContract.Presenter {
-    List<Object> mDataList;
+    MyFollowModel mModel;
+    List<MyFollowBean> mDataList;
     MyFollowItemAdapter myFollowItemAdapter;
+    int mPageIndex = 1;
+    int mTotalSize = 0;
+    boolean loadOver = false;
 
     public MyFollowPresenter() {
-        mDataList = new ArrayList<>();
-        for (int i = 0; i < 30; i++) {
-            mDataList.add("i=" + i);
-        }
+        mModel = new MyFollowModel();
+//        mDataList = new ArrayList<>();
+//        for (int i = 0; i < 30; i++) {
+//            mDataList.add("i=" + i);
+//        }
     }
 
     @Override
     public void initRecyclerView(RecyclerView rv) {
-//
+        if (mDataList == null || mDataList.size() <= 0) {
+            mView.getNoFollow().setVisibility(View.VISIBLE);
+            rv.setVisibility(View.GONE);
+            return;
+        }
+        mView.getNoFollow().setVisibility(View.GONE);
+        rv.setVisibility(View.VISIBLE);
         myFollowItemAdapter = new MyFollowItemAdapter(mView.getActivity(), mDataList);
         GridLayoutManager gridLayoutManager = new GridLayoutManager(mView.getActivity(), 3);
         gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
@@ -61,7 +81,7 @@ public class MyFollowPresenter extends BasePresenter<MyFollowContract.View> impl
         });
         myFollowItemAdapter.setOnItemClickListener(new RecyclerItemClickListener() {
             @Override
-            public void onClickListener(int position, View view) {
+            public void onClickListener(int position, View view, Object object) {
                 Toast.makeText(mView.getActivity(), "click:" + position, Toast.LENGTH_SHORT).show();
                 Intent intent = new Intent(mView.getActivity(), OthersRecordActivity.class);
                 intent.putExtra("userId", position);
@@ -71,7 +91,41 @@ public class MyFollowPresenter extends BasePresenter<MyFollowContract.View> impl
         rv.setAdapter(myFollowItemAdapter);
     }
 
-    public void addMoreData(RecyclerView rv) {
+    @Override
+    public void getFollowAll() {
+        if (mDataList != null && mDataList.size() >= mTotalSize) {
+            loadOver = true;
+            Toast.makeText(mView.getActivity(), "没有更多了", Toast.LENGTH_SHORT).show();
+            return;
+        }
+        mModel.getFollowAll(mView.getActivity(), mPageIndex, new Callback() {
+            @Override
+            public void onSuccess(HttpInfo info) throws IOException {
+                HttpResultBean<HttpResultDataListBean<MyFollowBean>> bean = info.getRetDetail(new TypeToken<HttpResultBean<HttpResultDataListBean<MyFollowBean>>>() {
+                }.getType());
+                if (mDataList == null || mDataList.size() <= 0) {
+                    mDataList = bean.getData().getList();
+                    mTotalSize = Integer.valueOf(bean.getData().getTotalSize());
+                    mView.getFollowSuccess();
+                } else {
+                    mDataList.addAll(bean.getData().getList());
+                    mView.getRootView().post(new Runnable() {
+                        @Override
+                        public void run() {
+                            myFollowItemAdapter.notifyDataSetChanged();
+                        }
+                    });
+                }
+            }
+
+            @Override
+            public void onFailure(HttpInfo info) throws IOException {
+
+            }
+        });
+    }
+
+    private void addMoreData(RecyclerView rv) {
         //获取当前显示的View 的数据
         int childCount = rv.getChildCount();
         //获取最后一具 Item 对应的View
@@ -82,15 +136,10 @@ public class MyFollowPresenter extends BasePresenter<MyFollowContract.View> impl
 
         if (childLayoutPosition < rv.getAdapter().getItemCount() - 2) {
         } else {
-            Logger.e("倒数第二个,添加数据");
-            mDataList.addAll(mDataList);
-            myFollowItemAdapter.addMored(mDataList);
-            rv.post(new Runnable() {
-                @Override
-                public void run() {
-                    myFollowItemAdapter.notifyDataSetChanged();
-                }
-            });
+            if (loadOver) {
+                return;
+            }
+            getFollowAll();
         }
     }
 }

+ 6 - 2
app/src/main/java/com/edufound/reader/presenter/OthersRecordPresenter.java

@@ -26,6 +26,7 @@ import com.edufound.reader.bean.UserRecordBean;
 import com.edufound.reader.contract.OthersRecordContract;
 import com.edufound.reader.model.CharacterFragmentModel;
 import com.edufound.reader.model.OthersRecordModel;
+import com.edufound.reader.receiver.BackPageReceiver;
 import com.edufound.reader.util.GlideUtils;
 import com.edufound.reader.util.SizeUtils;
 import com.google.gson.reflect.TypeToken;
@@ -143,7 +144,7 @@ public class OthersRecordPresenter extends BasePresenter<OthersRecordContract.Vi
                 }.getType());
                 mDataList = bean.getData().getList();
                 mView.getOtherRecordSuccess();
-                mView.loadMoreItem();
+//                mView.loadMoreItem();
             }
 
             @Override
@@ -158,7 +159,6 @@ public class OthersRecordPresenter extends BasePresenter<OthersRecordContract.Vi
         Map<String, String> map = new HashMap<>();
         map.put("uid", uid);
         String json = ((BaseActivity) mView.getActivity()).getGson().toJson(map);
-        Logger.e("json:" + json);
         mModel.doFollow(mView.getActivity(), json, new Callback() {
             @Override
             public void onSuccess(HttpInfo info) throws IOException {
@@ -183,6 +183,9 @@ public class OthersRecordPresenter extends BasePresenter<OthersRecordContract.Vi
 
     @Override
     public void onDestory(GridLayout layout) {
+        Intent intent = new Intent(BackPageReceiver.BACK_HOME_REF_VIDEO_ITEM);
+        intent.putExtra("recordId", mDataList.get(0).getUserRead().getId());
+        mView.getActivity().sendBroadcast(intent);
         otherRecordHandler.removeMessages(CharacterFragmentModel.LOAD_GRID);
         otherRecordHandler = null;
         layout.removeAllViews();
@@ -221,4 +224,5 @@ public class OthersRecordPresenter extends BasePresenter<OthersRecordContract.Vi
             return false;
         }
     });
+
 }

+ 0 - 1
app/src/main/java/com/edufound/reader/presenter/PopWindowPresneter.java

@@ -23,7 +23,6 @@ import com.edufound.reader.model.PopWindowModelImpl;
 import com.edufound.reader.popwindow.PopWindowUtil;
 import com.orhanobut.logger.Logger;
 
-import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 

+ 46 - 10
app/src/main/java/com/edufound/reader/presenter/RecommendFragmentPresenter.java

@@ -1,6 +1,7 @@
 package com.edufound.reader.presenter;
 
 import android.content.Context;
+import android.content.Intent;
 import android.graphics.Outline;
 import android.text.TextUtils;
 import android.view.View;
@@ -19,6 +20,7 @@ import com.edufound.reader.bean.UserRecordBean;
 import com.edufound.reader.contract.RecommendFragmentContract;
 import com.edufound.reader.cusview.RvListJzvdStd;
 import com.edufound.reader.model.RecommendFragmentModel;
+import com.edufound.reader.receiver.BackPageReceiver;
 import com.edufound.reader.util.Consts;
 import com.edufound.reader.util.EfunboxUtil;
 import com.edufound.reader.util.MMKVEncodeKey;
@@ -49,16 +51,14 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
     RecommendFragmentModel mModel;
     private ViewPagerLayoutManager mViewPagerLayoutManager;
     private int mCurrentPosition = 0;
-
-    /*
-     * 测试数据
-     * */
     List<UserRecordBean> mDataList;
     SlideVideoAdapter mAdapter;
 
     public RecommendFragmentPresenter(Context context) {
         mModel = new RecommendFragmentModel();
         mContext = context;
+        BackPageReceiver.registerReceiver(context);
+        BackPageReceiver.registerBackPageReceiverListener(backListener);
     }
 
     @Override
@@ -104,7 +104,6 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
             @Override
             public void onInitComplete() {
                 //自动播放第一条
-                mView.setTopStatus(mDataList.get(0));
                 autoPlayVideo(rv);
             }
 
@@ -123,7 +122,6 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
 //                }
                 autoPlayVideo(rv);
                 mCurrentPosition = position;
-                mView.setTopStatus(mDataList.get(mCurrentPosition));
                 if (mCurrentPosition == 0) {
                     Toast.makeText(mContext, "已经是第一个了", Toast.LENGTH_SHORT).show();
                 }
@@ -189,8 +187,6 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
         mModel.getRecommendList(mView.getActivity(), grade, (mCurrentPosition / 100) + 1, new Callback() {
             @Override
             public void onSuccess(HttpInfo info) throws IOException {
-//                    Log.e("com.edufound.reader", "获取推荐列表成功:" + info.getRetDetail());
-                Logger.e("info.params:" + info.getParams());
                 HttpResultBean<HttpResultDataListBean<UserRecordBean>> bean = info.getRetDetail(new TypeToken<HttpResultBean<HttpResultDataListBean<UserRecordBean>>>() {
                 }.getType());
                 if (mDataList == null) {
@@ -220,11 +216,9 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
         map.put("exampleId", userRead.getExampleId());
         map.put("targetCode", userRead.getExampleId());
         String json = ((BaseActivity) mView.getActivity()).getGson().toJson(map);
-        Logger.e("json:" + json);
         mModel.doFavorites(mView.getActivity(), json, new Callback() {
             @Override
             public void onSuccess(HttpInfo info) throws IOException {
-                Logger.e("收藏/取消收藏接口成功:" + info.getRetDetail());
                 HttpResultBean<FavoritesBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<FavoritesBean>>() {
                 }.getType());
                 if (bean.getData().getStatus().equals("DEL")) {
@@ -264,10 +258,41 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
         Jzvd.backPress();
     }
 
+    @Override
+    public void getRecordInfoById(String id) {
+        mModel.getRecordInfoById(mView.getActivity(), id, new Callback() {
+            @Override
+            public void onSuccess(HttpInfo info) throws IOException {
+                HttpResultBean<UserRecordBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<UserRecordBean>>() {
+                }.getType());
+                mDataList.set(mCurrentPosition, bean.getData());
+                mView.getRootView().post(new Runnable() {
+                    @Override
+                    public void run() {
+                        mAdapter.notifyDataSetChanged();
+                    }
+                });
+            }
+
+            @Override
+            public void onFailure(HttpInfo info) throws IOException {
+                Logger.e("获取单独的失敗了:" + info.getRetDetail());
+            }
+        });
+
+    }
+
     private void autoPlayVideo(RecyclerView rv) {
         if (rv == null || rv.getChildAt(0) == null) {
             return;
         }
+        //获取当前显示的View 的数据
+        int childCount = rv.getChildCount();
+        //获取最后一具 Item 对应的View
+        View childAt = rv.getChildAt(childCount - 1);
+        //获取当前军舰中显示的最后一个 Item 的位置  Postion
+        int childLayoutPosition = rv.getChildLayoutPosition(childAt);
+        mView.setTopStatus(mDataList.get(childLayoutPosition));
         RvListJzvdStd player = rv.getChildAt(0).findViewById(R.id.slidevideo_video);
         if (player != null) {
             if (player.state == Jzvd.STATE_PLAYING) {
@@ -330,5 +355,16 @@ public class RecommendFragmentPresenter extends BasePresenter<RecommendFragmentC
 
     }
 
+    BackPageReceiver.onBackPage backListener = new BackPageReceiver.onBackPage() {
+        @Override
+        public void pageBack(Intent intent) {
+            if (intent.getAction().equals(BackPageReceiver.BACK_HOME_REF_VIDEO_ITEM)) {
+                //从其他页面回来了。查询一下单独的item数据,然后赋值
+                Logger.e("收到了回来的广播了");
+                getRecordInfoById(intent.getStringExtra("recordId"));
+            }
+        }
+    };
+
 
 }

+ 62 - 8
app/src/main/java/com/edufound/reader/presenter/SafflowerPresenter.java

@@ -4,14 +4,21 @@ import android.view.Gravity;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.ImageView;
 import android.widget.LinearLayout;
+import android.widget.TextView;
 
 import com.edufound.reader.R;
 import com.edufound.reader.adapter.SafflowerItemAdapter;
 import com.edufound.reader.base.BasePresenter;
+import com.edufound.reader.bean.HttpResultBean;
+import com.edufound.reader.bean.HttpResultDataListBean;
+import com.edufound.reader.bean.SignInfoBean;
+import com.edufound.reader.bean.TaskBean;
 import com.edufound.reader.contract.SafflowerContract;
 import com.edufound.reader.model.SafflowerModel;
 import com.edufound.reader.util.SizeUtils;
+import com.google.gson.reflect.TypeToken;
 import com.okhttplib.HttpInfo;
 import com.okhttplib.callback.Callback;
 import com.orhanobut.logger.Logger;
@@ -26,21 +33,29 @@ import androidx.recyclerview.widget.RecyclerView;
 
 public class SafflowerPresenter extends BasePresenter<SafflowerContract.View> implements SafflowerContract.Presenter {
     SafflowerModel mModel;
-    List<Object> mDataList;
+    List<TaskBean> mDataList;
+    List<SignInfoBean.SignInfoItemBean> mSignList;
+    SafflowerItemAdapter mSafflowerItemAdapter;
 
     public SafflowerPresenter() {
         mModel = new SafflowerModel();
         mDataList = new ArrayList<>();
-        for (int i = 0; i < 7; i++) {
-            mDataList.add(i);
-        }
     }
 
     @Override
     public void initSignLayout(LinearLayout layout) {
-        if (mDataList != null && mDataList.size() > 0) {
-            for (int i = 0; i < mDataList.size(); i++) {
+
+        if (mSignList != null && mSignList.size() > 0) {
+            for (int i = 0; i < mSignList.size(); i++) {
                 View view = LayoutInflater.from(mView.getActivity()).inflate(R.layout.activity_saffloer_sign_layout_item, null);
+                TextView date = view.findViewById(R.id.activity_saffloer_sign_layout_item_date);
+                ImageView isSign = view.findViewById(R.id.activity_saffloer_sign_layout_item_issign);
+                TextView count = view.findViewById(R.id.activity_saffloer_sign_layout_item_count);
+                date.setText(mSignList.get(i).getDate());
+                if (!mSignList.get(i).isSign()) {
+                    isSign.setVisibility(View.INVISIBLE);
+                }
+                count.setText("+" + mSignList.get(i).getCount());
                 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, 1);
                 params.gravity = Gravity.CENTER;
                 view.setLayoutParams(params);
@@ -51,14 +66,20 @@ public class SafflowerPresenter extends BasePresenter<SafflowerContract.View> im
 
     @Override
     public void initRecyclearView(RecyclerView rv) {
-        SafflowerItemAdapter mMessageItemAdapter = new SafflowerItemAdapter(mView.getActivity(), mDataList);
+        if (mDataList == null || mDataList.size() <= 0) {
+//            rv.setVisibility(View.GONE);
+            return;
+        }
+//        rv.setVisibility(View.VISIBLE);
+        Logger.e("設置:initRecyclearView");
+        mSafflowerItemAdapter = new SafflowerItemAdapter(mView.getActivity(), mDataList);
         GridLayoutManager gridLayoutManager = new GridLayoutManager(mView.getActivity(), 2);
         gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
         rv.addItemDecoration(new MyCollectionItemDecoration(
                 SizeUtils.dp2px(mView.getActivity(), 20f),
                 SizeUtils.dp2px(mView.getActivity(), 20)));
         rv.setLayoutManager(gridLayoutManager);
-        rv.setAdapter(mMessageItemAdapter);
+        rv.setAdapter(mSafflowerItemAdapter);
     }
 
     @Override
@@ -68,6 +89,20 @@ public class SafflowerPresenter extends BasePresenter<SafflowerContract.View> im
             public void onSuccess(HttpInfo info) throws IOException {
                 Logger.e("获取任务成功:" + info.getRetDetail());
                 Logger.e("uid:" + info.getHeads());
+                HttpResultBean<List<TaskBean>> bean = info.getRetDetail(new TypeToken<HttpResultBean<List<TaskBean>>>() {
+                }.getType());
+                if (mDataList == null || mDataList.size() <= 0) {
+                    mDataList = bean.getData();
+                    mView.getTaskSuccess();
+                } else {
+                    mDataList.addAll(bean.getData());
+                    mView.getRootView().post(new Runnable() {
+                        @Override
+                        public void run() {
+                            mSafflowerItemAdapter.notifyDataSetChanged();
+                        }
+                    });
+                }
             }
 
             @Override
@@ -78,4 +113,23 @@ public class SafflowerPresenter extends BasePresenter<SafflowerContract.View> im
         });
     }
 
+    @Override
+    public void getSignInfo() {
+        mModel.getSignInfo(mView.getActivity(), new Callback() {
+            @Override
+            public void onSuccess(HttpInfo info) throws IOException {
+                Logger.e("获取签到信息成功:" + info.getRetDetail());
+                HttpResultBean<SignInfoBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<SignInfoBean>>() {
+                }.getType());
+                mSignList = bean.getData().getSignInfo();
+                mView.getSignInfoSuccess();
+            }
+
+            @Override
+            public void onFailure(HttpInfo info) throws IOException {
+
+            }
+        });
+    }
+
 }

+ 55 - 0
app/src/main/java/com/edufound/reader/receiver/BackPageReceiver.java

@@ -0,0 +1,55 @@
+package com.edufound.reader.receiver;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+
+
+/**
+ * 特定情况下页面返回上一个页面需要修改参数乱七八糟的
+ */
+public class BackPageReceiver extends BroadcastReceiver {
+
+
+    /**
+     * 评论,他人页面返回回来要刷新单独的videoitem来修改UI(是否关注和评论数)
+     */
+    public static final String BACK_HOME_REF_VIDEO_ITEM = "com.edufound.reader.back.home.ref.video.item";
+
+    private static boolean isRegister = false;
+
+    private static onBackPage mBackListener;
+
+    private static class InstanceHolder {
+        private static final BackPageReceiver INSTANCE = new BackPageReceiver();
+    }
+
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        mBackListener.pageBack(intent);
+    }
+
+    public static void registerReceiver(Context context) {
+        IntentFilter intentFilter = new IntentFilter(BACK_HOME_REF_VIDEO_ITEM);
+        context.registerReceiver(BackPageReceiver.InstanceHolder.INSTANCE, intentFilter);
+        isRegister = true;
+    }
+
+
+    public static void registerBackPageReceiverListener(onBackPage listener) {
+        mBackListener = listener;
+    }
+
+    public static void unRegisterReceiver(Context context) {
+        if (isRegister) {
+            context.unregisterReceiver(BackPageReceiver.InstanceHolder.INSTANCE);
+            isRegister = false;
+        }
+    }
+
+
+    public interface onBackPage {
+        void pageBack(Intent intent);
+    }
+}

+ 13 - 0
app/src/main/java/com/edufound/reader/util/EfunboxUtil.java

@@ -10,6 +10,9 @@ import android.util.DisplayMetrics;
 import com.edufound.reader.activity.LoginAlertActivity;
 import com.orhanobut.logger.Logger;
 
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
+
 import io.reactivex.rxjava3.annotations.NonNull;
 
 public class EfunboxUtil {
@@ -117,4 +120,14 @@ public class EfunboxUtil {
         return false;
     }
 
+
+    public static String checkNum10000(String num) {
+        if (Float.valueOf(num) > 10000f) {
+            float a = Float.parseFloat(num) / 10000;
+            DecimalFormat decimalFormat = new DecimalFormat("#.#");
+            return String.valueOf(decimalFormat.format(a)) + "万";
+        }
+        return num;
+    }
+
 }

BIN
app/src/main/res/drawable/fragment_my_vip_renew.png


+ 209 - 187
app/src/main/res/layout/activity_comment.xml

@@ -1,252 +1,274 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<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"
+        android:layout_gravity="center"
         android:background="@color/translucent_background"
         android:clickable="true"
         android:focusableInTouchMode="true"
         android:orientation="horizontal">
 
-    <Space
-            android:id="@+id/comment_touch_back"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="2"></Space>
-
     <FrameLayout
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
+            android:id="@+id/frameLayout"
+            android:layout_width="720dp"
+            android:layout_height="560dp"
             android:layout_gravity="center"
-            android:layout_weight="6"
-            android:background="@color/white">
-
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent">
 
         <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="match_parent"
+                android:background="@color/translucent_background"
                 android:clickable="true"
                 android:focusableInTouchMode="true"
-                android:orientation="vertical">
+                android:orientation="horizontal">
 
+            <Space
+                    android:id="@+id/comment_touch_back"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="2"></Space>
 
-            <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="0dp"
-                    android:layout_gravity="center|top"
+            <FrameLayout
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_gravity="center"
                     android:layout_weight="6"
-                    android:gravity="center|top"
-                    android:orientation="vertical">
-
-                <TextView
-                        android:id="@+id/comment_count"
-                        android:layout_width="wrap_content"
-                        android:layout_height="42dp"
-                        android:layout_marginTop="38dp"
-                        android:alpha="0.8"
-                        android:text="评论:0"
-                        android:textColor="@color/black"
-                        android:textSize="30dp"></TextView>
-
-                <FrameLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent">
-
-                    <androidx.recyclerview.widget.RecyclerView
-                            android:id="@+id/comment_item_layout"
-                            android:layout_width="match_parent"
-                            android:layout_height="match_parent"
-                            android:orientation="vertical"></androidx.recyclerview.widget.RecyclerView>
-
-                    <FrameLayout
-                            android:id="@+id/comment_no_comment"
-                            android:layout_width="match_parent"
-                            android:layout_height="match_parent"
-                            android:visibility="gone">
-
-                        <ImageView
-                                android:layout_width="wrap_content"
-                                android:layout_height="wrap_content"
-                                android:layout_gravity="center"
-                                android:src="@drawable/fragment_user_no_record"></ImageView>
-                    </FrameLayout>
+                    android:background="@color/white">
 
-                </FrameLayout>
-            </LinearLayout>
-
-            <FrameLayout
-                    android:id="@+id/comment_quick_layout"
-                    android:layout_width="match_parent"
-                    android:layout_height="0dp"
-                    android:layout_weight="1.5"
-                    android:background="@color/aliceblue">
 
                 <LinearLayout
                         android:layout_width="match_parent"
                         android:layout_height="match_parent"
+                        android:clickable="true"
+                        android:focusableInTouchMode="true"
                         android:orientation="vertical">
 
 
-                    <FrameLayout
+                    <LinearLayout
                             android:layout_width="match_parent"
                             android:layout_height="0dp"
-                            android:layout_weight="1">
+                            android:layout_gravity="center|top"
+                            android:layout_weight="6"
+                            android:gravity="center|top"
+                            android:orientation="vertical">
 
                         <TextView
+                                android:id="@+id/comment_count"
                                 android:layout_width="wrap_content"
-                                android:layout_height="match_parent"
-                                android:layout_weight="1"
-                                android:gravity="center|left"
-                                android:paddingLeft="20dp"
-                                android:text="留下你的赞美,鼓励一下。"
+                                android:layout_height="42dp"
+                                android:layout_marginTop="38dp"
+                                android:alpha="0.8"
+                                android:text="评论:0"
                                 android:textColor="@color/black"
-                                android:textSize="28dp"></TextView>
-
-                        <ImageView
-                                android:id="@+id/comment_close_quick"
-                                android:layout_width="32dp"
-                                android:layout_height="32dp"
-                                android:layout_gravity="right|top"
-                                android:layout_marginTop="20dp"
-                                android:layout_marginRight="32dp"
-                                android:src="@color/red"></ImageView>
-                    </FrameLayout>
-
-                    <LinearLayout
-                            android:layout_width="match_parent"
-                            android:layout_height="0dp"
-                            android:layout_weight="1"
-                            android:divider="@drawable/main_left_tab_divider"
-                            android:orientation="horizontal"
-                            android:paddingLeft="20dp"
-                            android:paddingRight="20dp"
-                            android:paddingBottom="20dp"
-                            android:showDividers="middle">
+                                android:textSize="30dp"></TextView>
 
                         <FrameLayout
-                                android:id="@+id/comment_quick_layout_item1"
-                                android:layout_width="0dp"
-                                android:layout_height="match_parent"
-                                android:layout_gravity="center"
-                                android:layout_weight="1"
-                                android:background="@drawable/activity_comment_quick_item_one_bg">
+                                android:layout_width="match_parent"
+                                android:layout_height="match_parent">
 
-                            <TextView
+                            <androidx.recyclerview.widget.RecyclerView
+                                    android:id="@+id/comment_item_layout"
                                     android:layout_width="match_parent"
                                     android:layout_height="match_parent"
-                                    android:layout_gravity="center"
-                                    android:gravity="center"
-                                    android:text="很优秀,向你学习"
-                                    android:textColor="@color/white"
-                                    android:textSize="24dp"></TextView>
-                        </FrameLayout>
-
-                        <FrameLayout
-                                android:id="@+id/comment_quick_layout_item2"
-                                android:layout_width="0dp"
-                                android:layout_height="match_parent"
-                                android:layout_weight="1"
-                                android:background="@drawable/activity_comment_quick_item_two_bg">
+                                    android:orientation="vertical"></androidx.recyclerview.widget.RecyclerView>
 
-                            <TextView
+                            <FrameLayout
+                                    android:id="@+id/comment_no_comment"
                                     android:layout_width="match_parent"
                                     android:layout_height="match_parent"
-                                    android:layout_gravity="center"
-                                    android:gravity="center"
-                                    android:text="挺好的,期待更好"
-                                    android:textColor="@color/white"
-                                    android:textSize="24dp"></TextView>
-                        </FrameLayout>
-
-                        <FrameLayout
-                                android:id="@+id/comment_quick_layout_item3"
-                                android:layout_width="0dp"
-                                android:layout_height="match_parent"
-                                android:layout_weight="1"
-                                android:background="@drawable/activity_comment_quick_item_three_bg">
+                                    android:visibility="gone">
 
-                            <TextView
-                                    android:layout_width="match_parent"
-                                    android:layout_height="match_parent"
-                                    android:layout_gravity="center"
-                                    android:gravity="center"
-                                    android:text="还可以,继续努力"
-                                    android:textColor="@color/white"
-                                    android:textSize="24dp"></TextView>
+                                <ImageView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:layout_gravity="center"
+                                        android:src="@drawable/fragment_user_no_record"></ImageView>
+                            </FrameLayout>
 
                         </FrameLayout>
                     </LinearLayout>
-                </LinearLayout>
 
-            </FrameLayout>
+                    <FrameLayout
+                            android:id="@+id/comment_quick_layout"
+                            android:layout_width="match_parent"
+                            android:layout_height="0dp"
+                            android:layout_weight="1.5"
+                            android:background="@color/aliceblue">
 
-            <FrameLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="120dp"
-                    android:background="@color/aliceblue"
-                    android:padding="20dp">
+                        <LinearLayout
+                                android:layout_width="match_parent"
+                                android:layout_height="match_parent"
+                                android:orientation="vertical">
 
-                <LinearLayout
-                        android:layout_width="match_parent"
-                        android:layout_height="match_parent"
 
-                        android:orientation="horizontal">
+                            <FrameLayout
+                                    android:layout_width="match_parent"
+                                    android:layout_height="0dp"
+                                    android:layout_weight="1">
+
+                                <TextView
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="match_parent"
+                                        android:layout_weight="1"
+                                        android:gravity="center|left"
+                                        android:paddingLeft="20dp"
+                                        android:text="留下你的赞美,鼓励一下。"
+                                        android:textColor="@color/black"
+                                        android:textSize="28dp"></TextView>
+
+                                <ImageView
+                                        android:id="@+id/comment_close_quick"
+                                        android:layout_width="32dp"
+                                        android:layout_height="32dp"
+                                        android:layout_gravity="right|top"
+                                        android:layout_marginTop="20dp"
+                                        android:layout_marginRight="32dp"
+                                        android:src="@color/red"></ImageView>
+                            </FrameLayout>
+
+                            <LinearLayout
+                                    android:layout_width="match_parent"
+                                    android:layout_height="0dp"
+                                    android:layout_weight="1"
+                                    android:divider="@drawable/main_left_tab_divider"
+                                    android:orientation="horizontal"
+                                    android:paddingLeft="20dp"
+                                    android:paddingRight="20dp"
+                                    android:paddingBottom="20dp"
+                                    android:showDividers="middle">
+
+                                <FrameLayout
+                                        android:id="@+id/comment_quick_layout_item1"
+                                        android:layout_width="0dp"
+                                        android:layout_height="match_parent"
+                                        android:layout_gravity="center"
+                                        android:layout_weight="1"
+                                        android:background="@drawable/activity_comment_quick_item_one_bg">
+
+                                    <TextView
+                                            android:layout_width="match_parent"
+                                            android:layout_height="match_parent"
+                                            android:layout_gravity="center"
+                                            android:gravity="center"
+                                            android:text="很优秀,向你学习"
+                                            android:textColor="@color/white"
+                                            android:textSize="24dp"></TextView>
+                                </FrameLayout>
+
+                                <FrameLayout
+                                        android:id="@+id/comment_quick_layout_item2"
+                                        android:layout_width="0dp"
+                                        android:layout_height="match_parent"
+                                        android:layout_weight="1"
+                                        android:background="@drawable/activity_comment_quick_item_two_bg">
+
+                                    <TextView
+                                            android:layout_width="match_parent"
+                                            android:layout_height="match_parent"
+                                            android:layout_gravity="center"
+                                            android:gravity="center"
+                                            android:text="挺好的,期待更好"
+                                            android:textColor="@color/white"
+                                            android:textSize="24dp"></TextView>
+                                </FrameLayout>
+
+                                <FrameLayout
+                                        android:id="@+id/comment_quick_layout_item3"
+                                        android:layout_width="0dp"
+                                        android:layout_height="match_parent"
+                                        android:layout_weight="1"
+                                        android:background="@drawable/activity_comment_quick_item_three_bg">
+
+                                    <TextView
+                                            android:layout_width="match_parent"
+                                            android:layout_height="match_parent"
+                                            android:layout_gravity="center"
+                                            android:gravity="center"
+                                            android:text="还可以,继续努力"
+                                            android:textColor="@color/white"
+                                            android:textSize="24dp"></TextView>
+
+                                </FrameLayout>
+                            </LinearLayout>
+                        </LinearLayout>
 
+                    </FrameLayout>
 
-                    <com.edufound.reader.cusview.RoundFrameLayout
-                            android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="3"
-                            android:background="@color/white">
+                    <FrameLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="120dp"
+                            android:background="@color/aliceblue"
+                            android:padding="20dp">
 
-                        <EditText
-                                android:id="@+id/comment_edit_text"
+                        <LinearLayout
                                 android:layout_width="match_parent"
                                 android:layout_height="match_parent"
-                                android:background="@null"
-                                android:gravity="center|left"
-                                android:hint="我有话说..."
-                                android:paddingLeft="20dp"
-                                android:textSize="25dp"></EditText>
-                    </com.edufound.reader.cusview.RoundFrameLayout>
 
-                    <FrameLayout
-                            android:layout_width="0dp"
-                            android:layout_height="match_parent"
-                            android:layout_weight="1">
+                                android:orientation="horizontal">
 
-                        <com.edufound.reader.cusview.RoundFrameLayout
-                                android:id="@+id/comment_sendcomment"
-                                android:layout_width="match_parent"
-                                android:layout_height="match_parent"
-                                android:layout_marginLeft="20dp"
-                                android:background="@color/white">
 
-                            <TextView
-                                    android:layout_width="match_parent"
+                            <com.edufound.reader.cusview.RoundFrameLayout
+                                    android:layout_width="0dp"
+                                    android:layout_height="match_parent"
+                                    android:layout_weight="3"
+                                    android:background="@color/white">
+
+                                <EditText
+                                        android:id="@+id/comment_edit_text"
+                                        android:layout_width="match_parent"
+                                        android:layout_height="match_parent"
+                                        android:background="@null"
+                                        android:gravity="center|left"
+                                        android:hint="我有话说..."
+                                        android:paddingLeft="20dp"
+                                        android:textSize="25dp"></EditText>
+                            </com.edufound.reader.cusview.RoundFrameLayout>
+
+                            <FrameLayout
+                                    android:layout_width="0dp"
                                     android:layout_height="match_parent"
-                                    android:layout_gravity="center"
-                                    android:gravity="center"
-                                    android:text="发送"
-                                    android:textColor="@color/dodgerblue"
-                                    android:textSize="30dp"></TextView>
-                        </com.edufound.reader.cusview.RoundFrameLayout>
+                                    android:layout_weight="1">
+
+                                <com.edufound.reader.cusview.RoundFrameLayout
+                                        android:id="@+id/comment_sendcomment"
+                                        android:layout_width="match_parent"
+                                        android:layout_height="match_parent"
+                                        android:layout_marginLeft="20dp"
+                                        android:background="@color/white">
+
+                                    <TextView
+                                            android:layout_width="match_parent"
+                                            android:layout_height="match_parent"
+                                            android:layout_gravity="center"
+                                            android:gravity="center"
+                                            android:text="发送"
+                                            android:textColor="@color/dodgerblue"
+                                            android:textSize="30dp"></TextView>
+                                </com.edufound.reader.cusview.RoundFrameLayout>
+                            </FrameLayout>
+
+                        </LinearLayout>
+
                     </FrameLayout>
 
-                </LinearLayout>
 
-            </FrameLayout>
+                </LinearLayout>
 
 
+                <ImageView
+                        android:id="@+id/comment_back"
+                        android:layout_width="34dp"
+                        android:layout_height="34dp"
+                        android:layout_gravity="right|top"
+                        android:layout_marginTop="20dp"
+                        android:layout_marginRight="32dp"
+                        android:src="@color/green"></ImageView>
+            </FrameLayout>
         </LinearLayout>
-
-
-        <ImageView
-                android:id="@+id/comment_back"
-                android:layout_width="34dp"
-                android:layout_height="34dp"
-                android:layout_gravity="right|top"
-                android:layout_marginTop="20dp"
-                android:layout_marginRight="32dp"
-                android:src="@color/green"></ImageView>
     </FrameLayout>
-</LinearLayout>
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 17 - 3
app/src/main/res/layout/activity_message.xml

@@ -58,12 +58,26 @@
 
         </FrameLayout>
 
-        <androidx.recyclerview.widget.RecyclerView
-                android:id="@+id/message_recyclerview"
+        <FrameLayout
                 android:layout_width="952dp"
                 android:layout_height="0dp"
                 android:layout_gravity="center"
-                android:layout_weight="6"></androidx.recyclerview.widget.RecyclerView>
+                android:layout_weight="6">
+
+            <androidx.recyclerview.widget.RecyclerView
+                    android:id="@+id/message_recyclerview"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_gravity="center"></androidx.recyclerview.widget.RecyclerView>
+
+            <ImageView
+                    android:id="@+id/message_nomessage"
+                    android:layout_width="320dp"
+                    android:layout_height="320dp"
+                    android:layout_gravity="center"
+                    android:src="@drawable/fragment_user_no_record"
+                    android:visibility="gone"></ImageView>
+        </FrameLayout>
 
     </LinearLayout>
 

+ 10 - 0
app/src/main/res/layout/activity_saffloer_sign_layout_item.xml

@@ -18,7 +18,16 @@
                 android:layout_height="match_parent"
                 android:src="@drawable/activity_saffloer_sign_layout_item_true"></ImageView>
 
+        <TextView
+                android:id="@+id/activity_saffloer_sign_layout_item_count"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:textColor="@color/white"
+                android:textSize="27dp"></TextView>
+
         <ImageView
+                android:id="@+id/activity_saffloer_sign_layout_item_issign"
                 android:layout_width="32dp"
                 android:layout_height="32dp"
                 android:layout_gravity="right"
@@ -26,6 +35,7 @@
     </FrameLayout>
 
     <TextView
+            android:id="@+id/activity_saffloer_sign_layout_item_date"
             android:layout_width="wrap_content"
             android:layout_height="28dp"
             android:layout_marginTop="10dp"

+ 12 - 5
app/src/main/res/layout/adapter_item_myfollow.xml

@@ -16,10 +16,10 @@
                 android:background="@color/white">
 
             <ImageView
+                    android:id="@+id/adapter_item_myfollow_userhead"
                     android:layout_width="90dp"
                     android:layout_height="90dp"
                     android:layout_marginLeft="18dp"
-                    android:src="@color/yellow"
                     app:layout_constraintBottom_toBottomOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
                     app:layout_constraintTop_toTopOf="parent"
@@ -41,6 +41,7 @@
 
 
             <TextView
+                    android:id="@+id/adapter_item_myfollow_followtime"
                     android:layout_width="wrap_content"
                     android:layout_height="42dp"
                     android:layout_marginLeft="131dp"
@@ -60,6 +61,7 @@
                     android:layout_marginTop="10dp"
                     android:layout_marginRight="10dp"
                     android:background="@color/red"
+                    android:visibility="invisible"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintTop_toTopOf="parent"></ImageView>
 
@@ -86,12 +88,13 @@
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_gravity="center"
+                            android:layout_marginTop="2dp"
                             android:layout_weight="1"
                             android:scaleType="center"
                             android:src="@drawable/adapter_item_record_look"></ImageView>
 
                     <TextView
-                            android:id="@+id/adapter_item_record_authority_look_num"
+                            android:id="@+id/adapter_item_myfollow_look_num"
                             android:layout_width="0dp"
                             android:layout_height="match_parent"
                             android:layout_gravity="center|left"
@@ -112,12 +115,13 @@
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_gravity="center"
+                            android:layout_marginTop="2dp"
                             android:layout_weight="1"
                             android:scaleType="center"
                             android:src="@drawable/adapter_item_record_thumb"></ImageView>
 
                     <TextView
-                            android:id="@+id/adapter_item_record_authority_thumb_num"
+                            android:id="@+id/adapter_item_myfollow_thumb_num"
                             android:layout_width="0dp"
                             android:layout_height="match_parent"
                             android:layout_gravity="center|left"
@@ -138,12 +142,14 @@
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_gravity="center"
+                            android:layout_marginLeft="2dp"
+                            android:layout_marginTop="2dp"
                             android:layout_weight="1"
                             android:scaleType="center"
                             android:src="@drawable/adapter_item_record_comment"></ImageView>
 
                     <TextView
-                            android:id="@+id/adapter_item_record_authority_comment_num"
+                            android:id="@+id/adapter_item_myfollow_comment_num"
                             android:layout_width="0dp"
                             android:layout_height="match_parent"
                             android:layout_gravity="center|left"
@@ -166,12 +172,13 @@
                             android:layout_width="0dp"
                             android:layout_height="wrap_content"
                             android:layout_gravity="center"
+                            android:layout_marginTop="2dp"
                             android:layout_weight="1"
                             android:scaleType="center"
                             android:src="@drawable/adapter_item_record_stars"></ImageView>
 
                     <TextView
-                            android:id="@+id/adapter_item_record_authority_start_num"
+                            android:id="@+id/adapter_item_myfollow_start_num"
                             android:layout_width="0dp"
                             android:layout_height="match_parent"
                             android:layout_gravity="center|left"

+ 18 - 4
app/src/main/res/layout/fragment_main_user.xml

@@ -143,7 +143,7 @@
                                                 android:layout_width="wrap_content"
                                                 android:layout_height="match_parent"
                                                 android:gravity="center"
-                                                android:text=""
+                                                android:text="0"
                                                 android:textSize="28dp"></TextView>
                                     </LinearLayout>
 
@@ -184,7 +184,7 @@
                                                 android:layout_width="wrap_content"
                                                 android:layout_height="match_parent"
                                                 android:gravity="center"
-                                                android:text=""
+                                                android:text="0"
                                                 android:textSize="28dp"></TextView>
                                     </LinearLayout>
                                 </androidx.constraintlayout.widget.ConstraintLayout>
@@ -206,12 +206,25 @@
                                 android:layout_weight="1"
                                 android:src="@drawable/fragment_my_vip"></ImageView>
 
-                        <ImageView
+                        <FrameLayout
                                 android:id="@+id/fragment_main_user_redflower"
                                 android:layout_width="0dp"
                                 android:layout_height="match_parent"
                                 android:layout_weight="1"
-                                android:src="@drawable/fragment_my_redflower"></ImageView>
+                                android:background="@drawable/fragment_my_redflower">
+
+                            <TextView
+                                    android:id="@+id/fragment_main_user_redflower_text"
+                                    android:layout_width="100dp"
+                                    android:layout_height="42dp"
+                                    android:layout_gravity="right"
+                                    android:layout_marginTop="25dp"
+                                    android:layout_marginRight="30dp"
+                                    android:gravity="center|left"
+                                    android:text="0"
+                                    android:textColor="@color/white"
+                                    android:textSize="30dp"></TextView>
+                        </FrameLayout>
                     </LinearLayout>
 
                     <LinearLayout
@@ -257,6 +270,7 @@
                                     android:src="@drawable/fragment_my_message_notification"></ImageView>
 
                             <ImageView
+                                    android:id="@+id/fragment_main_user_unread_icon"
                                     android:layout_width="11dp"
                                     android:layout_height="11dp"
                                     android:layout_gravity="right|top"