Search in sources :

Example 11 with Login

use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.

the class CommitCommentsPresenter method onHandleComment.

@Override
public void onHandleComment(@NonNull String text, @Nullable Bundle bundle) {
    CommentRequestModel model = new CommentRequestModel();
    model.setBody(text);
    manageDisposable(RxHelper.getObservable(RestProvider.getRepoService(isEnterprise()).postCommitComment(login, repoId, sha, model)).doOnSubscribe(disposable -> sendToView(view -> view.showBlockingProgress(0))).subscribe(comment -> sendToView(view -> view.addComment(comment)), throwable -> {
        onError(throwable);
        sendToView(CommitCommentsMvp.View::hideBlockingProgress);
    }));
}
Also used : Comment(com.fastaccess.data.dao.model.Comment) BundleConstant(com.fastaccess.helper.BundleConstant) CommentRequestModel(com.fastaccess.data.dao.CommentRequestModel) Bundle(android.os.Bundle) Login(com.fastaccess.data.dao.model.Login) RestProvider(com.fastaccess.provider.rest.RestProvider) ActivityHelper(com.fastaccess.helper.ActivityHelper) TimelineModel(com.fastaccess.data.dao.TimelineModel) CommentsHelper(com.fastaccess.provider.timeline.CommentsHelper) ReactionsProvider(com.fastaccess.provider.timeline.ReactionsProvider) NonNull(android.support.annotation.NonNull) ArrayList(java.util.ArrayList) RxHelper(com.fastaccess.helper.RxHelper) R(com.fastaccess.R) PopupMenu(android.widget.PopupMenu) View(android.view.View) Observable(io.reactivex.Observable) ReactionTypes(com.fastaccess.data.dao.types.ReactionTypes) Nullable(android.support.annotation.Nullable) BasePresenter(com.fastaccess.ui.base.mvp.presenter.BasePresenter) CommentRequestModel(com.fastaccess.data.dao.CommentRequestModel)

Example 12 with Login

use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.

the class FeedsPresenter method onCallApi.

@Override
public boolean onCallApi(int page) {
    if (page == 1) {
        lastPage = Integer.MAX_VALUE;
        sendToView(view -> view.getLoadMore().reset());
    }
    if (page > lastPage || lastPage == 0) {
        sendToView(FeedsMvp.View::hideProgress);
        return false;
    }
    setCurrentPage(page);
    Login login = Login.getUser();
    // I can't understand how this could possibly be reached lol.
    if (login == null)
        return false;
    Observable<Pageable<Event>> observable;
    Logger.e(isOrg);
    if (user != null) {
        if (isOrg) {
            observable = RestProvider.getOrgService(isEnterprise()).getReceivedEvents(login.getLogin(), user, page);
        } else {
            observable = RestProvider.getUserService(login.getLogin().equalsIgnoreCase(user) ? PrefGetter.isEnterprise() : isEnterprise()).getUserEvents(user, page);
        }
    } else {
        observable = RestProvider.getUserService(PrefGetter.isEnterprise()).getReceivedEvents(login.getLogin(), page);
    }
    makeRestCall(observable, response -> {
        lastPage = response.getLast();
        if (getCurrentPage() == 1) {
            manageDisposable(Event.save(response.getItems(), user));
        }
        sendToView(view -> view.onNotifyAdapter(response.getItems(), page));
    });
    return true;
}
Also used : Pageable(com.fastaccess.data.dao.Pageable) Login(com.fastaccess.data.dao.model.Login) View(android.view.View)

Example 13 with Login

use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.

the class IssueTimelinePresenter method loadComment.

