├── README.md └── app └── src └── main └── java └── com └── github └── moduth └── petlover └── presenter └── ReposListPresenter.java /README.md: -------------------------------------------------------------------------------- 1 | # PetLoverAndroid 2 | 3 | # 由于文件开源协议未加上,先撤下,并且正在开发 [PetLoverClient](https://github.com/moduth/PetLoverClient)。 4 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/moduth/petlover/presenter/ReposListPresenter.java: -------------------------------------------------------------------------------- 1 | package com.github.moduth.petlover.presenter; 2 | 3 | 4 | import com.github.moduth.domain.interactor.DefaultSubscriber; 5 | import com.github.moduth.domain.interactor.repo.GetRepos; 6 | import com.github.moduth.domain.model.repos.ReposEntity; 7 | import com.github.moduth.petlover.mapper.ReposDataMapper; 8 | import com.github.moduth.petlover.model.ReposModel; 9 | import com.morecruit.ext.component.logger.Logger; 10 | 11 | import java.util.List; 12 | 13 | import javax.inject.Inject; 14 | 15 | /** 16 | * Created by Abner on 16/6/16. 17 | * Email nimengbo@gmail.com 18 | * github https://github.com/nimengbo 19 | */ 20 | public class ReposListPresenter extends MvpBasePresenter { 21 | 22 | private final GetRepos mGetRepos; 23 | private final ReposDataMapper mUserModelDataMapper; 24 | 25 | @Inject 26 | public ReposListPresenter(GetRepos getRepos, 27 | ReposDataMapper userModelDataMapper) { 28 | mGetRepos = getRepos; 29 | mUserModelDataMapper = userModelDataMapper; 30 | } 31 | 32 | @Override 33 | public void detachView(boolean retainInstance) { 34 | mGetRepos.unsubscribe(); 35 | super.detachView(retainInstance); 36 | } 37 | 38 | /** 39 | * Initializes the presenter by start retrieving the user 40 | */ 41 | @Override 42 | public void initialize() { 43 | getUserList(); 44 | } 45 | 46 | private void processUserList(List reposEntity) { 47 | final List reposModels = mUserModelDataMapper.transform(reposEntity); 48 | getView().userList(reposModels); 49 | } 50 | 51 | private void getUserList() { 52 | mGetRepos.setParam("moduth"); 53 | mGetRepos.execute(new UserSubscriber()); 54 | } 55 | 56 | private class UserSubscriber extends DefaultSubscriber> { 57 | @Override 58 | public void onCompleted() { 59 | } 60 | 61 | @Override 62 | public void onError(Throwable e) { 63 | } 64 | 65 | @Override 66 | public void onNext(List reposEntity) { 67 | processUserList(reposEntity); 68 | } 69 | } 70 | } 71 | --------------------------------------------------------------------------------