Search in sources :

Example 1 with Commit

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

the class CommitPagerActivity method onSetup.

@Override
public void onSetup() {
    hideProgress();
    if (getPresenter().getCommit() == null) {
        return;
    }
    supportInvalidateOptionsMenu();
    Commit commit = getPresenter().getCommit();
    String login = commit.getAuthor() != null ? commit.getAuthor().getLogin() : commit.getGitCommit().getAuthor().getName();
    String avatar = commit.getAuthor() != null ? commit.getAuthor().getAvatarUrl() : null;
    Date dateValue = commit.getGitCommit().getAuthor().getDate();
    HtmlHelper.htmlIntoTextView(title, commit.getGitCommit().getMessage(), title.getWidth());
    setTaskName(commit.getLogin() + "/" + commit.getRepoId() + " - Commit " + StringsKt.take(commit.getSha(), 5));
    detailsIcon.setVisibility(View.VISIBLE);
    size.setVisibility(View.GONE);
    date.setText(SpannableBuilder.builder().bold(getPresenter().repoId).append(" ").append(" ").append(ParseDateFormat.getTimeAgo(dateValue)));
    avatarLayout.setUrl(avatar, login, false, LinkParserHelper.isEnterprise(commit.getHtmlUrl()));
    addition.setText(String.valueOf(commit.getStats() != null ? commit.getStats().getAdditions() : 0));
    deletion.setText(String.valueOf(commit.getStats() != null ? commit.getStats().getDeletions() : 0));
    changes.setText(String.valueOf(commit.getFiles() != null ? commit.getFiles().size() : 0));
    pager.setAdapter(new FragmentsPagerAdapter(getSupportFragmentManager(), FragmentPagerAdapterModel.buildForCommit(this, commit)));
    tabs.setupWithViewPager(pager);
    pager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {

        @Override
        public void onPageSelected(int position) {
            super.onPageSelected(position);
            hideShowFab();
        }
    });
    hideShowFab();
    TabLayout.Tab tabOne = tabs.getTabAt(0);
    TabLayout.Tab tabTwo = tabs.getTabAt(1);
    if (tabOne != null && commit.getFiles() != null) {
        tabOne.setText(getString(R.string.files) + " (" + commit.getFiles().size() + ")");
    }
    if (tabTwo != null && commit.getGitCommit() != null && commit.getGitCommit().getCommentCount() > 0) {
        tabTwo.setText(getString(R.string.comments) + " (" + commit.getGitCommit().getCommentCount() + ")");
    }
    tabs.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(pager) {

        @Override
        public void onTabReselected(TabLayout.Tab tab) {
            super.onTabReselected(tab);
            onScrollTop(tab.getPosition());
        }
    });
}
Also used : Commit(com.fastaccess.data.dao.model.Commit) FragmentsPagerAdapter(com.fastaccess.ui.adapter.FragmentsPagerAdapter) TabLayout(android.support.design.widget.TabLayout) ViewPager(android.support.v4.view.ViewPager) Date(java.util.Date)

Example 2 with Commit

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

the class CommitPagerPresenter method onActivityCreated.

@Override
public void onActivityCreated(@Nullable Intent intent) {
    if (intent != null && intent.getExtras() != null) {
        sha = intent.getExtras().getString(BundleConstant.ID);
        login = intent.getExtras().getString(BundleConstant.EXTRA);
        repoId = intent.getExtras().getString(BundleConstant.EXTRA_TWO);
        showToRepoBtn = intent.getExtras().getBoolean(BundleConstant.EXTRA_THREE);
        if (commitModel != null) {
            sendToView(CommitPagerMvp.View::onSetup);
            return;
        } else if (!InputHelper.isEmpty(sha) && !InputHelper.isEmpty(login) && !InputHelper.isEmpty(repoId)) {
            makeRestCall(RestProvider.getRepoService(isEnterprise()).getCommit(login, repoId, sha).flatMap(commit -> {
                if (commit.getGitCommit() != null && commit.getGitCommit().getMessage() != null) {
                    MarkdownModel markdownModel = new MarkdownModel();
                    markdownModel.setContext(login + "/" + repoId);
                    markdownModel.setText(commit.getGitCommit().getMessage());
                    return RestProvider.getRepoService(isEnterprise()).convertReadmeToHtml(markdownModel);
                }
                return Observable.just(commit);
            }, (commit, u) -> {
                if (!InputHelper.isEmpty(u) && u instanceof String) {
                    commit.getGitCommit().setMessage(u.toString());
                }
                return commit;
            }), commit -> {
                commitModel = commit;
                commitModel.setRepoId(repoId);
                commitModel.setLogin(login);
                sendToView(CommitPagerMvp.View::onSetup);
                manageObservable(commitModel.save(commitModel).toObservable());
            });
            return;
        }
    }
    sendToView(CommitPagerMvp.View::onSetup);
}
Also used : BundleConstant(com.fastaccess.helper.BundleConstant) CommentRequestModel(com.fastaccess.data.dao.CommentRequestModel) Commit(com.fastaccess.data.dao.model.Commit) RestProvider(com.fastaccess.provider.rest.RestProvider) MarkdownModel(com.fastaccess.data.dao.MarkdownModel) InputHelper(com.fastaccess.helper.InputHelper) Intent(android.content.Intent) NonNull(android.support.annotation.NonNull) ArrayList(java.util.ArrayList) RxHelper(com.fastaccess.helper.RxHelper) Observable(io.reactivex.Observable) Nullable(android.support.annotation.Nullable) BasePresenter(com.fastaccess.ui.base.mvp.presenter.BasePresenter) MarkdownModel(com.fastaccess.data.dao.MarkdownModel)

Aggregations

Commit (com.fastaccess.data.dao.model.Commit)2 Intent (android.content.Intent)1 NonNull (android.support.annotation.NonNull)1 Nullable (android.support.annotation.Nullable)1 TabLayout (android.support.design.widget.TabLayout)1 ViewPager (android.support.v4.view.ViewPager)1 CommentRequestModel (com.fastaccess.data.dao.CommentRequestModel)1 MarkdownModel (com.fastaccess.data.dao.MarkdownModel)1 BundleConstant (com.fastaccess.helper.BundleConstant)1 InputHelper (com.fastaccess.helper.InputHelper)1 RxHelper (com.fastaccess.helper.RxHelper)1 RestProvider (com.fastaccess.provider.rest.RestProvider)1 FragmentsPagerAdapter (com.fastaccess.ui.adapter.FragmentsPagerAdapter)1 BasePresenter (com.fastaccess.ui.base.mvp.presenter.BasePresenter)1 Observable (io.reactivex.Observable)1 ArrayList (java.util.ArrayList)1 Date (java.util.Date)1