diff --git a/apps/student/src/main/java/com/instructure/student/mobius/syllabus/SyllabusPresenter.kt b/apps/student/src/main/java/com/instructure/student/mobius/syllabus/SyllabusPresenter.kt index 99c20cf81c..a9a54e15d1 100644 --- a/apps/student/src/main/java/com/instructure/student/mobius/syllabus/SyllabusPresenter.kt +++ b/apps/student/src/main/java/com/instructure/student/mobius/syllabus/SyllabusPresenter.kt @@ -93,6 +93,8 @@ object SyllabusPresenter : Presenter { private fun getAssignmentIcon(assignment: Assignment) = when { assignment.getSubmissionTypes().contains(Assignment.SubmissionType.ONLINE_QUIZ) -> com.instructure.student.R.drawable.ic_quiz + assignment.getSubmissionTypes().contains(Assignment.SubmissionType.EXTERNAL_TOOL) && + assignment.externalToolAttributes?.url?.contains("quiz-lti") == true -> com.instructure.student.R.drawable.ic_quiz assignment.getSubmissionTypes().contains(Assignment.SubmissionType.DISCUSSION_TOPIC) -> com.instructure.student.R.drawable.ic_discussion else -> com.instructure.student.R.drawable.ic_assignment } diff --git a/apps/teacher/src/main/java/com/instructure/teacher/features/syllabus/SyllabusPresenter.kt b/apps/teacher/src/main/java/com/instructure/teacher/features/syllabus/SyllabusPresenter.kt index 4dedba6a66..fe830a39b5 100644 --- a/apps/teacher/src/main/java/com/instructure/teacher/features/syllabus/SyllabusPresenter.kt +++ b/apps/teacher/src/main/java/com/instructure/teacher/features/syllabus/SyllabusPresenter.kt @@ -93,6 +93,8 @@ class SyllabusPresenter : Presenter { private fun getAssignmentIcon(assignment: Assignment): Int { return when { assignment.getSubmissionTypes().contains(Assignment.SubmissionType.ONLINE_QUIZ) -> R.drawable.ic_quiz + assignment.getSubmissionTypes().contains(Assignment.SubmissionType.EXTERNAL_TOOL) && + assignment.externalToolAttributes?.url?.contains("quiz-lti") == true -> R.drawable.ic_quiz assignment.getSubmissionTypes().contains(Assignment.SubmissionType.DISCUSSION_TOPIC) -> R.drawable.ic_discussion else -> R.drawable.ic_assignment } diff --git a/libs/pandautils/src/main/java/com/instructure/pandautils/utils/ScheduleItemExtensions.kt b/libs/pandautils/src/main/java/com/instructure/pandautils/utils/ScheduleItemExtensions.kt index fc3b1ff5bb..1ca306584a 100644 --- a/libs/pandautils/src/main/java/com/instructure/pandautils/utils/ScheduleItemExtensions.kt +++ b/libs/pandautils/src/main/java/com/instructure/pandautils/utils/ScheduleItemExtensions.kt @@ -26,10 +26,16 @@ import java.util.Date val ScheduleItem.iconRes: Int get() { + val isClassicQuiz = this.assignment?.getSubmissionTypes()?.contains(SubmissionType.ONLINE_QUIZ).orDefault() + val isNewQuiz = this.assignment?.getSubmissionTypes()?.contains(SubmissionType.EXTERNAL_TOOL).orDefault() && + this.assignment?.externalToolAttributes?.url?.contains("quiz-lti").orDefault() + return when { this.type == "event" -> R.drawable.ic_calendar + isClassicQuiz && this.assignment?.isLocked.orDefault() -> R.drawable.ic_lock // For classic quizzes, use isLocked instead of lockedForUser (classic quizzes always return lockedForUser=true from API) + isClassicQuiz -> R.drawable.ic_quiz this.assignment?.lockedForUser.orDefault() -> R.drawable.ic_lock - this.assignment?.getSubmissionTypes()?.contains(SubmissionType.ONLINE_QUIZ).orDefault() -> R.drawable.ic_quiz + isNewQuiz -> R.drawable.ic_quiz this.assignment?.getSubmissionTypes()?.contains(SubmissionType.DISCUSSION_TOPIC).orDefault() -> R.drawable.ic_discussion else -> R.drawable.ic_assignment } @@ -37,10 +43,16 @@ val ScheduleItem.iconRes: Int val ScheduleItem.contentDescriptionRes: Int get() { + val isClassicQuiz = this.assignment?.getSubmissionTypes()?.contains(SubmissionType.ONLINE_QUIZ).orDefault() + val isNewQuiz = this.assignment?.getSubmissionTypes()?.contains(SubmissionType.EXTERNAL_TOOL).orDefault() && + this.assignment?.externalToolAttributes?.url?.contains("quiz-lti").orDefault() + return when { this.type == "event" -> R.string.a11y_summaryEventContentDescription + isClassicQuiz && this.assignment?.isLocked.orDefault() -> R.string.a11y_summaryLockedContentDescription // For classic quizzes, use isLocked instead of lockedForUser (classic quizzes always return lockedForUser=true from API) + isClassicQuiz -> R.string.a11y_summaryQuizContentDescription this.assignment?.lockedForUser.orDefault() -> R.string.a11y_summaryLockedContentDescription - this.assignment?.getSubmissionTypes()?.contains(SubmissionType.ONLINE_QUIZ).orDefault() -> R.string.a11y_summaryQuizContentDescription + isNewQuiz -> R.string.a11y_summaryQuizContentDescription this.assignment?.getSubmissionTypes()?.contains(SubmissionType.DISCUSSION_TOPIC).orDefault() -> R.string.a11y_summaryDiscussionContentDescription else -> R.string.a11y_summaryAssignmentContentDescription }