【发布时间】:2019-10-08 17:56:05
【问题描述】:
尝试使用 twilio SDK 从 Twilio 聊天中获取所有频道。想要等待频道列表加载(使用 Observables),然后在我的 UI 中显示它。以下是我正在尝试做的一个粗略的想法:
private List<Paginator<ChannelDescriptor> getAllChannels() {
ChatClient.Properties props = new ChatClient.Properties.Builder()
.createProperties();
ChatClient chatClient = ChatClient.create(context.getApplicationContext(),
accessToken,
props,
null);
List<Paginator<ChannelDescriptor> channelList = new ArrayList<>()
chatClient.getChannels().getUserChannelsList(new CallbackListener<Paginator<ChannelDescriptor>>() {
@Override
public void onSuccess(Paginator<ChannelDescriptor> firstPaginator) {
channelList.add(firstPaginator);
Paginator<ChannelDescriptor> nextPaginator = firstPaginator;
while (nextPaginator != null && nextPaginator.hasNextPage()) {
nextPaginator = loadNextChatChannelPage(firstPaginator);
if(nextPaginator != null) {
channelList.add(nextPaginator);
}
}
}
});
return channelList;
}
public Paginator<ChannelDescriptor> loadNextChatChannelPage(Paginator<ChannelDescriptor> paginator) {
paginator.requestNextPage(new CallbackListener<Paginator<ChannelDescriptor>>() {
@Override
public void onSuccess(Paginator<ChannelDescriptor> channelDescriptorPaginator) {
return channelDescriptorPaginator;
}
@Override
public void onError(ErrorInfo errorInfo) {
return null.
}
}));
}
【问题讨论】:
-
这里没有真正的问题。这管用吗?你有错误吗?有什么意想不到的事情发生吗?
-
感谢您的回答,问题是如何在 RXJava2 中完成所有这些工作,请在下面发布我的解决方案,以防有人发现它有用
标签: android twilio rx-java2 twilio-api