Search in sources :

Example 11 with Parent

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;
}
Also used : CanvasContext(com.instructure.canvasapi2.models.CanvasContext)

Example 12 with Parent

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;
}
Also used : Course(com.instructure.canvasapi2.models.Course)

Example 13 with Parent

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;
}
Also used : Course(com.instructure.canvasapi2.models.Course)

Example 14 with Parent

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) {
        }
    });
}
Also used : NothingSelectedSpinnerAdapter(com.instructure.teacher.adapters.NothingSelectedSpinnerAdapter) CanvasContext(com.instructure.canvasapi2.models.CanvasContext) AdapterView(android.widget.AdapterView) ImageView(android.widget.ImageView) BindView(butterknife.BindView) View(android.view.View) AdapterView(android.widget.AdapterView) RecipientEditTextView(com.android.ex.chips.RecipientEditTextView) TextView(android.widget.TextView) AddMessageView(com.instructure.teacher.viewinterface.AddMessageView) AttachmentView(com.instructure.pandautils.views.AttachmentView) ScrollView(android.widget.ScrollView) CanvasContextSpinnerAdapter(com.instructure.teacher.adapters.CanvasContextSpinnerAdapter)

Example 15 with 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();
}
Also used : Submission(com.instructure.canvasapi2.models.Submission) GradeableStudentSubmission(com.instructure.canvasapi2.models.GradeableStudentSubmission) ArrayList(java.util.ArrayList) Paint(android.graphics.Paint) SubmissionComment(com.instructure.canvasapi2.models.SubmissionComment)

Aggregations

TextView (android.widget.TextView)8 Course (com.instructure.canvasapi2.models.Course)8 View (android.view.View)7 CanvasContext (com.instructure.canvasapi2.models.CanvasContext)6 AdapterView (android.widget.AdapterView)5 ImageView (android.widget.ImageView)5 DiscussionEntry (com.instructure.canvasapi2.models.DiscussionEntry)5 Test (org.junit.Test)5 DiscussionTopic (com.instructure.canvasapi2.models.DiscussionTopic)4 ApiPrefs (com.instructure.canvasapi2.utils.ApiPrefs)4 Prefs (com.instructure.pandautils.utils.Prefs)4 NonNull (android.support.annotation.NonNull)3 AlertDialog (android.support.v7.app.AlertDialog)3 LinkHeaders (com.instructure.canvasapi2.utils.LinkHeaders)3 ArrayList (java.util.ArrayList)3 SuppressLint (android.annotation.SuppressLint)2 DialogInterface (android.content.DialogInterface)2 Paint (android.graphics.Paint)2 CheckedTextView (android.widget.CheckedTextView)2 ListView (android.widget.ListView)2