private void loadComment(int page, long commentId, String login, String repoId, List<TimelineModel> timeline) {
    if (page == 1 && commentId > 0) {
        Observable<TimelineModel> observable = Observable.create(source -> {
            int index = -1;
            if (timeline != null) {
                for (int i = 0; i < timeline.size(); i++) {
                    TimelineModel timelineModel = timeline.get(i);
                    if (timelineModel.getComment() != null) {
                        if (timelineModel.getComment().getId() == commentId) {
                            index = i;
                            break;
                        }
                    }
                }
            }
            TimelineModel timelineModel = new TimelineModel();
            timelineModel.setPosition(index);
            source.onNext(timelineModel);
            source.onComplete();
        });
        manageObservable(observable.doOnNext(timelineModel -> sendToView(view -> {
            if (timelineModel.getComment() != null) {
                view.addComment(timelineModel, -1);
            } else {
                view.addComment(null, timelineModel.getPosition());
            }
        })));
    }
}
Also used : 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) Getter(lombok.Getter) 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) Issue(com.fastaccess.data.dao.model.Issue) 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) 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) BaseMvp(com.fastaccess.ui.base.mvp.BaseMvp) ReactionsProvider(com.fastaccess.provider.timeline.ReactionsProvider) List(java.util.List) R(com.fastaccess.R) FilterIssuesActivity(com.fastaccess.ui.modules.filter.issues.FilterIssuesActivity) TimelineConverter(com.fastaccess.provider.timeline.TimelineConverter) Nullable(android.support.annotation.Nullable) Activity(android.app.Activity) TimelineModel(com.fastaccess.data.dao.TimelineModel)

Example 14 with Login

use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.

the class PullRequestPagerPresenter method isOwner.

@Override
public boolean isOwner() {
    if (getPullRequest() == null)
        return false;
    User userModel = getPullRequest() != null ? getPullRequest().getUser() : null;
    Login me = Login.getUser();
    PullsIssuesParser parser = PullsIssuesParser.getForIssue(getPullRequest().getHtmlUrl());
    return (userModel != null && userModel.getLogin().equalsIgnoreCase(me.getLogin())) || (parser != null && parser.getLogin().equalsIgnoreCase(me.getLogin()));
}
Also used : User(com.fastaccess.data.dao.model.User) Login(com.fastaccess.data.dao.model.Login) PullsIssuesParser(com.fastaccess.data.dao.PullsIssuesParser)

Example 15 with Login

use of com.fastaccess.data.dao.model.Login in project FastHub by k0shk0sh.

the class PullRequestPagerPresenter method onPutAssignees.

@Override
public void onPutAssignees(@NonNull ArrayList<User> users, boolean isAssignees) {
    AssigneesRequestModel assigneesRequestModel = new AssigneesRequestModel();
    ArrayList<String> assignees = Stream.of(users).map(User::getLogin).collect(Collectors.toCollection(ArrayList::new));
    if (isAssignees) {
        assigneesRequestModel.setAssignees(assignees.isEmpty() ? Stream.of(pullRequest.getAssignees()).map(User::getLogin).toList() : assignees);
        makeRestCall(!assignees.isEmpty() ? RestProvider.getIssueService(isEnterprise()).putAssignees(login, repoId, issueNumber, assigneesRequestModel) : RestProvider.getIssueService(isEnterprise()).deleteAssignees(login, repoId, issueNumber, assigneesRequestModel), pullRequestResponse -> {
            UsersListModel usersListModel = new UsersListModel();
            usersListModel.addAll(users);
            this.pullRequest.setAssignees(usersListModel);
            manageObservable(pullRequest.save(pullRequest).toObservable());
            sendToView(view -> updateTimeline(view, R.string.assignee_added));
        });
    } else {
        assigneesRequestModel.setReviewers(assignees);
        makeRestCall(RestProvider.getPullRequestService(isEnterprise()).putReviewers(login, repoId, issueNumber, assigneesRequestModel), pullRequestResponse -> sendToView(view -> updateTimeline(view, R.string.reviewer_added)));
    }
}
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) UsersListModel(com.fastaccess.data.dao.UsersListModel) AssigneesRequestModel(com.fastaccess.data.dao.AssigneesRequestModel)

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