From 0ed1e993fe71660bdab4e58fb5bdd62e850aada4 Mon Sep 17 00:00:00 2001 From: Kosh Date: Tue, 4 Apr 2017 16:16:58 +0800 Subject: [PATCH] this commit retain instance of tabs text count & also list down tags to filter commits & files. --- .../fastaccess/data/service/RepoService.java | 5 ++- .../main/issues/pager/MyIssuesPagerView.java | 12 +++++++ .../pullrequests/pager/MyPullsPagerView.java | 12 +++++++ .../code/commit/RepoCommitsPresenter.java | 36 ++++++++++++------- .../repos/code/commit/RepoCommitsView.java | 5 +++ .../files/paths/RepoFilePathPresenter.java | 18 ++++++++-- .../repos/issues/RepoIssuesPagerView.java | 12 +++++++ .../RepoPullRequestPagerView.java | 13 +++++++ 8 files changed, 97 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/fastaccess/data/service/RepoService.java b/app/src/main/java/com/fastaccess/data/service/RepoService.java index 5cb46a0d..40322222 100644 --- a/app/src/main/java/com/fastaccess/data/service/RepoService.java +++ b/app/src/main/java/com/fastaccess/data/service/RepoService.java @@ -126,6 +126,9 @@ public interface RepoService { @NonNull @GET("repos/{owner}/{repo}/branches") Observable> getBranches(@NonNull @Path("owner") String owner, @NonNull @Path("repo") String repo); + @NonNull @GET("repos/{owner}/{repo}/tags") + Observable> getTags(@NonNull @Path("owner") String owner, @NonNull @Path("repo") String repo); + @NonNull @GET("repos/{owner}/{repo}/milestones") Observable> getMilestones(@Path("owner") String owner, @Path("repo") String repo); @@ -137,5 +140,5 @@ public interface RepoService { Observable> getAssignees(@Path("owner") String owner, @Path("repo") String repo); @NonNull @GET("repos/{owner}/{repo}/commits?per_page=1") - Observable> getCommitCounts(@Path("owner") String owner, @Path("repo") String repo); + Observable> getCommitCounts(@Path("owner") String owner, @Path("repo") String repo, @Query("ref") String ref); } diff --git a/app/src/main/java/com/fastaccess/ui/modules/main/issues/pager/MyIssuesPagerView.java b/app/src/main/java/com/fastaccess/ui/modules/main/issues/pager/MyIssuesPagerView.java index 0aa691c9..e4983060 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/main/issues/pager/MyIssuesPagerView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/main/issues/pager/MyIssuesPagerView.java @@ -16,6 +16,7 @@ import com.fastaccess.ui.widgets.SpannableBuilder; import com.fastaccess.ui.widgets.ViewPagerView; import butterknife.BindView; +import icepick.State; /** * Created by Kosh on 26 Mar 2017, 12:14 AM @@ -27,6 +28,8 @@ public class MyIssuesPagerView extends BaseFragment implements return; } if (repoId == null || login == null) return; - makeRestCall(RestProvider.getRepoService().getCommits(login, repoId, branch, page), + makeRestCall(RestProvider.getRepoService() + .getCommits(login, repoId, branch, page), response -> { - lastPage = response.getLast(); - if (getCurrentPage() == 1) { - getCommits().clear(); - manageSubscription(Commit.save(response.getItems(), repoId, login).subscribe()); + if (response != null) { + lastPage = response.getLast(); + if (getCurrentPage() == 1) { + getCommits().clear(); + manageSubscription(Commit.save(response.getItems(), repoId, login).subscribe()); + } + getCommits().addAll(response.getItems()); } - getCommits().addAll(response.getItems()); sendToView(RepoCommitsMvp.View::onNotifyAdapter); }); } @@ -83,16 +86,15 @@ class RepoCommitsPresenter extends BasePresenter implements branch = bundle.getString(BundleConstant.EXTRA_TWO); if (branches.isEmpty()) { manageSubscription(RxHelper.safeObservable(RxHelper.getObserver(RestProvider.getRepoService() - .getCommitCounts(login, repoId))) + .getCommitCounts(login, repoId, branch))) .subscribe(response -> { if (response != null) { sendToView(view -> view.onShowCommitCount(response.getLast())); } })); - makeRestCall(RestProvider.getRepoService() - .getBranches(login, repoId) - .doOnSubscribe(() -> sendToView(RepoCommitsMvp.View::showBranchesProgress)), - response -> { + manageSubscription(RxHelper.safeObservable(RxHelper.getObserver(RestProvider.getRepoService() + .getBranches(login, repoId) + .doOnNext(response -> { if (response != null && response.getItems() != null) { branches.clear(); branches.addAll(response.getItems()); @@ -101,7 +103,17 @@ class RepoCommitsPresenter extends BasePresenter implements view.hideBranchesProgress(); }); } - }); + }))) + .flatMap(branchesModelPageable -> RxHelper.safeObservable(RxHelper.getObserver(RestProvider.getRepoService() + .getTags(login, repoId)))) + .doOnNext(response -> { + branches.addAll(response.getItems()); + sendToView(view -> { + view.setBranchesData(branches, true); + view.hideBranchesProgress(); + }); + }) + .subscribe()); } if (!InputHelper.isEmpty(login) && !InputHelper.isEmpty(repoId)) { onCallApi(1, null); diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/RepoCommitsView.java b/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/RepoCommitsView.java index 792b2d07..e84a466e 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/RepoCommitsView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/repos/code/commit/RepoCommitsView.java @@ -27,6 +27,7 @@ import java.util.List; import butterknife.BindView; import butterknife.OnItemSelected; +import icepick.State; /** * Created by Kosh on 03 Dec 2016, 3:56 PM @@ -38,6 +39,7 @@ public class RepoCommitsView extends BaseFragment implemen } sendToView(RepoFilePathMvp.View::onSendData); if (branches.isEmpty()) { - makeRestCall(RestProvider.getRepoService().getBranches(login, repoId), - response -> { + manageSubscription(RxHelper.safeObservable(RxHelper.getObserver(RestProvider.getRepoService() + .getBranches(login, repoId) + .doOnNext(response -> { if (response != null && response.getItems() != null) { branches.clear(); branches.addAll(response.getItems()); @@ -56,7 +58,17 @@ class RepoFilePathPresenter extends BasePresenter implemen view.hideProgress(); }); } - }); + }))) + .flatMap(branchesModelPageable -> RxHelper.safeObservable(RxHelper.getObserver(RestProvider.getRepoService() + .getTags(login, repoId)))) + .doOnNext(response -> { + branches.addAll(response.getItems()); + sendToView(view -> { + view.setBranchesData(branches, true); + view.hideProgress(); + }); + }) + .subscribe()); } } else { throw new NullPointerException("Bundle is null"); diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/RepoIssuesPagerView.java b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/RepoIssuesPagerView.java index bfbdf97e..bc0232d4 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/repos/issues/RepoIssuesPagerView.java +++ b/app/src/main/java/com/fastaccess/ui/modules/repos/issues/RepoIssuesPagerView.java @@ -19,6 +19,7 @@ import com.fastaccess.ui.widgets.SpannableBuilder; import com.fastaccess.ui.widgets.ViewPagerView; import butterknife.BindView; +import icepick.State; /** * Created by Kosh on 31 Dec 2016, 1:36 AM @@ -30,6 +31,8 @@ public class RepoIssuesPagerView extends BaseFragment