use of com.gh4a.utils.ApiHelpers in project gh4a by slapperwan.
the class IssueMilestoneEditActivity method setMilestoneState.
private void setMilestoneState(boolean open) {
@StringRes int dialogMessageResId = open ? R.string.opening_msg : R.string.closing_msg;
String errorMessage = getString(open ? R.string.issue_milestone_reopen_error : R.string.issue_milestone_close_error, mMilestone.title());
IssueMilestoneService service = ServiceFactory.get(IssueMilestoneService.class, false);
CreateMilestone request = CreateMilestone.builder().state(open ? IssueState.Open : IssueState.Closed).build();
service.editMilestone(mRepoOwner, mRepoName, mMilestone.id(), request).map(ApiHelpers::throwOnFailure).compose(RxUtils.wrapForBackgroundTask(this, dialogMessageResId, errorMessage)).subscribe(result -> {
mMilestone = result;
updateHighlightColor();
supportInvalidateOptionsMenu();
setResult(RESULT_OK);
}, error -> handleActionFailure("Updating milestone failed", error));
}
use of com.gh4a.utils.ApiHelpers in project gh4a by slapperwan.
the class IssueMilestoneEditActivity method saveMilestone.
private void saveMilestone(String title, String desc) {
String errorMessage = getString(R.string.issue_error_create_milestone, title);
IssueMilestoneService service = ServiceFactory.get(IssueMilestoneService.class, false);
CreateMilestone request = CreateMilestone.builder().title(title).description(desc).state(mMilestone.state()).dueOn(mMilestone.dueOn()).build();
Single<Response<Milestone>> responseSingle = isInEditMode() ? service.editMilestone(mRepoOwner, mRepoName, mMilestone.id(), request) : service.createMilestone(mRepoOwner, mRepoName, request);
responseSingle.map(ApiHelpers::throwOnFailure).compose(RxUtils.wrapForBackgroundTask(this, R.string.saving_msg, errorMessage)).subscribe(result -> {
mMilestone = result;
setResult(RESULT_OK);
finish();
}, error -> handleActionFailure("Saving milestone failed", error));
}
use of com.gh4a.utils.ApiHelpers in project gh4a by slapperwan.
the class PullRequestActivity method mergePullRequest.
private void mergePullRequest(String commitMessage, MergeRequest.Method mergeMethod) {
String errorMessage = getString(R.string.pull_error_merge, mPullRequest.number());
PullRequestService service = ServiceFactory.get(PullRequestService.class, false);
MergeRequest request = MergeRequest.builder().commitMessage(commitMessage).method(mergeMethod).build();
service.mergePullRequest(mRepoOwner, mRepoName, mPullRequestNumber, request).map(ApiHelpers::throwOnFailure).compose(RxUtils.wrapForBackgroundTask(this, R.string.merging_msg, errorMessage)).subscribe(result -> {
if (result.merged()) {
mPullRequest = mPullRequest.toBuilder().merged(true).state(IssueState.Closed).build();
}
handlePullRequestUpdate();
}, error -> handleActionFailure("Merging pull request failed", error));
}
use of com.gh4a.utils.ApiHelpers in project gh4a by slapperwan.
the class PullRequestActivity method load.
private void load(boolean force) {
PullRequestService prService = ServiceFactory.get(PullRequestService.class, force);
IssueService issueService = ServiceFactory.get(IssueService.class, force);
Single<PullRequest> prSingle = prService.getPullRequest(mRepoOwner, mRepoName, mPullRequestNumber).map(ApiHelpers::throwOnFailure);
Single<Issue> issueSingle = issueService.getIssue(mRepoOwner, mRepoName, mPullRequestNumber).map(ApiHelpers::throwOnFailure);
Single<Boolean> isCollaboratorSingle = SingleFactory.isAppUserRepoCollaborator(mRepoOwner, mRepoName, force);
Single.zip(issueSingle, prSingle, isCollaboratorSingle, Triplet::create).compose(makeLoaderSingle(0, force)).subscribe(result -> {
mIssue = result.first;
mPullRequest = result.second;
mIsCollaborator = result.third;
fillHeader();
setContentShown(true);
invalidateTabs();
updateFabVisibility();
supportInvalidateOptionsMenu();
if (mInitialPage >= 0 && mInitialPage < TITLES.length) {
getPager().setCurrentItem(mInitialPage);
mInitialPage = -1;
}
}, this::handleLoadFailure);
}
use of com.gh4a.utils.ApiHelpers in project gh4a by slapperwan.
the class PullRequestDiffViewerActivity method addReaction.
@Override
public Single<Reaction> addReaction(ReactionBar.Item item, String content) {
CommitCommentWrapper comment = (CommitCommentWrapper) item;
ReactionService service = ServiceFactory.get(ReactionService.class, false);
ReactionRequest request = ReactionRequest.builder().content(content).build();
return service.createPullRequestReviewCommentReaction(mRepoOwner, mRepoName, comment.comment.id(), request).map(ApiHelpers::throwOnFailure);
}
Aggregations