Search in sources :

Example 16 with Gist

use of com.meisolsson.githubsdk.model.Gist in project PocketHub by pockethub.

the class GistStoreTest method testReuseIssue.

/**
 * Verify issue is updated when re-added
 */
public void testReuseIssue() {
    GistStore store = new GistStore();
    assertNull(store.getGist("abcd"));
    Gist gist = Gist.builder().id("abcd").description("description").build();
    // The gist is added and the store will return the given gist
    assertEquals(gist, store.addGist(gist));
    assertEquals(gist, store.getGist("abcd"));
    Gist gist2 = Gist.builder().id("abcd").description("description2").build();
    // The gist has now been updated and should not return the same gist
    assertNotEqual(gist, store.addGist(gist2));
    assertNotEqual(gist.description(), gist2.description());
    assertNotEqual(gist, store.getGist("abcd"));
}
Also used : GistStore(com.github.pockethub.android.core.gist.GistStore) Gist(com.meisolsson.githubsdk.model.Gist)

Example 17 with Gist

use of com.meisolsson.githubsdk.model.Gist in project gh4a by slapperwan.

the class EventAdapter method formatTitle.

private String formatTitle(GitHubEvent event) {
    GitHubEvent.RepoIdentifier eventRepo = event.repo();
    Resources res = mContext.getResources();
    if (hasInvalidPayload(event)) {
        return event.type().toString();
    }
    switch(event.type()) {
        case CommitCommentEvent:
            {
                CommitCommentPayload payload = (CommitCommentPayload) event.payload();
                return res.getString(R.string.event_commit_comment_title, payload.comment().commitId().substring(0, 7), formatFromRepoIdentifier(eventRepo));
            }
        case CreateEvent:
            {
                CreatePayload payload = (CreatePayload) event.payload();
                switch(payload.refType()) {
                    case Repository:
                        return res.getString(R.string.event_create_repo_title);
                    case Branch:
                        return res.getString(R.string.event_create_branch_title, payload.ref(), formatFromRepoIdentifier(eventRepo));
                    case Tag:
                        return res.getString(R.string.event_create_tag_title, payload.ref(), formatFromRepoIdentifier(eventRepo));
                }
                break;
            }
        case DeleteEvent:
            {
                DeletePayload payload = (DeletePayload) event.payload();
                switch(payload.refType()) {
                    case Branch:
                        return res.getString(R.string.event_delete_branch_title, payload.ref(), formatFromRepoIdentifier(eventRepo));
                    case Tag:
                        return res.getString(R.string.event_delete_tag_title, payload.ref(), formatFromRepoIdentifier(eventRepo));
                }
                break;
            }
        case DownloadEvent:
            return res.getString(R.string.event_download_title, formatFromRepoIdentifier(eventRepo));
        case FollowEvent:
            {
                FollowPayload payload = (FollowPayload) event.payload();
                return res.getString(R.string.event_follow_title, ApiHelpers.getUserLogin(mContext, payload.target()));
            }
        case ForkEvent:
            return res.getString(R.string.event_fork_title, formatFromRepoIdentifier(eventRepo));
        case ForkApplyEvent:
            return res.getString(R.string.event_fork_apply_title, formatFromRepoIdentifier(eventRepo));
        case GistEvent:
            {
                GistPayload payload = (GistPayload) event.payload();
                Gist gist = payload.gist();
                String id = gist != null ? gist.id() : mContext.getString(R.string.deleted);
                int resId = payload.action() == GistPayload.Action.Updated ? R.string.event_update_gist_title : R.string.event_create_gist_title;
                return res.getString(resId, id);
            }
        case GollumEvent:
            {
                GollumPayload payload = (GollumPayload) event.payload();
                List<GitHubWikiPage> pages = payload.pages();
                int count = pages == null ? 0 : pages.size();
                return res.getString(R.string.event_gollum_title, res.getQuantityString(R.plurals.page, count, count), formatFromRepoIdentifier(eventRepo));
            }
        case IssueCommentEvent:
            {
                IssueCommentPayload payload = (IssueCommentPayload) event.payload();
                Issue issue = payload.issue();
                if (issue != null) {
                    int formatResId = issue.pullRequest() != null ? R.string.event_pull_request_comment : R.string.event_issue_comment;
                    return res.getString(formatResId, issue.number(), formatFromRepoIdentifier(eventRepo));
                }
                break;
            }
        case IssuesEvent:
            {
                IssuesPayload payload = (IssuesPayload) event.payload();
                final int resId;
                switch(payload.action()) {
                    case Opened:
                        resId = R.string.event_issues_open_title;
                        break;
                    case Closed:
                        resId = R.string.event_issues_close_title;
                        break;
                    case Reopened:
                        resId = R.string.event_issues_reopen_title;
                        break;
                    default:
                        return "";
                }
                return res.getString(resId, payload.issue().number(), formatFromRepoIdentifier(eventRepo));
            }
        case MemberEvent:
            {
                MemberPayload payload = (MemberPayload) event.payload();
                return res.getString(R.string.event_member_title, ApiHelpers.getUserLogin(mContext, payload.member()), formatFromRepoIdentifier(eventRepo));
            }
        case PublicEvent:
            return res.getString(R.string.event_public_title, formatFromRepoIdentifier(eventRepo));
        case PullRequestEvent:
            {
                PullRequestPayload payload = (PullRequestPayload) event.payload();
                PullRequest pr = payload.pullRequest();
                final int resId;
                switch(payload.action()) {
                    case Opened:
                        resId = R.string.event_pr_open_title;
                        break;
                    case Closed:
                        resId = pr.merged() ? R.string.event_pr_merge_title : R.string.event_pr_close_title;
                        break;
                    case Reopened:
                        resId = R.string.event_pr_reopen_title;
                        break;
                    case Synchronized:
                        resId = R.string.event_pr_update_title;
                        break;
                    default:
                        return "";
                }
                return res.getString(resId, payload.number(), formatFromRepoIdentifier(eventRepo));
            }
        case PullRequestReviewCommentEvent:
            {
                PullRequestReviewCommentPayload payload = (PullRequestReviewCommentPayload) event.payload();
                PullRequest pr = payload.pullRequest();
                ReviewComment comment = payload.comment();
                if (pr != null) {
                    return res.getString(R.string.event_pull_request_review_comment_title, pr.number(), formatFromRepoIdentifier(eventRepo));
                } else if (comment != null) {
                    return res.getString(R.string.event_commit_comment_title, comment.commitId().substring(0, 7), formatFromRepoIdentifier(eventRepo));
                }
                break;
            }
        case PushEvent:
            {
                PushPayload payload = (PushPayload) event.payload();
                String ref = payload.ref();
                if (ref.startsWith("refs/heads/")) {
                    ref = ref.substring(11);
                }
                return res.getString(R.string.event_push_title, ref, formatFromRepoIdentifier(eventRepo));
            }
        case ReleaseEvent:
            return res.getString(R.string.event_release_title, formatFromRepoIdentifier(eventRepo));
        case TeamAddEvent:
            {
                TeamAddPayload payload = (TeamAddPayload) event.payload();
                Team team = payload.team();
                if (team != null) {
                    Repository repo = payload.repository();
                    if (repo != null) {
                        return res.getString(R.string.event_team_repo_add, formatToRepoName(repo), team.name());
                    }
                }
                break;
            }
        case WatchEvent:
            return res.getString(R.string.event_watch_title, formatFromRepoIdentifier(eventRepo));
    }
    return "";
}
Also used : GollumPayload(com.meisolsson.githubsdk.model.payload.GollumPayload) PushPayload(com.meisolsson.githubsdk.model.payload.PushPayload) Gist(com.meisolsson.githubsdk.model.Gist) MemberPayload(com.meisolsson.githubsdk.model.payload.MemberPayload) FollowPayload(com.meisolsson.githubsdk.model.payload.FollowPayload) Issue(com.meisolsson.githubsdk.model.Issue) DeletePayload(com.meisolsson.githubsdk.model.payload.DeletePayload) ReviewComment(com.meisolsson.githubsdk.model.ReviewComment) IssuesPayload(com.meisolsson.githubsdk.model.payload.IssuesPayload) PullRequest(com.meisolsson.githubsdk.model.PullRequest) GitHubEvent(com.meisolsson.githubsdk.model.GitHubEvent) GistPayload(com.meisolsson.githubsdk.model.payload.GistPayload) IssueCommentPayload(com.meisolsson.githubsdk.model.payload.IssueCommentPayload) PullRequestReviewCommentPayload(com.meisolsson.githubsdk.model.payload.PullRequestReviewCommentPayload) CommitCommentPayload(com.meisolsson.githubsdk.model.payload.CommitCommentPayload) CreatePayload(com.meisolsson.githubsdk.model.payload.CreatePayload) Repository(com.meisolsson.githubsdk.model.Repository) PullRequestPayload(com.meisolsson.githubsdk.model.payload.PullRequestPayload) TeamAddPayload(com.meisolsson.githubsdk.model.payload.TeamAddPayload) List(java.util.List) Team(com.meisolsson.githubsdk.model.Team) Resources(android.content.res.Resources)

Aggregations

Gist (com.meisolsson.githubsdk.model.Gist)17 GitHubEvent (com.meisolsson.githubsdk.model.GitHubEvent)4 MenuItem (android.view.MenuItem)3 GistStore (com.github.pockethub.android.core.gist.GistStore)3 Issue (com.meisolsson.githubsdk.model.Issue)3 Repository (com.meisolsson.githubsdk.model.Repository)3 Bundle (android.os.Bundle)2 NonNull (android.support.annotation.NonNull)2 Menu (android.view.Menu)2 MenuInflater (android.view.MenuInflater)2 View (android.view.View)2 Builder (com.github.pockethub.android.Intents.Builder)2 R (com.github.pockethub.android.R)2 UserPair (com.github.pockethub.android.core.user.UserEventMatcher.UserPair)2 ToastUtils (com.github.pockethub.android.util.ToastUtils)2 Single (io.reactivex.Single)2 AndroidSchedulers (io.reactivex.android.schedulers.AndroidSchedulers)2 Schedulers (io.reactivex.schedulers.Schedulers)2 IOException (java.io.IOException)2 Inject (javax.inject.Inject)2