TemplatePageDataViewModel.java
3.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
package com.people.comment.commonpage;
import android.content.Context;
import androidx.lifecycle.LifecycleOwner;
import com.people.room.entity.ChannelBean;
import com.wd.foundation.bean.RecListBean;
import com.wd.foundation.bean.custom.MenuBean;
import com.wd.foundation.bean.custom.content.ContentBean;
import com.wd.foundation.wdkit.mvvm.vm.BaseViewModel;
import java.util.List;
/**
* @Description: 样板页面数据请求类
* @Author: Li Yubing
* @Email: liyubing@wondert.com.cn
* @CreateDate: 2023/8/21 13:51
* @Version: 1.0
*/
public class TemplatePageDataViewModel extends BaseViewModel {
private TemplatePageDataListener templatePageDataListener;
private TemplatePageDataFetcher templatePageFetcher;
private String channelId;
private ChannelBean mChannelBean;
/**
* 注册vm回调对象
*
* @param lifecycleOwner 生命周期对象
* @param listener 监听对象
*/
public void observeTemplatePageDataListener(LifecycleOwner lifecycleOwner, TemplatePageDataListener listener) {
if (templatePageDataListener == null) {
templatePageDataListener = observe(lifecycleOwner, listener, TemplatePageDataListener.class);
} else {
observeRepeat(lifecycleOwner, listener, templatePageDataListener);
}
}
/**
* 发送页面数据请求
*
* @param pageNum
* @param pageSize
* @param menuBean
*/
public void sendPageDataRequest(Context context, int pageNum, int pageSize, int position, MenuBean menuBean, int textLength) {
if (templatePageFetcher == null) {
templatePageFetcher = new TemplatePageDataFetcher(templatePageDataListener);
templatePageFetcher.setChannelBean(mChannelBean);
templatePageFetcher.setChannelId(channelId);
} else {
templatePageFetcher.setChannelBean(mChannelBean);
templatePageFetcher.setChannelId(channelId);
templatePageFetcher.setTemplatePageDataListener(templatePageDataListener);
}
templatePageFetcher.createCommonPage(context,pageNum, pageSize, position, menuBean,textLength);
}
public void sendPageDataRequest(Context context,int pageNum, int pageSize, MenuBean menuBean,
RecListBean recListBean) {
if (templatePageFetcher == null) {
templatePageFetcher = new TemplatePageDataFetcher(templatePageDataListener);
templatePageFetcher.setChannelBean(mChannelBean);
templatePageFetcher.setChannelId(channelId);
} else {
templatePageFetcher.setChannelBean(mChannelBean);
templatePageFetcher.setChannelId(channelId);
templatePageFetcher.setTemplatePageDataListener(templatePageDataListener);
}
templatePageFetcher.setRecListBean(recListBean);
templatePageFetcher.createCommonPage(context,pageNum, pageSize, 0, menuBean,0);
}
/**
* 信息流页面绘制后 向指定位置插入新的组件或者稿件
* @param moreList 需要插入的数据
* @param position 插入位置
*/
public void contentDataInsertToPositionPage(List<ContentBean> moreList, int position){
if(templatePageFetcher != null){
if(moreList != null){
templatePageFetcher.contentDataInsertToPositionPage(moreList,position);
}
}
}
public void setChannelId(String channelId){
this.channelId = channelId;
}
public void setChannelBean(ChannelBean channelBean){
this.mChannelBean = channelBean;
}
}