Search in sources :

Example 1 with Func1

use of rx.functions.Func1 in project GeekNews by codeestX.

the class MainPresenter method registerEvent.

void registerEvent() {
    Subscription rxSubscription = RxBus.getDefault().toObservable(NightModeEvent.class).compose(RxUtil.<NightModeEvent>rxSchedulerHelper()).map(new Func1<NightModeEvent, Boolean>() {

        @Override
        public Boolean call(NightModeEvent nightModeEvent) {
            return nightModeEvent.getNightMode();
        }
    }).subscribe(new CommonSubscriber<Boolean>(mView, "切换模式失败ヽ(≧Д≦)ノ") {

        @Override
        public void onNext(Boolean aBoolean) {
            mView.useNightMode(aBoolean);
        }
    });
    addSubscrebe(rxSubscription);
}
Also used : NightModeEvent(com.codeest.geeknews.model.event.NightModeEvent) Subscription(rx.Subscription) Func1(rx.functions.Func1)

Example 2 with Func1

use of rx.functions.Func1 in project GeekNews by codeestX.

the class MainPresenter method checkVersion.

@Override
public void checkVersion(final String currentVersion) {
    Subscription rxSubscription = mRetrofitHelper.fetchVersionInfo().compose(RxUtil.<MyHttpResponse<VersionBean>>rxSchedulerHelper()).compose(RxUtil.<VersionBean>handleMyResult()).filter(new Func1<VersionBean, Boolean>() {

        @Override
        public Boolean call(VersionBean versionBean) {
            return Integer.valueOf(currentVersion.replace(".", "")) < Integer.valueOf(versionBean.getCode().replace(".", ""));
        }
    }).map(new Func1<VersionBean, String>() {

        @Override
        public String call(VersionBean bean) {
            StringBuilder content = new StringBuilder("版本号: v");
            content.append(bean.getCode());
            content.append("\r\n");
            content.append("版本大小: ");
            content.append(bean.getSize());
            content.append("\r\n");
            content.append("更新内容:\r\n");
            content.append(bean.getDes().replace("\\r\\n", "\r\n"));
            return content.toString();
        }
    }).subscribe(new CommonSubscriber<String>(mView) {

        @Override
        public void onNext(String s) {
            mView.showUpdateDialog(s);
        }
    });
    addSubscrebe(rxSubscription);
}
Also used : Subscription(rx.Subscription) VersionBean(com.codeest.geeknews.model.bean.VersionBean) Func1(rx.functions.Func1)

Example 3 with Func1

use of rx.functions.Func1 in project GeekNews by codeestX.

the class RepliesPresenter method getTopInfo.

@Override
public void getTopInfo(String topic_id) {
    Subscription rxSubscription = mRetrofitHelper.fetchTopicInfo(topic_id).compose(RxUtil.<List<NodeListBean>>rxSchedulerHelper()).filter(new Func1<List<NodeListBean>, Boolean>() {

        @Override
        public Boolean call(List<NodeListBean> nodeListBeen) {
            return nodeListBeen.size() > 0;
        }
    }).map(new Func1<List<NodeListBean>, NodeListBean>() {

        @Override
        public NodeListBean call(List<NodeListBean> nodeListBeen) {
            return nodeListBeen.get(0);
        }
    }).subscribe(new CommonSubscriber<NodeListBean>(mView) {

        @Override
        public void onNext(NodeListBean nodeListBean) {
            mView.showTopInfo(nodeListBean);
        }
    });
    addSubscrebe(rxSubscription);
}
Also used : NodeListBean(com.codeest.geeknews.model.bean.NodeListBean) List(java.util.List) Subscription(rx.Subscription) Func1(rx.functions.Func1)

Example 4 with Func1

use of rx.functions.Func1 in project GeekNews by codeestX.

the class TechPresenter method registerEvent.

private void registerEvent() {
    Subscription rxSubscription = RxBus.getDefault().toObservable(SearchEvent.class).compose(RxUtil.<SearchEvent>rxSchedulerHelper()).filter(new Func1<SearchEvent, Boolean>() {

        @Override
        public Boolean call(SearchEvent searchEvent) {
            return searchEvent.getType() == currentType;
        }
    }).map(new Func1<SearchEvent, String>() {

        @Override
        public String call(SearchEvent searchEvent) {
            return searchEvent.getQuery();
        }
    }).subscribe(new CommonSubscriber<String>(mView, "搜索失败") {

        @Override
        public void onNext(String s) {
            queryStr = s;
            getSearchTechData();
        }
    });
    addSubscrebe(rxSubscription);
}
Also used : SearchEvent(com.codeest.geeknews.model.event.SearchEvent) Subscription(rx.Subscription) Func1(rx.functions.Func1)

Example 5 with Func1

use of rx.functions.Func1 in project GeekNews by codeestX.

the class TechPresenter method getSearchTechData.

private void getSearchTechData() {
    currentPage = 1;
    Subscription rxSubscription = mRetrofitHelper.fetchGankSearchList(queryStr, currentTech, NUM_OF_PAGE, currentPage).compose(RxUtil.<GankHttpResponse<List<GankSearchItemBean>>>rxSchedulerHelper()).compose(RxUtil.<List<GankSearchItemBean>>handleResult()).map(new Func1<List<GankSearchItemBean>, List<GankItemBean>>() {

        @Override
        public List<GankItemBean> call(List<GankSearchItemBean> gankSearchItemBeen) {
            List<GankItemBean> newList = new ArrayList<>();
            for (GankSearchItemBean item : gankSearchItemBeen) {
                GankItemBean bean = new GankItemBean();
                bean.set_id(item.getGanhuo_id());
                bean.setDesc(item.getDesc());
                bean.setPublishedAt(item.getPublishedAt());
                bean.setWho(item.getWho());
                bean.setUrl(item.getUrl());
                newList.add(bean);
            }
            return newList;
        }
    }).subscribe(new CommonSubscriber<List<GankItemBean>>(mView) {

        @Override
        public void onNext(List<GankItemBean> gankItemBeen) {
            mView.showContent(gankItemBeen);
        }
    });
    addSubscrebe(rxSubscription);
}
Also used : GankHttpResponse(com.codeest.geeknews.model.http.response.GankHttpResponse) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) Subscription(rx.Subscription) Func1(rx.functions.Func1) GankItemBean(com.codeest.geeknews.model.bean.GankItemBean) GankSearchItemBean(com.codeest.geeknews.model.bean.GankSearchItemBean)

Aggregations

Func1 (rx.functions.Func1)84 Observable (rx.Observable)26 Subscription (rx.Subscription)24 List (java.util.List)23 Test (org.junit.Test)16 ArrayList (java.util.ArrayList)12 Action0 (rx.functions.Action0)12 Indexable (com.microsoft.azure.management.resources.fluentcore.model.Indexable)8 Cursor (android.database.Cursor)7 ByteBuf (io.netty.buffer.ByteBuf)7 File (java.io.File)7 HystrixBadRequestException (com.netflix.hystrix.exception.HystrixBadRequestException)6 IOException (java.io.IOException)6 Action1 (rx.functions.Action1)6 Map (java.util.Map)5 TextView (android.widget.TextView)4 StorageAccount (com.microsoft.azure.management.storage.StorageAccount)4 HystrixRuntimeException (com.netflix.hystrix.exception.HystrixRuntimeException)4 UnsupportedEncodingException (java.io.UnsupportedEncodingException)4 MatrixCursor (android.database.MatrixCursor)3