From ae3514a25ecf1eb073a524cfec5a73c4e7ee0f1f Mon Sep 17 00:00:00 2001 From: Kosh Date: Tue, 14 Mar 2017 21:17:52 +0800 Subject: [PATCH] this commit fixes #152 --- .codecov.yml | 2 +- .../data/dao/RepoSubscriptionModel.java | 20 +++++++++++++++++++ .../fastaccess/data/service/RepoService.java | 5 +++-- .../ui/modules/repos/RepoPagerPresenter.java | 2 +- 4 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 app/src/main/java/com/fastaccess/data/dao/RepoSubscriptionModel.java diff --git a/.codecov.yml b/.codecov.yml index 5767cf6d..0aa829d1 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -1,2 +1,2 @@ codecov: - token: b3275f76-a606-4c63-9b5c-1c58ef7acba0 \ No newline at end of file + token: b3275f76-a606-4c63-9b5c-1c58ef7acba0 diff --git a/app/src/main/java/com/fastaccess/data/dao/RepoSubscriptionModel.java b/app/src/main/java/com/fastaccess/data/dao/RepoSubscriptionModel.java new file mode 100644 index 00000000..4774d1c8 --- /dev/null +++ b/app/src/main/java/com/fastaccess/data/dao/RepoSubscriptionModel.java @@ -0,0 +1,20 @@ +package com.fastaccess.data.dao; + +import java.util.Date; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +/** + * Created by Kosh on 14 Mar 2017, 9:10 PM + */ + +@Getter @Setter @NoArgsConstructor +public class RepoSubscriptionModel { + private boolean subscribed; + private boolean ignored; + private Date createdAt; + private String url; + private String repositoryUrl; +} 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 eea350cf..84eb5df9 100644 --- a/app/src/main/java/com/fastaccess/data/service/RepoService.java +++ b/app/src/main/java/com/fastaccess/data/service/RepoService.java @@ -14,6 +14,7 @@ import com.fastaccess.data.dao.Pageable; import com.fastaccess.data.dao.ReleasesModel; import com.fastaccess.data.dao.RepoFilesModel; import com.fastaccess.data.dao.RepoModel; +import com.fastaccess.data.dao.RepoSubscriptionModel; import com.fastaccess.data.dao.UserModel; import retrofit2.Response; @@ -62,8 +63,8 @@ public interface RepoService { @NonNull @POST("/repos/{owner}/{repo}/forks") Observable forkRepo(@NonNull @Path("owner") String login, @NonNull @Path("repo") String repoId); - @NonNull @GET("user/subscriptions/{owner}/{repo}") - Observable> isWatchingRepo(@Path("owner") String owner, @Path("repo") String repo); + @NonNull @GET("repos/{owner}/{repo}/subscription") + Observable isWatchingRepo(@Path("owner") String owner, @Path("repo") String repo); @NonNull @PUT("user/subscriptions/{owner}/{repo}") Observable> watchRepo(@Path("owner") String owner, @Path("repo") String repo); diff --git a/app/src/main/java/com/fastaccess/ui/modules/repos/RepoPagerPresenter.java b/app/src/main/java/com/fastaccess/ui/modules/repos/RepoPagerPresenter.java index b5cc4c70..dcb028a7 100644 --- a/app/src/main/java/com/fastaccess/ui/modules/repos/RepoPagerPresenter.java +++ b/app/src/main/java/com/fastaccess/ui/modules/repos/RepoPagerPresenter.java @@ -125,7 +125,7 @@ class RepoPagerPresenter extends BasePresenter implements Rep String name = repoId(); manageSubscription(RxHelper.getObserver(RestProvider.getRepoService().isWatchingRepo(login, name)) .doOnSubscribe(() -> sendToView(view -> view.onEnableDisableWatch(false))) - .doOnNext(subscriptionModel -> sendToView(view -> view.onRepoWatched(isWatched = subscriptionModel.code() == 204))) + .doOnNext(subscriptionModel -> sendToView(view -> view.onRepoWatched(isWatched = subscriptionModel.isSubscribed()))) .onErrorReturn(throwable -> { isWatched = false; sendToView(view -> view.onRepoWatched(isWatched));