use of com.instructure.canvasapi2.models.Parent in project instructure-android by instructure.
the class CanvasContextSpinnerAdapter method getDropDownView.
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
final CanvasContextViewHolder viewHolder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.canvas_context_spinner_adapter_item, parent, false);
viewHolder = new CanvasContextViewHolder();
viewHolder.title = (TextView) convertView.findViewById(R.id.title);
convertView.setTag(viewHolder);
} else {
viewHolder = (CanvasContextViewHolder) convertView.getTag();
}
CanvasContext item = mData.get(position);
if (item != null) {
viewHolder.title.setText(item.getName());
if (item.getId() == GROUP_SEPARATOR || item.getId() == COURSE_SEPARATOR) {
viewHolder.title.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14);
viewHolder.title.setTextColor(mInflater.getContext().getResources().getColor(R.color.defaultTextGray));
} else {
viewHolder.title.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16);
viewHolder.title.setTextColor(mInflater.getContext().getResources().getColor(R.color.defaultTextDark));
}
}
return convertView;
}
use of com.instructure.canvasapi2.models.Parent in project instructure-android by instructure.
the class FileUploadCoursesAdapter method getDropDownView.
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
final CourseViewHolder viewHolder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.canvas_context_spinner_adapter_item, null);
viewHolder = new CourseViewHolder();
viewHolder.title = (TextView) convertView.findViewById(R.id.title);
viewHolder.indicator = (ImageView) convertView.findViewById(R.id.icon);
convertView.setTag(viewHolder);
} else {
viewHolder = (CourseViewHolder) convertView.getTag();
}
Course item = mCourses.get(position);
if (item != null) {
viewHolder.title.setText(item.getName());
viewHolder.title.setTypeface(null, Typeface.NORMAL);
viewHolder.indicator.setVisibility(View.VISIBLE);
viewHolder.indicator.setBackgroundDrawable(BaseBinder.createIndicatorBackground(ColorKeeper.getOrGenerateColor(item)));
} else {
viewHolder.indicator.setVisibility(View.GONE);
viewHolder.title.setText("");
}
return convertView;
}
use of com.instructure.canvasapi2.models.Parent in project instructure-android by instructure.
the class FileUploadCoursesAdapter method getView.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final CourseViewHolder viewHolder;
if (convertView == null) {
Logger.d("creating view holder, getView");
convertView = mInflater.inflate(R.layout.canvas_context_spinner_adapter_item, null);
viewHolder = new CourseViewHolder();
viewHolder.title = (TextView) convertView.findViewById(R.id.title);
viewHolder.indicator = (ImageView) convertView.findViewById(R.id.icon);
convertView.setTag(viewHolder);
} else {
viewHolder = (CourseViewHolder) convertView.getTag();
}
Course item = mCourses.get(position);
if (item != null) {
viewHolder.title.setText(item.getName());
viewHolder.indicator.setVisibility(View.VISIBLE);
viewHolder.indicator.setBackgroundDrawable(BaseBinder.createIndicatorBackground(ColorKeeper.getOrGenerateColor(item)));
} else {
viewHolder.indicator.setVisibility(View.GONE);
viewHolder.title.setText("");
}
return convertView;
}
use of com.instructure.canvasapi2.models.Parent in project instructure-android by instructure.
the class AddMessageFragment method addCoursesAndGroups.
@Override
public void addCoursesAndGroups(ArrayList<Course> courses, ArrayList<Group> groups) {
final CanvasContextSpinnerAdapter adapter = CanvasContextSpinnerAdapter.newAdapterInstance(getContext(), courses, groups);
mCourseSpinner.setAdapter(new NothingSelectedSpinnerAdapter(adapter, R.layout.spinner_item_nothing_selected, getContext()));
if (mSelectedCourse != null) {
// prevent listener from firing the when selection is placed
mCourseSpinner.setOnItemSelectedListener(null);
// + 1 is for the nothingSelected position
mCourseSpinner.setSelection(adapter.getPosition(mSelectedCourse) + 1, false);
courseWasSelected();
}
mCourseSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (position != 0) {
// position zero is nothingSelected prompt
// -1 to account for nothingSelected item
CanvasContext canvasContext = adapter.getItem(position - 1);
if (mSelectedCourse == null || mSelectedCourse.getId() != canvasContext.getId()) {
mChipsTextView.removeAllRecipientEntry();
mSelectedCourse = canvasContext;
courseWasSelected();
}
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
use of com.instructure.canvasapi2.models.Parent in project instructure-android by instructure.
the class SubmissionDetailsFragment method populateAdapter.
private void populateAdapter(Submission result) {
// no connection
if (result == null) {
hasSubmissions = false;
showToast(R.string.noDataConnection);
return;
}
hasSubmissions = result.hasRealSubmission();
if (result.getGrade() != null && !result.getGrade().equals("null")) {
hasGrade = true;
grade = result.getGrade();
}
// update the parent assignment with the new submission
if (result.getSubmittedAt() != null) {
// "xml" should hold the latest submission
if (submissionDetailsFragmentCallback != null) {
submissionDetailsFragmentCallback.updateSubmissionDate(result.getSubmittedAt());
}
}
adapter.subList.clear();
// a submission history is just a submission
for (Submission submission : result.getSubmissionHistory()) {
// we don't want to include submissions that aren't actually submitted. For instance, when a comment
// is made there is a submission created, even though the submission is basically empty
// also, we don't want to include an assignment if there is no submission date or type.
// Canvas creates a dummy submission to show the grade, but if there isn't a type or a date, it's pointless to show it in the list as there is nothing to show.
boolean hasNoSubmission = submission == null || submission.getSubmittedAt() == null || submission.getSubmissionType() == null;
if (!hasNoSubmission && !"unsubmitted".equals(submission.getWorkflowState())) {
adapter.subList.add(submission);
}
}
for (int i = 0; i < result.getSubmissionComments().size(); i++) {
Submission newSub = new Submission();
ArrayList<SubmissionComment> comments = new ArrayList<SubmissionComment>();
comments.add(result.getSubmissionComments().get(i));
newSub.setSubmittedAt(result.getSubmissionComments().get(i).getCreatedAt());
newSub.setSubmissionComments(comments);
adapter.subList.add(newSub);
}
// now sort the list so comments and submissions are interleaved
Collections.sort(adapter.subList, new Comparator<Submission>() {
@Override
public int compare(Submission lhs, Submission rhs) {
if (lhs.getSubmittedAt() == null && rhs.getSubmittedAt() == null)
return 0;
if (lhs.getSubmittedAt() == null && rhs.getSubmittedAt() != null)
return -1;
if (lhs.getSubmittedAt() != null && rhs.getSubmittedAt() == null)
return 1;
return rhs.getSubmittedAt().compareTo(lhs.getSubmittedAt());
}
});
adapter.notifyDataSetChanged();
}
Aggregations