use of com.meisolsson.githubsdk.model.User in project gh4a by slapperwan.
the class SearchFragment method onItemClick.
@Override
public void onItemClick(Object item) {
if (item instanceof Repository) {
Repository repository = (Repository) item;
startActivity(RepositoryActivity.makeIntent(getActivity(), repository));
} else if (item instanceof SearchCode) {
openFileViewer((SearchCode) item, -1);
} else {
User user = (User) item;
startActivity(UserActivity.makeIntent(getActivity(), user));
}
}
use of com.meisolsson.githubsdk.model.User in project gh4a by slapperwan.
the class ApiHelpers method getAuthorName.
// RepositoryCommit
public static String getAuthorName(Context context, Commit commit) {
User author = commit.author();
if (author != null && !TextUtils.isEmpty(author.login())) {
return author.login();
}
GitUser commitAuthor = commit.commit().author();
if (commitAuthor != null && !TextUtils.isEmpty(commitAuthor.name())) {
return commitAuthor.name();
}
return context.getString(R.string.unknown);
}
use of com.meisolsson.githubsdk.model.User in project gh4a by slapperwan.
the class IssueListActivity method showAssigneesDialog.
private void showAssigneesDialog() {
final String[] assignees = new String[mAssignees.size() + 2];
int selected = mSelectedAssignee != null && mSelectedAssignee.isEmpty() ? 1 : 0;
assignees[0] = getResources().getString(R.string.issue_filter_by_any_assignee);
assignees[1] = getResources().getString(R.string.issue_filter_by_no_assignee);
for (int i = 0; i < mAssignees.size(); i++) {
User u = mAssignees.get(i);
assignees[i + 2] = u.login();
if (u.login().equalsIgnoreCase(mSelectedAssignee)) {
selected = i + 2;
}
}
DialogInterface.OnClickListener selectCb = (dialog, which) -> {
mSelectedAssignee = which == 0 ? null : which == 1 ? "" : mAssignees.get(which - 2).login();
dialog.dismiss();
onFilterUpdated();
};
new AlertDialog.Builder(this).setCancelable(true).setTitle(R.string.issue_filter_by_assignee).setSingleChoiceItems(assignees, selected, selectCb).setNegativeButton(R.string.cancel, null).show();
}
use of com.meisolsson.githubsdk.model.User in project gh4a by slapperwan.
the class IssueEditActivity method loadPotentialAssignees.
private void loadPotentialAssignees() {
final RepositoryCollaboratorService service = ServiceFactory.get(RepositoryCollaboratorService.class, false);
registerTemporarySubscription(ApiHelpers.PageIterator.toSingle(page -> service.getCollaborators(mRepoOwner, mRepoName, page)).compose(RxUtils::doInBackground).compose(RxUtils.wrapWithProgressDialog(this, R.string.loading_msg)).subscribe(result -> {
mAllAssignee = result;
User creator = mEditIssue.user();
if (creator != null && !mAllAssignee.contains(creator)) {
mAllAssignee.add(creator);
}
showAssigneesDialog();
}, this::handleLoadFailure));
}
use of com.meisolsson.githubsdk.model.User in project gh4a by slapperwan.
the class IssueEditActivity method saveIssue.
private void saveIssue() {
Milestone milestone = mEditIssue.milestone();
IssueRequest.Builder builder = IssueRequest.builder();
if (!ObjectsCompat.equals(mEditIssue.title(), mOriginalIssue.title())) {
builder.title(mEditIssue.title());
}
if (!ObjectsCompat.equals(mEditIssue.body(), mOriginalIssue.body())) {
builder.body(mEditIssue.body());
}
if (!ObjectsCompat.equals(mEditIssue.milestone(), mOriginalIssue.milestone())) {
builder.milestone(milestone != null ? milestone.number() : null);
}
if (!ObjectsCompat.equals(mEditIssue.assignees(), mOriginalIssue.assignees())) {
List<String> assignees = new ArrayList<>();
for (User assignee : mEditIssue.assignees()) {
assignees.add(assignee.login());
}
builder.assignees(assignees);
}
if (!ObjectsCompat.equals(mEditIssue.labels(), mOriginalIssue.labels())) {
List<String> labels = new ArrayList<>();
for (Label label : mEditIssue.labels()) {
labels.add(label.name());
}
builder.labels(labels);
}
Integer issueNumber = mEditIssue.number();
String errorMessage = issueNumber != null ? getString(R.string.issue_error_edit, issueNumber) : getString(R.string.issue_error_create);
IssueService service = ServiceFactory.get(IssueService.class, false);
Single<Response<Issue>> single = isInEditMode() ? service.editIssue(mRepoOwner, mRepoName, issueNumber, builder.build()) : service.createIssue(mRepoOwner, mRepoName, builder.build());
single.map(ApiHelpers::throwOnFailure).compose(RxUtils.wrapForBackgroundTask(this, R.string.saving_msg, errorMessage)).subscribe(result -> {
Intent data = new Intent();
Bundle extras = new Bundle();
extras.putParcelable("issue", result);
data.putExtras(extras);
setResult(RESULT_OK, data);
finish();
}, error -> handleActionFailure("Saving issue failed", error));
}
Aggregations