this commit fixes #152

This commit is contained in:
Kosh 2017-03-14 21:17:52 +08:00
parent 31bf0ab05e
commit ae3514a25e
4 changed files with 25 additions and 4 deletions

View File

@ -1,2 +1,2 @@
codecov:
token: b3275f76-a606-4c63-9b5c-1c58ef7acba0
token: b3275f76-a606-4c63-9b5c-1c58ef7acba0

View File

@ -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;
}

View File

@ -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<RepoModel> forkRepo(@NonNull @Path("owner") String login, @NonNull @Path("repo") String repoId);
@NonNull @GET("user/subscriptions/{owner}/{repo}")
Observable<Response<Boolean>> isWatchingRepo(@Path("owner") String owner, @Path("repo") String repo);
@NonNull @GET("repos/{owner}/{repo}/subscription")
Observable<RepoSubscriptionModel> isWatchingRepo(@Path("owner") String owner, @Path("repo") String repo);
@NonNull @PUT("user/subscriptions/{owner}/{repo}")
Observable<Response<Boolean>> watchRepo(@Path("owner") String owner, @Path("repo") String repo);

View File

@ -125,7 +125,7 @@ class RepoPagerPresenter extends BasePresenter<RepoPagerMvp.View> 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));