Search in sources :

Example 16 with Login

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

the class PullRequestPagerPresenter method callApi.

private void callApi() {
    Login loggedInUser = Login.getUser();
    if (loggedInUser == null)
        return;
    makeRestCall(RxHelper.getObservable(Observable.zip(RestProvider.getPullRequestService(isEnterprise()).getPullRequest(login, repoId, issueNumber), RestProvider.getRepoService(isEnterprise()).isCollaborator(login, repoId, loggedInUser.getLogin()), RestProvider.getIssueService(isEnterprise()).getIssue(login, repoId, issueNumber), (pullRequestModel, booleanResponse, issue) -> {
        this.pullRequest = pullRequestModel;
        if (issue != null) {
            this.pullRequest.setReactions(issue.getReactions());
            this.pullRequest.setTitle(issue.getTitle());
            this.pullRequest.setBody(issue.getBody());
            this.pullRequest.setBodyHtml(issue.getBodyHtml());
        }
        this.pullRequest.setLogin(login);
        this.pullRequest.setRepoId(repoId);
        isCollaborator = booleanResponse.code() == 204;
        return pullRequest;
    })), pullRequest -> {
        sendToView(view -> view.onSetupIssue(false));
        manageDisposable(PinnedPullRequests.updateEntry(pullRequest.getId()));
        manageObservable(pullRequest.save(pullRequest).toObservable());
    });
}
Also used : Login(com.fastaccess.data.dao.model.Login)

Example 17 with Login

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

the class UserPagerActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Login currentUser = Login.getUser();
    if (currentUser == null) {
        onRequireLogin();
        return;
    }
    if (savedInstanceState == null) {
        if (getIntent() != null && getIntent().getExtras() != null) {
            login = getIntent().getExtras().getString(BundleConstant.EXTRA);
            isOrg = getIntent().getExtras().getBoolean(BundleConstant.EXTRA_TYPE);
            index = getIntent().getExtras().getInt(BundleConstant.EXTRA_TWO, -1);
            if (!InputHelper.isEmpty(login)) {
                if (isOrg) {
                    getPresenter().checkOrgMembership(login);
                } else {
                    if (!Login.getUser().getLogin().equalsIgnoreCase(login))
                        getPresenter().onCheckBlocking(login);
                }
            }
        } else {
            Login user = Login.getUser();
            if (user == null) {
                onRequireLogin();
                return;
            }
            login = user.getLogin();
        }
    }
    if (InputHelper.isEmpty(login)) {
        finish();
        return;
    }
    setTaskName(login);
    setTitle(login);
    if (login.equalsIgnoreCase(currentUser.getLogin())) {
        selectProfile();
    }
    if (!isOrg) {
        FragmentsPagerAdapter adapter = new FragmentsPagerAdapter(getSupportFragmentManager(), FragmentPagerAdapterModel.buildForProfile(this, login));
        pager.setAdapter(adapter);
        tabs.setTabGravity(TabLayout.GRAVITY_FILL);
        tabs.setTabMode(TabLayout.MODE_SCROLLABLE);
        tabs.setupWithViewPager(pager);
        if (savedInstanceState == null) {
            if (index != -1) {
                pager.setCurrentItem(index);
            }
        }
    } else {
        if (getPresenter().getIsMember() == -1) {
            getPresenter().checkOrgMembership(login);
        } else {
            onInitOrg(getPresenter().isMember == 1);
        }
    }
    tabs.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(pager) {

        @Override
        public void onTabReselected(TabLayout.Tab tab) {
            super.onTabReselected(tab);
            onScrollTop(tab.getPosition());
        }
    });
    pager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            super.onPageSelected(position);
            hideShowFab(position);
        }
    });
    if (!isOrg) {
        if (savedInstanceState != null && !counts.isEmpty()) {
            Stream.of(counts).forEach(this::updateCount);
        }
    }
    hideShowFab(pager.getCurrentItem());
}
Also used : FragmentsPagerAdapter(com.fastaccess.ui.adapter.FragmentsPagerAdapter) TabLayout(android.support.design.widget.TabLayout) Login(com.fastaccess.data.dao.model.Login) ViewPager(android.support.v4.view.ViewPager)

Example 18 with Login

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

the class PullRequestTimelinePresenter method onHandleDeletion.

@Override
public void onHandleDeletion(@Nullable Bundle bundle) {
    if (getView() == null || getView().getPullRequest() == null)
        return;
    if (bundle != null) {
        PullRequest pullRequest = getView().getPullRequest();
        String login = pullRequest.getLogin();
        String repoId = pullRequest.getRepoId();
        long commId = bundle.getLong(BundleConstant.EXTRA, 0);
        boolean isReviewComment = bundle.getBoolean(BundleConstant.YES_NO_EXTRA);
        if (commId != 0 && !isReviewComment) {
            makeRestCall(RestProvider.getIssueService(isEnterprise()).deleteIssueComment(login, repoId, commId), booleanResponse -> sendToView(view -> {
                if (booleanResponse.code() == 204) {
                    Comment comment = new Comment();
                    comment.setId(commId);
                    view.onRemove(TimelineModel.constructComment(comment));
                } else {
                    view.showMessage(R.string.error, R.string.error_deleting_comment);
                }
            }));
        } else {
            int groupPosition = bundle.getInt(BundleConstant.EXTRA_TWO);
            int commentPosition = bundle.getInt(BundleConstant.EXTRA_THREE);
            makeRestCall(RestProvider.getReviewService(isEnterprise()).deleteComment(login, repoId, commId), booleanResponse -> sendToView(view -> {
                if (booleanResponse.code() == 204) {
                    view.onRemoveReviewComment(groupPosition, commentPosition);
                } else {
                    view.showMessage(R.string.error, R.string.error_deleting_comment);
                }
            }));
        }
    }
}
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) Comment(com.fastaccess.data.dao.model.Comment) PullRequest(com.fastaccess.data.dao.model.PullRequest)

Example 19 with Login

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

the class NotificationSchedulerJobTask method onStartJob.

@Override
public boolean onStartJob(JobParameters job) {
    if (!SINGLE_JOB_ID.equalsIgnoreCase(job.getTag())) {
        if (PrefGetter.getNotificationTaskDuration() == -1) {
            scheduleJob(this, -1, false);
            finishJob(job);
            return true;
        }
    }
    Login login = null;
    try {
        login = Login.getUser();
    } catch (Exception ignored) {
    }
    if (login != null) {
        RestProvider.getNotificationService(PrefGetter.isEnterprise()).getNotifications(ParseDateFormat.getLastWeekDate()).subscribeOn(Schedulers.io()).subscribe(item -> {
            AppHelper.cancelAllNotifications(getApplicationContext());
            if (item != null) {
                onSave(item.getItems(), job);
            } else {
                finishJob(job);
            }
        }, throwable -> jobFinished(job, true));
    }
    return true;
}
Also used : Login(com.fastaccess.data.dao.model.Login)

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