Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ import com.instructure.canvasapi2.utils.Logger
import com.instructure.canvasapi2.utils.RemoteConfigParam
import com.instructure.canvasapi2.utils.RemoteConfigUtils
import com.instructure.canvasapi2.utils.depaginate
import com.instructure.canvasapi2.utils.isInvited
import com.instructure.canvasapi2.utils.pageview.PandataInfo
import com.instructure.canvasapi2.utils.pageview.PandataManager
import com.instructure.canvasapi2.utils.toApiString
Expand All @@ -56,7 +57,6 @@ import com.instructure.canvasapi2.utils.weave.catch
import com.instructure.canvasapi2.utils.weave.tryWeave
import com.instructure.pandautils.dialogs.RatingDialog
import com.instructure.pandautils.features.inbox.list.OnUnreadCountInvalidated
import com.instructure.pandautils.features.todolist.filter.DateRangeSelection
import com.instructure.pandautils.room.appdatabase.daos.ToDoFilterDao
import com.instructure.pandautils.room.appdatabase.entities.ToDoFilterEntity
import com.instructure.pandautils.utils.AppType
Expand All @@ -81,7 +81,6 @@ import retrofit2.Call
import retrofit2.Response
import sdk.pendo.io.Pendo
import javax.inject.Inject
import kotlin.collections.filter

@AndroidEntryPoint
abstract class CallbackActivity : ParentActivity(), OnUnreadCountInvalidated, NotificationListFragment.OnNotificationCountInvalidated {
Expand Down Expand Up @@ -256,11 +255,11 @@ abstract class CallbackActivity : ParentActivity(), OnUnreadCountInvalidated, No
}

val filteredCourses = if (todoFilters.favoriteCourses) {
val restParams = RestParams(isForceReadFromNetwork = false)
val courses = courseApi.getFavoriteCourses(restParams).depaginate { nextUrl ->
val restParams = RestParams(isForceReadFromNetwork = true)
val allCourses = courseApi.getFirstPageCourses(restParams).depaginate { nextUrl ->
courseApi.next(nextUrl, restParams)
}
courses.dataOrNull ?: emptyList()
allCourses.dataOrNull?.filter { !it.accessRestrictedByDate && !it.isInvited() }.orEmpty()
} else {
emptyList()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,28 +52,31 @@ import com.instructure.canvasapi2.utils.ApiPrefs
import com.instructure.canvasapi2.utils.DataResult
import com.instructure.canvasapi2.utils.FileUtils
import com.instructure.canvasapi2.utils.ProgressRequestUpdateListener
import com.instructure.pandautils.features.calendar.CalendarSharedEvents
import com.instructure.pandautils.features.calendar.SharedCalendarAction
import com.instructure.pandautils.features.submission.SubmissionWorkerAction
import com.instructure.pandautils.models.PushNotification
import com.instructure.pandautils.room.studentdb.entities.CreateFileSubmissionEntity
import com.instructure.pandautils.room.studentdb.entities.CreatePendingSubmissionCommentEntity
import com.instructure.pandautils.room.studentdb.entities.CreateSubmissionEntity
import com.instructure.pandautils.room.studentdb.entities.daos.CreateFileSubmissionDao
import com.instructure.pandautils.room.studentdb.entities.daos.CreatePendingSubmissionCommentDao
import com.instructure.pandautils.room.studentdb.entities.daos.CreateSubmissionCommentFileDao
import com.instructure.pandautils.room.studentdb.entities.daos.CreateSubmissionDao
import com.instructure.pandautils.utils.Const
import com.instructure.pandautils.utils.FileUploadUtils
import com.instructure.pandautils.utils.NotoriousUploader
import com.instructure.pandautils.utils.orDefault
import com.instructure.student.R
import com.instructure.student.activity.NavigationActivity
import com.instructure.student.events.ShowConfettiEvent
import com.instructure.student.mobius.assignmentDetails.submissionDetails.SubmissionDetailsSharedEvent
import com.instructure.student.mobius.common.FlowSource
import com.instructure.student.mobius.common.trySend
import com.instructure.pandautils.room.studentdb.entities.CreateFileSubmissionEntity
import com.instructure.pandautils.room.studentdb.entities.CreatePendingSubmissionCommentEntity
import com.instructure.pandautils.room.studentdb.entities.CreateSubmissionEntity
import com.instructure.pandautils.room.studentdb.entities.daos.CreateFileSubmissionDao
import com.instructure.pandautils.room.studentdb.entities.daos.CreatePendingSubmissionCommentDao
import com.instructure.pandautils.room.studentdb.entities.daos.CreateSubmissionCommentFileDao
import com.instructure.pandautils.room.studentdb.entities.daos.CreateSubmissionDao
import com.instructure.pandautils.utils.orDefault
import dagger.assisted.Assisted
import dagger.assisted.AssistedInject
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
import org.greenrobot.eventbus.EventBus
Expand All @@ -96,7 +99,8 @@ class SubmissionWorker @AssistedInject constructor(
private val notoriousUploader: NotoriousUploader,
private val fileUploadManager: FileUploadManager,
private val groupManager: GroupManager,
private val analytics: Analytics
private val analytics: Analytics,
private val calendarSharedEvents: CalendarSharedEvents
) : CoroutineWorker(context, workerParameters) {

private lateinit var notificationBuilder: NotificationCompat.Builder
Expand Down Expand Up @@ -244,6 +248,14 @@ class SubmissionWorker @AssistedInject constructor(
submission,
mediaSubmissionResult.dataOrThrow.late
)

coroutineScope {
calendarSharedEvents.sendEvent(
this,
SharedCalendarAction.RefreshToDoList
)
}

Result.success()
} ?: run {
createSubmissionDao.setSubmissionError(true, submission.id)
Expand Down Expand Up @@ -295,6 +307,14 @@ class SubmissionWorker @AssistedInject constructor(
return result.dataOrNull?.let {
deleteSubmissionsForAssignment(submission.assignmentId)
showCompleteNotification(context, submission, result.dataOrThrow.late)

coroutineScope {
calendarSharedEvents.sendEvent(
this,
SharedCalendarAction.RefreshToDoList
)
}

Result.success()
} ?: run {
createSubmissionDao.setSubmissionError(true, submission.id)
Expand Down Expand Up @@ -656,6 +676,13 @@ class SubmissionWorker @AssistedInject constructor(
}
}

coroutineScope {
calendarSharedEvents.sendEvent(
this,
SharedCalendarAction.RefreshToDoList
)
}

Result.success()
} ?: run {
createSubmissionDao.setSubmissionError(true, submission.id)
Expand Down
Loading
Loading