Search in sources :

Example 1 with Login

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);
    }
}
Also used : SlackInvitePostModel(com.fastaccess.data.dao.SlackInvitePostModel) Login(com.fastaccess.data.dao.model.Login)

Example 2 with Login

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);
        }
    }
}
Also used : Rx2Apollo(com.apollographql.apollo.rx2.Rx2Apollo) ContributionsProvider(com.fastaccess.ui.widgets.contributions.ContributionsProvider) BundleConstant(com.fastaccess.helper.BundleConstant) Bundle(android.os.Bundle) Login(com.fastaccess.data.dao.model.Login) RestProvider(com.fastaccess.provider.rest.RestProvider) ApolloProdivder(com.fastaccess.provider.rest.ApolloProdivder) InputHelper(com.fastaccess.helper.InputHelper) ContributionsDay(com.fastaccess.ui.widgets.contributions.ContributionsDay) GetPinnedReposQuery(github.GetPinnedReposQuery) TextUtils(android.text.TextUtils) NonNull(android.support.annotation.NonNull) ApolloCall(com.apollographql.apollo.ApolloCall) ArrayList(java.util.ArrayList) RxHelper(com.fastaccess.helper.RxHelper) List(java.util.List) Bitmap(android.graphics.Bitmap) Observable(io.reactivex.Observable) User(com.fastaccess.data.dao.model.User) Nullable(android.support.annotation.Nullable) BasePresenter(com.fastaccess.ui.base.mvp.presenter.BasePresenter) GitHubContributionsView(com.fastaccess.ui.widgets.contributions.GitHubContributionsView) ContributionsProvider(com.fastaccess.ui.widgets.contributions.ContributionsProvider)

Example 3 with Login

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;
}
Also used : PullRequestStatusModel(com.fastaccess.data.dao.PullRequestStatusModel) Comment(com.fastaccess.data.dao.model.Comment) GenericEvent(com.fastaccess.data.dao.timeline.GenericEvent) Bundle(android.os.Bundle) SourceModel(com.fastaccess.data.dao.timeline.SourceModel) ActivityHelper(com.fastaccess.helper.ActivityHelper) TimelineModel(com.fastaccess.data.dao.TimelineModel) CommentsHelper(com.fastaccess.provider.timeline.CommentsHelper) Uri(android.net.Uri) InputHelper(com.fastaccess.helper.InputHelper) NonNull(android.support.annotation.NonNull) CreateIssueActivity(com.fastaccess.ui.modules.repos.issues.create.CreateIssueActivity) SchemeParser(com.fastaccess.provider.scheme.SchemeParser) ArrayList(java.util.ArrayList) RxHelper(com.fastaccess.helper.RxHelper) PopupMenu(android.widget.PopupMenu) EditReviewCommentModel(com.fastaccess.data.dao.EditReviewCommentModel) View(android.view.View) Observable(io.reactivex.Observable) ReactionTypes(com.fastaccess.data.dao.types.ReactionTypes) BasePresenter(com.fastaccess.ui.base.mvp.presenter.BasePresenter) BundleConstant(com.fastaccess.helper.BundleConstant) CommentRequestModel(com.fastaccess.data.dao.CommentRequestModel) Login(com.fastaccess.data.dao.model.Login) RestProvider(com.fastaccess.provider.rest.RestProvider) GroupedReviewModel(com.fastaccess.data.dao.GroupedReviewModel) BaseMvp(com.fastaccess.ui.base.mvp.BaseMvp) ReactionsProvider(com.fastaccess.provider.timeline.ReactionsProvider) SparseArray(android.util.SparseArray) List(java.util.List) PullRequest(com.fastaccess.data.dao.model.PullRequest) IssueEventType(com.fastaccess.data.dao.types.IssueEventType) R(com.fastaccess.R) FilterIssuesActivity(com.fastaccess.ui.modules.filter.issues.FilterIssuesActivity) ReviewCommentModel(com.fastaccess.data.dao.ReviewCommentModel) TimelineConverter(com.fastaccess.provider.timeline.TimelineConverter) Nullable(android.support.annotation.Nullable) Activity(android.app.Activity) Collections(java.util.Collections) PullRequestStatusModel(com.fastaccess.data.dao.PullRequestStatusModel) ArrayList(java.util.ArrayList) List(java.util.List) View(android.view.View) TimelineModel(com.fastaccess.data.dao.TimelineModel)

