Search in sources :

Example 1 with ChangesDataModelImpl

use of com.github.vase4kin.teamcityapp.changes.data.ChangesDataModelImpl in project TeamCityApp by vase4kin.

the class ChangesPresenterImpl method initViews.

/**
 * {@inheritDoc}
 */
@Override
protected void initViews() {
    super.initViews();
    mView.setLoadMoreListener(new MugenCallbacks() {

        @Override
        public void onLoadMore() {
            mIsLoadMoreLoading = true;
            mView.addLoadMore();
            mDataManager.loadMore(new OnLoadingListener<List<Changes.Change>>() {

                @Override
                public void onSuccess(List<Changes.Change> data) {
                    mView.removeLoadMore();
                    mView.addMoreBuilds(new ChangesDataModelImpl(data));
                    mIsLoadMoreLoading = false;
                }

                @Override
                public void onFail(String errorMessage) {
                    mView.removeLoadMore();
                    mView.showRetryLoadMoreSnackBar();
                    mIsLoadMoreLoading = false;
                }
            });
        }

        @Override
        public boolean isLoading() {
            return mIsLoadMoreLoading;
        }

        @Override
        public boolean hasLoadedAllItems() {
            return !mDataManager.canLoadMore();
        }
    });
    mView.replaceSkeletonViewContent();
}
Also used : Changes(com.github.vase4kin.teamcityapp.changes.api.Changes) MugenCallbacks(com.mugen.MugenCallbacks) List(java.util.List) OnLoadingListener(com.github.vase4kin.teamcityapp.account.create.data.OnLoadingListener) ChangesDataModelImpl(com.github.vase4kin.teamcityapp.changes.data.ChangesDataModelImpl)

Aggregations

OnLoadingListener (com.github.vase4kin.teamcityapp.account.create.data.OnLoadingListener)1 Changes (com.github.vase4kin.teamcityapp.changes.api.Changes)1 ChangesDataModelImpl (com.github.vase4kin.teamcityapp.changes.data.ChangesDataModelImpl)1 MugenCallbacks (com.mugen.MugenCallbacks)1 List (java.util.List)1