use of com.meisolsson.githubsdk.model.User in project gh4a by slapperwan.
the class IssueEditActivity method showAssigneesDialog.
private void showAssigneesDialog() {
if (mAllAssignee == null) {
loadPotentialAssignees();
} else {
final String[] assigneeNames = new String[mAllAssignee.size()];
final boolean[] selection = new boolean[mAllAssignee.size()];
final List<User> oldAssigneeList = mEditIssue.assignees() != null ? mEditIssue.assignees() : new ArrayList<>();
List<String> assigneeLogins = new ArrayList<>();
for (User assignee : oldAssigneeList) {
assigneeLogins.add(assignee.login());
}
for (int i = 0; i < mAllAssignee.size(); i++) {
String login = mAllAssignee.get(i).login();
assigneeNames[i] = login;
selection[i] = assigneeLogins.contains(login);
}
DialogInterface.OnMultiChoiceClickListener selectCb = (dialogInterface, which, isChecked) -> selection[which] = isChecked;
DialogInterface.OnClickListener okCb = (dialog, which) -> {
List<User> newAssigneeList = new ArrayList<>();
for (int i = 0; i < selection.length; i++) {
if (selection[i]) {
newAssigneeList.add(mAllAssignee.get(i));
}
}
mEditIssue = mEditIssue.toBuilder().assignees(newAssigneeList).build();
updateOptionViews();
dialog.dismiss();
};
new AlertDialog.Builder(this).setCancelable(true).setTitle(R.string.issue_assignee_hint).setMultiChoiceItems(assigneeNames, selection, selectCb).setPositiveButton(R.string.ok, okCb).setNegativeButton(R.string.cancel, null).show();
}
}
use of com.meisolsson.githubsdk.model.User in project gh4a by slapperwan.
the class IssueEditActivity method updateOptionViews.
private void updateOptionViews() {
if (mEditIssue.milestone() != null) {
mSelectedMilestoneView.setText(mEditIssue.milestone().title());
} else {
mSelectedMilestoneView.setText(R.string.issue_clear_milestone);
}
List<User> assignees = mEditIssue.assignees();
LayoutInflater inflater = getLayoutInflater();
mSelectedAssigneeContainer.removeAllViews();
if (assignees != null && !assignees.isEmpty()) {
for (User assignee : assignees) {
View row = inflater.inflate(R.layout.row_assignee, mSelectedAssigneeContainer, false);
TextView tvAssignee = row.findViewById(R.id.tv_assignee);
tvAssignee.setText(ApiHelpers.getUserLogin(this, assignee));
ImageView ivAssignee = row.findViewById(R.id.iv_assignee);
AvatarHandler.assignAvatar(ivAssignee, assignee);
mSelectedAssigneeContainer.addView(row);
}
} else {
View row = inflater.inflate(R.layout.row_assignee, mSelectedAssigneeContainer, false);
TextView tvAssignee = row.findViewById(R.id.tv_assignee);
tvAssignee.setText(R.string.issue_clear_assignee);
row.findViewById(R.id.iv_assignee).setVisibility(View.GONE);
mSelectedAssigneeContainer.addView(row);
}
List<Label> labels = mEditIssue.labels();
if (labels == null || labels.isEmpty()) {
mLabelsView.setText(R.string.issue_no_labels);
} else {
mLabelsView.setText(UiUtils.formatLabelList(this, labels));
}
}
use of com.meisolsson.githubsdk.model.User in project gh4a by slapperwan.
the class EventViewHolder method onClick.
@Override
public void onClick(View v) {
if (v.getId() == R.id.avatar_container) {
User user = (User) v.getTag();
Intent intent = UserActivity.makeIntent(mContext, user);
if (intent != null) {
mContext.startActivity(intent);
}
}
}
use of com.meisolsson.githubsdk.model.User in project gh4a by slapperwan.
the class EventViewHolder method bind.
@Override
public void bind(TimelineItem.TimelineEvent item) {
User user = item.event.assigner() != null ? item.event.assigner() : item.event.actor();
AvatarHandler.assignAvatar(mAvatarView, user);
mAvatarContainer.setTag(user);
Integer eventIconAttr = EVENT_ICONS.get(item.event.event());
if (eventIconAttr != null) {
mEventIconView.setImageResource(UiUtils.resolveDrawable(mContext, eventIconAttr));
mEventIconView.setVisibility(View.VISIBLE);
} else {
mEventIconView.setVisibility(View.GONE);
}
mMessageView.setText(formatEvent(item.event, user, mMessageView.getTypefaceValue(), mIsPullRequest));
}
use of com.meisolsson.githubsdk.model.User in project gh4a by slapperwan.
the class UserAdapter method onClick.
@Override
public void onClick(View v) {
if (v.getId() == R.id.iv_gravatar) {
User user = (User) v.getTag();
mContext.startActivity(UserActivity.makeIntent(mContext, user));
} else {
super.onClick(v);
}
}
Aggregations