Example 4 with Login

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))));
    }
}
Also used : Context(android.content.Context) Bundle(android.os.Bundle) Stream(com.annimon.stream.Stream) IssueRequestModel(com.fastaccess.data.dao.IssueRequestModel) IssueState(com.fastaccess.data.dao.types.IssueState) InputHelper(com.fastaccess.helper.InputHelper) Intent(android.content.Intent) NonNull(android.support.annotation.NonNull) Response(retrofit2.Response) ArrayList(java.util.ArrayList) RxHelper(com.fastaccess.helper.RxHelper) MilestoneModel(com.fastaccess.data.dao.MilestoneModel) LabelListModel(com.fastaccess.data.dao.LabelListModel) PinnedPullRequests(com.fastaccess.data.dao.model.PinnedPullRequests) Observable(io.reactivex.Observable) User(com.fastaccess.data.dao.model.User) BasePresenter(com.fastaccess.ui.base.mvp.presenter.BasePresenter) BundleConstant(com.fastaccess.helper.BundleConstant) CommentRequestModel(com.fastaccess.data.dao.CommentRequestModel) Login(com.fastaccess.data.dao.model.Login) RestProvider(com.fastaccess.provider.rest.RestProvider) Collectors(com.annimon.stream.Collectors) BaseMvp(com.fastaccess.ui.base.mvp.BaseMvp) IssueService(com.fastaccess.data.service.IssueService) AssigneesRequestModel(com.fastaccess.data.dao.AssigneesRequestModel) NotificationSubscriptionBodyModel(com.fastaccess.data.dao.NotificationSubscriptionBodyModel) LabelModel(com.fastaccess.data.dao.LabelModel) TextUtils(android.text.TextUtils) PullsIssuesParser(com.fastaccess.data.dao.PullsIssuesParser) SpannableBuilder(com.fastaccess.ui.widgets.SpannableBuilder) LockIssuePrModel(com.fastaccess.data.dao.LockIssuePrModel) PullRequest(com.fastaccess.data.dao.model.PullRequest) R(com.fastaccess.R) UsersListModel(com.fastaccess.data.dao.UsersListModel) Nullable(android.support.annotation.Nullable) MergeRequestModel(com.fastaccess.data.dao.MergeRequestModel) IssueRequestModel(com.fastaccess.data.dao.IssueRequestModel)

Example 5 with Login

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()))));
    }
}
Also used : Context(android.content.Context) Bundle(android.os.Bundle) Stream(com.annimon.stream.Stream) IssueRequestModel(com.fastaccess.data.dao.IssueRequestModel) IssueState(com.fastaccess.data.dao.types.IssueState) InputHelper(com.fastaccess.helper.InputHelper) Intent(android.content.Intent) NonNull(android.support.annotation.NonNull) Response(retrofit2.Response) ArrayList(java.util.ArrayList) RxHelper(com.fastaccess.helper.RxHelper) MilestoneModel(com.fastaccess.data.dao.MilestoneModel) LabelListModel(com.fastaccess.data.dao.LabelListModel) PinnedPullRequests(com.fastaccess.data.dao.model.PinnedPullRequests) Observable(io.reactivex.Observable) User(com.fastaccess.data.dao.model.User) BasePresenter(com.fastaccess.ui.base.mvp.presenter.BasePresenter) BundleConstant(com.fastaccess.helper.BundleConstant) CommentRequestModel(com.fastaccess.data.dao.CommentRequestModel) Login(com.fastaccess.data.dao.model.Login) RestProvider(com.fastaccess.provider.rest.RestProvider) Collectors(com.annimon.stream.Collectors) BaseMvp(com.fastaccess.ui.base.mvp.BaseMvp) IssueService(com.fastaccess.data.service.IssueService) AssigneesRequestModel(com.fastaccess.data.dao.AssigneesRequestModel) NotificationSubscriptionBodyModel(com.fastaccess.data.dao.NotificationSubscriptionBodyModel) LabelModel(com.fastaccess.data.dao.LabelModel) TextUtils(android.text.TextUtils) PullsIssuesParser(com.fastaccess.data.dao.PullsIssuesParser) SpannableBuilder(com.fastaccess.ui.widgets.SpannableBuilder) LockIssuePrModel(com.fastaccess.data.dao.LockIssuePrModel) PullRequest(com.fastaccess.data.dao.model.PullRequest) R(com.fastaccess.R) UsersListModel(com.fastaccess.data.dao.UsersListModel) Nullable(android.support.annotation.Nullable) MergeRequestModel(com.fastaccess.data.dao.MergeRequestModel) MergeRequestModel(com.fastaccess.data.dao.MergeRequestModel)

Aggregations

Login (com.fastaccess.data.dao.model.Login)19 NonNull (android.support.annotation.NonNull)11 Nullable (android.support.annotation.Nullable)11 RestProvider (com.fastaccess.provider.rest.RestProvider)11 BasePresenter (com.fastaccess.ui.base.mvp.presenter.BasePresenter)11 R (com.fastaccess.R)10 BundleConstant (com.fastaccess.helper.BundleConstant)10 InputHelper (com.fastaccess.helper.InputHelper)10 RxHelper (com.fastaccess.helper.RxHelper)10 ArrayList (java.util.ArrayList)10 Bundle (android.os.Bundle)9 Observable (io.reactivex.Observable)9 User (com.fastaccess.data.dao.model.User)8 BaseMvp (com.fastaccess.ui.base.mvp.BaseMvp)8 CommentRequestModel (com.fastaccess.data.dao.CommentRequestModel)7 Intent (android.content.Intent)6 PullsIssuesParser (com.fastaccess.data.dao.PullsIssuesParser)6 PullRequest (com.fastaccess.data.dao.model.PullRequest)6 TextUtils (android.text.TextUtils)5 Activity (android.app.Activity)4