use of com.meisolsson.githubsdk.model.payload.CreatePayload in project PocketHub by pockethub.
the class IconAndViewTextManager method formatCreate.
void formatCreate(GitHubEvent event, StyledText main, StyledText details) {
boldActor(main, event);
CreatePayload payload = (CreatePayload) event.payload();
main.append(" created ");
String refType = payload.refType();
main.append(refType);
main.append(' ');
if (!"repository".equals(refType)) {
main.append(payload.ref());
main.append(" at ");
boldRepo(main, event);
} else {
boldRepoName(main, event);
}
}
use of com.meisolsson.githubsdk.model.payload.CreatePayload in project PocketHub by pockethub.
the class NewsEventTextTest method testCreateBranchEvent.
/**
* Verify text of create event
*/
@UiThreadTest
public void testCreateBranchEvent() {
CreatePayload payload = CreatePayload.builder().refType(ReferenceType.Branch).ref("b1").build();
GitHubEvent event = createEvent(GitHubEventType.CreateEvent, payload);
updateView(event);
verify("user created branch b1 at user/repo");
}
use of com.meisolsson.githubsdk.model.payload.CreatePayload in project PocketHub by pockethub.
the class NewsEventTextTest method testCreateRepositoryEvent.
/**
* Verify text of create event
*/
@UiThreadTest
public void testCreateRepositoryEvent() {
CreatePayload payload = CreatePayload.builder().refType(ReferenceType.Repository).build();
GitHubEvent event = createEvent(GitHubEventType.CreateEvent, payload);
updateView(event);
verify("user created repository repo");
}
use of com.meisolsson.githubsdk.model.payload.CreatePayload in project gh4a by slapperwan.
the class EventListFragment method onItemClick.
@Override
public void onItemClick(GitHubEvent event) {
if (EventAdapter.hasInvalidPayload(event)) {
return;
}
GitHubEvent.RepoIdentifier eventRepo = event.repo();
String repoOwner = "";
String repoName = "";
Intent intent = null;
Single<Optional<Intent>> intentSingle = null;
if (eventRepo != null) {
String[] repoNamePart = eventRepo.repoWithUserName().split("/");
if (repoNamePart.length == 2) {
repoOwner = repoNamePart[0];
repoName = repoNamePart[1];
}
}
if (Arrays.binarySearch(REPO_EVENTS, event.type()) >= 0 && eventRepo == null) {
Toast.makeText(getActivity(), R.string.repo_not_found_toast, Toast.LENGTH_LONG).show();
return;
}
switch(event.type()) {
case CommitCommentEvent:
{
CommitCommentPayload payload = (CommitCommentPayload) event.payload();
GitComment comment = payload.comment();
if (comment != null) {
intentSingle = CommitCommentLoadTask.load(getActivity(), repoOwner, repoName, comment.commitId(), new IntentUtils.InitialCommentMarker(comment.id()));
}
break;
}
case CreateEvent:
{
CreatePayload payload = (CreatePayload) event.payload();
String ref = null;
if (payload.refType() == ReferenceType.Branch || payload.refType() == ReferenceType.Tag) {
ref = payload.ref();
}
intent = RepositoryActivity.makeIntent(getActivity(), repoOwner, repoName, ref);
break;
}
case DeleteEvent:
intent = RepositoryActivity.makeIntent(getActivity(), repoOwner, repoName);
break;
case DownloadEvent:
{
DownloadPayload payload = (DownloadPayload) event.payload();
Download download = payload.download();
UiUtils.enqueueDownloadWithPermissionCheck((BaseActivity) getActivity(), download.htmlUrl(), download.contentType(), download.name(), download.description(), null);
break;
}
case FollowEvent:
{
FollowPayload payload = (FollowPayload) event.payload();
intent = UserActivity.makeIntent(getActivity(), payload.target());
break;
}
case ForkEvent:
{
ForkPayload payload = (ForkPayload) event.payload();
Repository forkee = payload.forkee();
if (forkee != null) {
intent = RepositoryActivity.makeIntent(getActivity(), forkee);
} else {
Toast.makeText(getActivity(), R.string.repo_not_found_toast, Toast.LENGTH_LONG).show();
}
break;
}
case ForkApplyEvent:
intent = RepositoryActivity.makeIntent(getActivity(), repoOwner, repoName);
break;
case GistEvent:
{
GistPayload payload = (GistPayload) event.payload();
intent = GistActivity.makeIntent(getActivity(), payload.gist().id());
break;
}
case GollumEvent:
{
GollumPayload payload = (GollumPayload) event.payload();
intent = WikiListActivity.makeIntent(getActivity(), repoOwner, repoName, payload.pages().isEmpty() ? null : payload.pages().get(0));
break;
}
case IssueCommentEvent:
{
IssueCommentPayload payload = (IssueCommentPayload) event.payload();
Issue issue = payload.issue();
PullRequest request = issue != null ? issue.pullRequest() : null;
IntentUtils.InitialCommentMarker initialComment = payload.comment() != null ? new IntentUtils.InitialCommentMarker(payload.comment().id()) : null;
if (request != null && request.htmlUrl() != null) {
intent = PullRequestActivity.makeIntent(getActivity(), repoOwner, repoName, issue.number(), initialComment != null ? PullRequestActivity.PAGE_CONVERSATION : -1, initialComment);
} else if (issue != null) {
intent = IssueActivity.makeIntent(getActivity(), repoOwner, repoName, issue.number(), initialComment);
}
break;
}
case IssuesEvent:
{
IssuesPayload payload = (IssuesPayload) event.payload();
startActivity(IssueActivity.makeIntent(getActivity(), repoOwner, repoName, payload.issue().number()));
break;
}
case MemberEvent:
intent = RepositoryActivity.makeIntent(getActivity(), repoOwner, repoName);
break;
case PublicEvent:
intent = RepositoryActivity.makeIntent(getActivity(), repoOwner, repoName);
break;
case PullRequestEvent:
{
PullRequestPayload payload = (PullRequestPayload) event.payload();
intent = PullRequestActivity.makeIntent(getActivity(), repoOwner, repoName, payload.number());
break;
}
case PullRequestReviewCommentEvent:
{
PullRequestReviewCommentPayload payload = (PullRequestReviewCommentPayload) event.payload();
PullRequest pr = payload.pullRequest();
ReviewComment comment = payload.comment();
IntentUtils.InitialCommentMarker initialComment = comment != null ? new IntentUtils.InitialCommentMarker(comment.id()) : null;
if (pr != null) {
if (initialComment != null) {
intentSingle = PullRequestReviewCommentLoadTask.load(getActivity(), repoOwner, repoName, pr.number(), initialComment);
} else {
intent = PullRequestActivity.makeIntent(getActivity(), repoOwner, repoName, pr.number(), -1, null);
}
} else if (comment != null) {
intent = CommitActivity.makeIntent(getActivity(), repoOwner, repoName, comment.commitId(), initialComment);
}
break;
}
case PushEvent:
{
PushPayload payload = (PushPayload) event.payload();
List<GitCommit> commits = payload.commits();
if (commits != null && !commits.isEmpty()) {
if (commits.size() > 1) {
// if commit > 1, then show compare activity
intent = CompareActivity.makeIntent(getActivity(), repoOwner, repoName, payload.before(), payload.head());
} else {
// only 1 commit, then show the commit details
intent = CommitActivity.makeIntent(getActivity(), repoOwner, repoName, commits.get(0).sha());
}
} else {
intent = RepositoryActivity.makeIntent(getActivity(), repoOwner, repoName);
}
break;
}
case ReleaseEvent:
{
ReleasePayload payload = (ReleasePayload) event.payload();
Release release = payload.release();
if (release != null) {
intent = ReleaseInfoActivity.makeIntent(getActivity(), repoOwner, repoName, release.id());
}
break;
}
case WatchEvent:
intent = RepositoryActivity.makeIntent(getActivity(), repoOwner, repoName);
break;
}
if (intent != null) {
startActivity(intent);
} else if (intentSingle != null) {
intentSingle.compose(RxUtils::doInBackground).compose(RxUtils.wrapWithProgressDialog(getActivity(), R.string.loading_msg)).subscribe(result -> {
if (result.isPresent() && isAdded()) {
startActivity(result.get());
}
}, error -> Log.d(Gh4Application.LOG_TAG, "Loading click intent failed", error));
}
}
use of com.meisolsson.githubsdk.model.payload.CreatePayload 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 "";
}
Aggregations