use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.
the class SlackInvitationService method onHandleIntent.
@Override
protected void onHandleIntent(@Nullable Intent intent) {
Login login = Login.getUser();
if (login != null) {
SlackInvitePostModel body = new SlackInvitePostModel();
body.setEmail(login.getEmail());
body.setFirst_name(login.getName());
body.setLast_name(login.getLogin());
RxHelper.getObservable(RestProvider.getSlackService().invite(body)).subscribe(response -> {
if (response != null) {
if (response.isOk()) {
Toasty.success(App.getInstance(), getString(R.string.successfully_invited)).show();
} else {
Toasty.info(App.getInstance(), response.getError().replaceAll("_", " ")).show();
}
}
}, Throwable::printStackTrace);
}
}
use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.
the class ProfileOverviewPresenter method onLoadContributionWidget.
@Override
public void onLoadContributionWidget(@NonNull GitHubContributionsView gitHubContributionsView) {
if (!isEnterprise()) {
if (contributions == null || contributions.isEmpty()) {
String url = String.format(URL, login);
manageDisposable(RxHelper.getObservable(RestProvider.getContribution().getContributions(url)).flatMap(s -> Observable.just(new ContributionsProvider().getContributions(s))).subscribe(lists -> {
contributions.clear();
contributions.addAll(lists);
loadContributions(contributions, gitHubContributionsView);
}, Throwable::printStackTrace));
} else {
loadContributions(contributions, gitHubContributionsView);
}
}
}
use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.
the class PullRequestTimelinePresenter method onCallApi.
@Override
public boolean onCallApi(int page, @Nullable PullRequest parameter) {
if (parameter == null) {
sendToView(BaseMvp.FAView::hideProgress);
return false;
}
String login = parameter.getLogin();
String repoId = parameter.getRepoId();
int number = parameter.getNumber();
if (page <= 1) {
lastPage = Integer.MAX_VALUE;
sendToView(view -> view.getLoadMore().reset());
pages.clear();
}
if (page > lastPage || lastPage == 0) {
sendToView(PullRequestTimelineMvp.View::hideProgress);
return false;
}
if (page == 1) {
manageObservable(RestProvider.getRepoService(isEnterprise()).isCollaborator(login, repoId, Login.getUser().getLogin()).doOnNext(booleanResponse -> isCollaborator = booleanResponse.code() == 204));
}
setCurrentPage(page);
if (parameter.getHead() != null) {
Observable<List<TimelineModel>> observable = Observable.zip(RestProvider.getIssueService(isEnterprise()).getTimeline(login, repoId, number, page), RestProvider.getReviewService(isEnterprise()).getPrReviewComments(login, repoId, number), RestProvider.getPullRequestService(isEnterprise()).getPullStatus(login, repoId, parameter.getHead().getSha()).onErrorReturn(throwable -> RestProvider.getPullRequestService(isEnterprise()).getPullStatus(login, repoId, parameter.getBase().getSha()).blockingFirst(new PullRequestStatusModel())), (response, comments, status) -> {
if (response != null) {
lastPage = response.getLast();
List<TimelineModel> models = TimelineConverter.INSTANCE.convert(response.getItems(), comments);
if (page == 1 && status != null) {
status.setMergable(parameter.isMergeable());
status.setMergeableState(parameter.getMergeableState());
if (status.getState() != null) {
models.add(0, new TimelineModel(status));
}
}
return models;
} else {
return Collections.emptyList();
}
});
makeRestCall(observable, timeline -> sendToView(view -> view.onNotifyAdapter(timeline, page)));
return true;
}
return false;
}
use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.
the class PullRequestPagerPresenter method onOpenCloseIssue.
@Override
public void onOpenCloseIssue() {
if (getPullRequest() != null) {
IssueRequestModel requestModel = IssueRequestModel.clone(getPullRequest(), true);
manageDisposable(RxHelper.getObservable(RestProvider.getPullRequestService(isEnterprise()).editPullRequest(login, repoId, issueNumber, requestModel)).doOnSubscribe(disposable -> sendToView(view -> view.showProgress(0))).subscribe(issue -> {
if (issue != null) {
sendToView(view -> view.showSuccessIssueActionMsg(getPullRequest().getState() == IssueState.open));
issue.setRepoId(getPullRequest().getRepoId());
issue.setLogin(getPullRequest().getLogin());
pullRequest = issue;
sendToView(view -> view.onSetupIssue(false));
}
}, throwable -> sendToView(view -> view.showErrorIssueActionMsg(getPullRequest().getState() == IssueState.open))));
}
}
use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.
the class PullRequestPagerPresenter method onMerge.
@Override
public void onMerge(@NonNull String msg, @NonNull String mergeMethod) {
if (isMergeable() && (isCollaborator() || isRepoOwner())) {
// double the checking
if (getPullRequest() == null || getPullRequest().getHead() == null || getPullRequest().getHead().getSha() == null)
return;
MergeRequestModel mergeRequestModel = new MergeRequestModel();
mergeRequestModel.setSha(getPullRequest().getHead().getSha());
mergeRequestModel.setCommitMessage(msg);
mergeRequestModel.setMergeMethod(mergeMethod.toLowerCase());
manageDisposable(RxHelper.getObservable(RestProvider.getPullRequestService(isEnterprise()).mergePullRequest(login, repoId, issueNumber, mergeRequestModel)).doOnSubscribe(disposable -> sendToView(view -> view.showProgress(0))).subscribe(mergeResponseModel -> {
if (mergeResponseModel.isMerged()) {
pullRequest.setMerged(true);
sendToView(view -> updateTimeline(view, R.string.success_merge));
} else {
sendToView(view -> view.showErrorMessage(mergeResponseModel.getMessage()));
}
}, throwable -> sendToView(view -> view.showErrorMessage(throwable.getMessage()))));
}
}
Aggregations