private void initArticles(List<ZhihuStoryItem> items) {
for (ZhihuStoryItem item : items)
getAdapter().add(new ZhihuStoryItemViewModel(item)
.onAction(new Action3<String, Integer, Integer>() {
@Override
public void call(String id, Integer touchX, Integer touchY) {
Intent intent = ZhihuStoryDetailActivity.intentFor(getContext());
intent.putExtra(Constant.EXTRA_ZHIHU_STORY_ID, id);
intent.putExtra(Constant.EXTRA_TOUCH_X, touchX);
intent.putExtra(Constant.EXTRA_TOUCH_Y, touchY);
getContext().startActivity(intent);
}
}));
getAdapter().add(new BlankViewModel(R.dimen.common_gap));
getAdapter().notifyDataSetChanged();
}
java类rx.functions.Action3的实例源码
ZhihuSectionDetailViewModel.java 文件源码
项目:LiteReader
阅读 19
收藏 0
点赞 0
评论 0
Actions.java 文件源码
项目:RxActions
阅读 24
收藏 0
点赞 0
评论 0
/**
* Combines provided actions into a single action stream
*
* @param a1 Action
* @param a2 Action
* @param a3 Action
* @param a4 Action
* @param a5 Action
* @param a6 Action
* @return Single action stream combined from provided actions
*/
@CheckResult
@NonNull
public static <T1, T2, T3> Action3<? super T1, ? super T2, ? super T3> combine(@NonNull final Action3<? super T1, ? super T2, ? super T3> a1, @NonNull final Action3<? super T1, ? super T2, ? super T3> a2, @NonNull final Action3<? super T1, ? super T2, ? super T3> a3, @NonNull final Action3<? super T1, ? super T2, ? super T3> a4, @NonNull final Action3<? super T1, ? super T2, ? super T3> a5, @NonNull final Action3<? super T1, ? super T2, ? super T3> a6) {
return new Action3<T1, T2, T3>() {
@Override
public void call(T1 t1, T2 t2, T3 t3) {
a1.call(t1, t2, t3);
a2.call(t1, t2, t3);
a3.call(t1, t2, t3);
a4.call(t1, t2, t3);
a5.call(t1, t2, t3);
a6.call(t1, t2, t3);
}
};
}
Actions.java 文件源码
项目:RxActions
阅读 21
收藏 0
点赞 0
评论 0
/**
* Combines provided actions into a single action stream
*
* @param a1 Action
* @param a2 Action
* @param a3 Action
* @param a4 Action
* @param a5 Action
* @param a6 Action
* @param a7 Action
* @return Single action stream combined from provided actions
*/
@CheckResult
@NonNull
public static <T1, T2, T3> Action3<? super T1, ? super T2, ? super T3> combine(@NonNull final Action3<? super T1, ? super T2, ? super T3> a1, @NonNull final Action3<? super T1, ? super T2, ? super T3> a2, @NonNull final Action3<? super T1, ? super T2, ? super T3> a3, @NonNull final Action3<? super T1, ? super T2, ? super T3> a4, @NonNull final Action3<? super T1, ? super T2, ? super T3> a5, @NonNull final Action3<? super T1, ? super T2, ? super T3> a6, @NonNull final Action3<? super T1, ? super T2, ? super T3> a7) {
return new Action3<T1, T2, T3>() {
@Override
public void call(T1 t1, T2 t2, T3 t3) {
a1.call(t1, t2, t3);
a2.call(t1, t2, t3);
a3.call(t1, t2, t3);
a4.call(t1, t2, t3);
a5.call(t1, t2, t3);
a6.call(t1, t2, t3);
a7.call(t1, t2, t3);
}
};
}
Actions.java 文件源码
项目:RxActions
阅读 240
收藏 0
点赞 0
评论 0
/**
* Combines provided actions into a single action stream
*
* @param a1 Action
* @param a2 Action
* @param a3 Action
* @param a4 Action
* @param a5 Action
* @param a6 Action
* @param a7 Action
* @param a8 Action
* @return Single action stream combined from provided actions
*/
@CheckResult
@NonNull
public static <T1, T2, T3> Action3<? super T1, ? super T2, ? super T3> combine(@NonNull final Action3<? super T1, ? super T2, ? super T3> a1, @NonNull final Action3<? super T1, ? super T2, ? super T3> a2, @NonNull final Action3<? super T1, ? super T2, ? super T3> a3, @NonNull final Action3<? super T1, ? super T2, ? super T3> a4, @NonNull final Action3<? super T1, ? super T2, ? super T3> a5, @NonNull final Action3<? super T1, ? super T2, ? super T3> a6, @NonNull final Action3<? super T1, ? super T2, ? super T3> a7, @NonNull final Action3<? super T1, ? super T2, ? super T3> a8) {
return new Action3<T1, T2, T3>() {
@Override
public void call(T1 t1, T2 t2, T3 t3) {
a1.call(t1, t2, t3);
a2.call(t1, t2, t3);
a3.call(t1, t2, t3);
a4.call(t1, t2, t3);
a5.call(t1, t2, t3);
a6.call(t1, t2, t3);
a7.call(t1, t2, t3);
a8.call(t1, t2, t3);
}
};
}
Actions.java 文件源码
项目:RxActions
阅读 22
收藏 0
点赞 0
评论 0
/**
* Combines provided actions into a single action stream
*
* @param a1 Action
* @param a2 Action
* @param a3 Action
* @param a4 Action
* @param a5 Action
* @param a6 Action
* @param a7 Action
* @param a8 Action
* @param a9 Action
* @return Single action stream combined from provided actions
*/
@CheckResult
@NonNull
public static <T1, T2, T3> Action3<? super T1, ? super T2, ? super T3> combine(@NonNull final Action3<? super T1, ? super T2, ? super T3> a1, @NonNull final Action3<? super T1, ? super T2, ? super T3> a2, @NonNull final Action3<? super T1, ? super T2, ? super T3> a3, @NonNull final Action3<? super T1, ? super T2, ? super T3> a4, @NonNull final Action3<? super T1, ? super T2, ? super T3> a5, @NonNull final Action3<? super T1, ? super T2, ? super T3> a6, @NonNull final Action3<? super T1, ? super T2, ? super T3> a7, @NonNull final Action3<? super T1, ? super T2, ? super T3> a8, @NonNull final Action3<? super T1, ? super T2, ? super T3> a9) {
return new Action3<T1, T2, T3>() {
@Override
public void call(T1 t1, T2 t2, T3 t3) {
a1.call(t1, t2, t3);
a2.call(t1, t2, t3);
a3.call(t1, t2, t3);
a4.call(t1, t2, t3);
a5.call(t1, t2, t3);
a6.call(t1, t2, t3);
a7.call(t1, t2, t3);
a8.call(t1, t2, t3);
a9.call(t1, t2, t3);
}
};
}
AsyncOnSubscribe.java 文件源码
项目:boohee_v5.6
阅读 18
收藏 0
点赞 0
评论 0
@Experimental
public static <S, T> Observable$OnSubscribe<T> createSingleState(Func0<? extends S> generator, final Action3<? super S, Long, ? super Observer<Observable<? extends T>>> next) {
return new AsyncOnSubscribeImpl((Func0) generator, new Func3<S, Long, Observer<Observable<? extends T>>, S>() {
public S call(S state, Long requested, Observer<Observable<? extends T>> subscriber) {
next.call(state, requested, subscriber);
return state;
}
});
}
AsyncOnSubscribe.java 文件源码
项目:boohee_v5.6
阅读 21
收藏 0
点赞 0
评论 0
@Experimental
public static <S, T> Observable$OnSubscribe<T> createSingleState(Func0<? extends S> generator, final Action3<? super S, Long, ? super Observer<Observable<? extends T>>> next, Action1<? super S> onUnsubscribe) {
return new AsyncOnSubscribeImpl(generator, new Func3<S, Long, Observer<Observable<? extends T>>, S>() {
public S call(S state, Long requested, Observer<Observable<? extends T>> subscriber) {
next.call(state, requested, subscriber);
return state;
}
}, onUnsubscribe);
}
Actions.java 文件源码
项目:RxActions
阅读 33
收藏 0
点赞 0
评论 0
/**
* Combines provided actions into a single action stream
*
* @param a1 Action
* @param a2 Action
* @return Single action stream combined from provided actions
*/
@CheckResult
@NonNull
public static <T1, T2, T3> Action3<? super T1, ? super T2, ? super T3> combine(@NonNull final Action3<? super T1, ? super T2, ? super T3> a1, @NonNull final Action3<? super T1, ? super T2, ? super T3> a2) {
return new Action3<T1, T2, T3>() {
@Override
public void call(T1 t1, T2 t2, T3 t3) {
a1.call(t1, t2, t3);
a2.call(t1, t2, t3);
}
};
}
Actions.java 文件源码
项目:RxActions
阅读 28
收藏 0
点赞 0
评论 0
/**
* Combines provided actions into a single action stream
*
* @param a1 Action
* @param a2 Action
* @param a3 Action
* @return Single action stream combined from provided actions
*/
@CheckResult
@NonNull
public static <T1, T2, T3> Action3<? super T1, ? super T2, ? super T3> combine(@NonNull final Action3<? super T1, ? super T2, ? super T3> a1, @NonNull final Action3<? super T1, ? super T2, ? super T3> a2, @NonNull final Action3<? super T1, ? super T2, ? super T3> a3) {
return new Action3<T1, T2, T3>() {
@Override
public void call(T1 t1, T2 t2, T3 t3) {
a1.call(t1, t2, t3);
a2.call(t1, t2, t3);
a3.call(t1, t2, t3);
}
};
}
Actions.java 文件源码
项目:RxActions
阅读 29
收藏 0
点赞 0
评论 0
/**
* Combines provided actions into a single action stream
*
* @param a1 Action
* @param a2 Action
* @param a3 Action
* @param a4 Action
* @return Single action stream combined from provided actions
*/
@CheckResult
@NonNull
public static <T1, T2, T3> Action3<? super T1, ? super T2, ? super T3> combine(@NonNull final Action3<? super T1, ? super T2, ? super T3> a1, @NonNull final Action3<? super T1, ? super T2, ? super T3> a2, @NonNull final Action3<? super T1, ? super T2, ? super T3> a3, @NonNull final Action3<? super T1, ? super T2, ? super T3> a4) {
return new Action3<T1, T2, T3>() {
@Override
public void call(T1 t1, T2 t2, T3 t3) {
a1.call(t1, t2, t3);
a2.call(t1, t2, t3);
a3.call(t1, t2, t3);
a4.call(t1, t2, t3);
}
};
}
Actions.java 文件源码
项目:RxActions
阅读 25
收藏 0
点赞 0
评论 0
/**
* Combines provided actions into a single action stream
*
* @param a1 Action
* @param a2 Action
* @param a3 Action
* @param a4 Action
* @param a5 Action
* @return Single action stream combined from provided actions
*/
@CheckResult
@NonNull
public static <T1, T2, T3> Action3<? super T1, ? super T2, ? super T3> combine(@NonNull final Action3<? super T1, ? super T2, ? super T3> a1, @NonNull final Action3<? super T1, ? super T2, ? super T3> a2, @NonNull final Action3<? super T1, ? super T2, ? super T3> a3, @NonNull final Action3<? super T1, ? super T2, ? super T3> a4, @NonNull final Action3<? super T1, ? super T2, ? super T3> a5) {
return new Action3<T1, T2, T3>() {
@Override
public void call(T1 t1, T2 t2, T3 t3) {
a1.call(t1, t2, t3);
a2.call(t1, t2, t3);
a3.call(t1, t2, t3);
a4.call(t1, t2, t3);
a5.call(t1, t2, t3);
}
};
}
Actions.java 文件源码
项目:RxActions
阅读 23
收藏 0
点赞 0
评论 0
/**
* Combines provided actions into a single action stream
*
* @param a Actions
* @return Single action stream combined from provided actions
*/
@SafeVarargs
@CheckResult
@NonNull
public static <T1, T2, T3> Action3<? super T1, ? super T2, ? super T3> combine(@NonNull final Action3<? super T1, ? super T2, ? super T3>... a) {
return new Action3<T1, T2, T3>() {
@Override
public void call(T1 t1, T2 t2, T3 t3) {
//noinspection ForLoopReplaceableByForEach
for (int i = 0, count = a.length; i < count; i++) {
a[i].call(t1, t2, t3);
}
}
};
}
ListRecyclerAdapter.java 文件源码
项目:RxParse
阅读 20
收藏 0
点赞 0
评论 0
public void onBindViewHolder(VH viewHolder, int position, T item) { // final, DO NOT Override until certainly
onBindViewHolderSupered = true;
if (mOnBindViewHolder == null) {
mOnBindViewHolder = new Action3<VH, Integer, T>() {
@Override
public void call(VH vh, Integer i, T t) {
vh.onBind(i, t);
}
};
}
mOnBindViewHolder.call(viewHolder, position, item);
}
MovieCollectItemViewModel.java 文件源码
项目:LiteReader
阅读 21
收藏 0
点赞 0
评论 0
public MovieCollectItemViewModel(DoubanMovieItem item, Action1<DoubanMovieItem> onClick, Action3<String, String, Integer> onUncollect) {
this.item = item;
this.onClick = onClick;
this.onUncollect = onUncollect;
}
OneCommonCollectItemViewModel.java 文件源码
项目:LiteReader
阅读 20
收藏 0
点赞 0
评论 0
public OneCommonCollectItemViewModel(String id, String imgUrl, String title, Action3<String, String, Integer> onUnCollect) {
this.id = id;
this.imgUrl = imgUrl;
this.title = title;
this.onUnCollect = onUnCollect;
}
OneCommonCollectItemViewModel.java 文件源码
项目:LiteReader
阅读 22
收藏 0
点赞 0
评论 0
public OneCommonCollectItemViewModel(Review review, Action3<String, String, Integer> onUnCollect) {
this.review = review;
this.onUnCollect = onUnCollect;
}
StoryCollectItemViewModel.java 文件源码
项目:LiteReader
阅读 20
收藏 0
点赞 0
评论 0
public StoryCollectItemViewModel(ZhihuStoryItem item, Action1<ZhihuStoryItem> onClick, Action3<String, String, Integer> onUncollect) {
this.item = item;
this.onClick = onClick;
this.onUncollect = onUncollect;
}
CollectViewModel.java 文件源码
项目:LiteReader
阅读 23
收藏 0
点赞 0
评论 0
private void initActions() {
onMovieItemClick = new Action1<DoubanMovieItem>() {
@Override
public void call(DoubanMovieItem item) {
Intent intent = DoubanMovieDetailActivity.intentFor(getContext());
intent.putExtra(Constant.EXTRA_DOUBAN_MOVIE_ID, item.id);
intent.putExtra(Constant.EXTRA_DOUBAN_MOVIE_POSTER, item.images.large);
intent.putExtra(Constant.EXTRA_DOUBAN_MOVIE_TITLE, item.title);
intent.putExtra(Constant.EXTRA_DOUBAN_MOVIE_MAINLAND_PUBDATE, item.mainlandPubdate);
intent.putExtra(Constant.EXTRA_DOUBAN_MOVIE_RATING, item.rating.average + "/" + 10);
getContext().startActivity(intent);
}
};
onStoryItemClick = new Action1<ZhihuStoryItem>() {
@Override
public void call(ZhihuStoryItem zhihuStoryItem) {
Intent intent = ZhihuStoryDetailActivity.intentFor(getContext());
intent.putExtra(Constant.EXTRA_ZHIHU_STORY_ID, zhihuStoryItem.id);
getContext().startActivity(intent);
}
};
onUnCollect = new Action3<String, String, Integer>() {
@Override
public void call(final String id, final String type, final Integer position) {
RxTask.asyncTask(new Action0() {
@Override
public void call() {
CollectionManager.getInstance(getContext()).remove(id, type);
}
}, new Action0() {
@Override
public void call() {
getAdapter().remove(position.intValue());
getAdapter().notifyItemRemoved(position);
boolean sectionEmpty = false;
switch (type) {
case CollectionManager.COLLECTION_TYPE_DOUBAN_MOVIE:
movieSize -= 1;
sectionEmpty = movieSize == 0;
break;
case CollectionManager.COLLECTION_TYPE_ZHIHU_STORY:
storySize -= 1;
sectionEmpty = storySize == 0;
break;
case CollectionManager.COLLECTION_TYPE_ONE_REVIEW:
oneReviewSize -= 1;
sectionEmpty = oneReviewSize == 0;
break;
case CollectionManager.COLLECTION_TYPE_ONE_ARTICLE:
oneArticleSize -= 1;
sectionEmpty = oneArticleSize == 0;
break;
}
if (sectionEmpty) {
getAdapter().remove(position - 1);
getAdapter().notifyItemRemoved(position - 1);
}
}
});
}
};
}
ZhihuDailyListViewModel.java 文件源码
项目:LiteReader
阅读 24
收藏 0
点赞 0
评论 0
private void initActions() {
onLoadLatestNews = new Action1<ZhihuDailyList>() {
@Override
public void call(ZhihuDailyList list) {
initBanner(list.topStories);
getAdapter().add(new ZhihuDateItemViewModel(R.string.special_section));
getAdapter().add(section);
getAdapter().add(new ZhihuDateItemViewModel(R.string.latest_daily));
initNews(list.stories);
hideRefreshing();
loadSections();
setIsLoadingMore(false);
enableLoadMore();
}
};
onRefreshLatestNews = new Action1<ZhihuDailyList>() {
@Override
public void call(ZhihuDailyList list) {
getAdapter().clear();
getAdapter().add(banner);
getAdapter().add(new ZhihuDateItemViewModel(R.string.special_section));
getAdapter().add(section);
updateBanner(list.topStories);
getAdapter().add(new ZhihuDateItemViewModel(R.string.latest_daily));
initNews(list.stories);
hideRefreshing();
loadSections();
setIsLoadingMore(false);
enableLoadMore();
date = new Date(); //重置日期
}
};
onDailyItemClick = new Action3<String, Integer, Integer>() {
@Override
public void call(String id, Integer touchX, Integer touchY) {
Intent intent = ZhihuStoryDetailActivity.intentFor(getContext());
intent.putExtra(Constant.EXTRA_ZHIHU_STORY_ID, id);
intent.putExtra(Constant.EXTRA_TOUCH_X, touchX);
intent.putExtra(Constant.EXTRA_TOUCH_Y, touchY);
getContext().startActivity(intent);
}
};
onSectionItemClick = new Action2<String, String>() {
@Override
public void call(String id, String name) {
Intent intent = ZhihuSectionDetailActivity.intentFor(getContext());
intent.putExtra(Constant.EXTRA_ZHIHU_SECTION_ID, id);
intent.putExtra(Constant.EXTRA_ZHIHU_SECTION_NAME, name);
getContext().startActivity(intent);
}
};
}
ListRecyclerAdapter.java 文件源码
项目:RxParse
阅读 23
收藏 0
点赞 0
评论 0
public ListRecyclerAdapter<T, VH> bindViewHolder(Action3<VH, Integer, T> onBindViewHolder) {
mOnBindViewHolder = onBindViewHolder;
return this;
}
Actions.java 文件源码
项目:rxjava-extras
阅读 26
收藏 0
点赞 0
评论 0
@SuppressWarnings("unchecked")
public static <T, R, S> Action3<T, R, S> doNothing3() {
return (Action3<T, R, S>) HolderDoNothing3.INSTANCE;
}
KafkaSink.java 文件源码
项目:suro
阅读 19
收藏 0
点赞 0
评论 0
public void setRecordCounterListener(Action3 action) {
this.recordCounterListener = action;
}
TestKafkaSink.java 文件源码
项目:suro
阅读 18
收藏 0
点赞 0
评论 0
@Test
public void testCheckPause() throws IOException, InterruptedException {
TopicCommand.createTopic(zk.getZkClient(),
new TopicCommand.TopicCommandOptions(new String[]{
"--zookeeper", "dummy", "--create", "--topic", TOPIC_NAME + "check_pause",
"--replication-factor", "2", "--partitions", "1"}));
String description = "{\n" +
" \"type\": \"kafka\",\n" +
" \"client.id\": \"kafkasink\",\n" +
" \"bootstrap.servers\": \"" + kafkaServer.getBrokerListStr() + "\",\n" +
" \"acks\": 1,\n" +
" \"buffer.memory\": 1000,\n" +
" \"batch.size\": 1000\n" +
"}";
final KafkaSink sink = jsonMapper.readValue(description, new TypeReference<Sink>(){});
sink.open();
final AtomicBoolean exceptionCaught = new AtomicBoolean(false);
final AtomicBoolean checkPaused = new AtomicBoolean(false);
final AtomicBoolean pending = new AtomicBoolean(false);
final CountDownLatch latch = new CountDownLatch(1);
sink.setRecordCounterListener(new Action3<Long, Long, Long>() {
@Override
public void call(Long queued, Long sent, Long dropped) {
if (dropped > 0) {
exceptionCaught.set(true);
if (sink.checkPause() > 0) {
checkPaused.set(true);
}
if (sink.getNumOfPendingMessages() > 0) {
pending.set(true);
}
latch.countDown();
}
}
});
for (int i = 0; i < 100; ++i) {
sink.writeTo(new DefaultMessageContainer(new Message(TOPIC_NAME + "check_pause", getBigData()), jsonMapper));
}
assertTrue(latch.await(10, TimeUnit.SECONDS));
assertTrue(exceptionCaught.get());
assertTrue(checkPaused.get());
assertTrue(pending.get());
}
TestKafkaSink.java 文件源码
项目:suro
阅读 24
收藏 0
点赞 0
评论 0
@Test
public void testStartWithKafkaOutage() throws Throwable {
String topicName = TOPIC_NAME + "kafkaoutage";
TopicCommand.createTopic(zk.getZkClient(),
new TopicCommand.TopicCommandOptions(new String[]{
"--zookeeper", "dummy", "--create", "--topic", topicName,
"--replication-factor", "2", "--partitions", "1"}));
String[] brokerList = kafkaServer.getBrokerListStr().split(",");
int port1 = Integer.parseInt(brokerList[0].split(":")[1]);
int port2 = Integer.parseInt(brokerList[1].split(":")[1]);
String description = "{\n" +
" \"type\": \"kafka\",\n" +
" \"client.id\": \"kafkasink\",\n" +
" \"bootstrap.servers\": \"" + kafkaServer.getBrokerListStr() + "\",\n" +
" \"acks\": 1\n" +
" }" +
"}";
kafkaServer.shutdown();
final KafkaSink sink = jsonMapper.readValue(description, new TypeReference<Sink>(){});
sink.open();
final int msgCount = 10000;
final CountDownLatch latch = new CountDownLatch(1);
sink.setRecordCounterListener(new Action3<Long, Long, Long>() {
@Override
public void call(Long queued, Long sent, Long dropped) {
if (sent == msgCount - sink.droppedRecords.get()) {
latch.countDown();
}
}
});
sendMessages(topicName, sink, msgCount);
kafkaServer.startServer(port1, port2); // running up
assertTrue(latch.await(10, TimeUnit.SECONDS));
sendMessages(topicName, sink, msgCount);
sink.close();
checkConsumer(topicName, 2 * msgCount - (int) sink.droppedRecords.get());
}
Actions.java 文件源码
项目:RxActions
阅读 27
收藏 0
点赞 0
评论 0
/**
* Combines provided actions into a single action stream
*
* @param a1 Action
* @return Single action stream combined from provided actions
*/
@CheckResult
@NonNull
public static <T1, T2, T3> Action3<? super T1, ? super T2, ? super T3> combine(@NonNull Action3<? super T1, ? super T2, ? super T3> a1) {
return a1;
}