Skip to content

Commit c3bbf78

Browse files
[MBL-19553][Student] Android Student ToDo list QA fixes and test coverage
refs: MBL-19553 affects: Student release note: none
1 parent 9f41e62 commit c3bbf78

File tree

13 files changed

+898
-67
lines changed

13 files changed

+898
-67
lines changed

apps/student/src/main/java/com/instructure/student/activity/CallbackActivity.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ import com.instructure.canvasapi2.utils.Logger
4747
import com.instructure.canvasapi2.utils.RemoteConfigParam
4848
import com.instructure.canvasapi2.utils.RemoteConfigUtils
4949
import com.instructure.canvasapi2.utils.depaginate
50+
import com.instructure.canvasapi2.utils.isInvited
5051
import com.instructure.canvasapi2.utils.pageview.PandataInfo
5152
import com.instructure.canvasapi2.utils.pageview.PandataManager
5253
import com.instructure.canvasapi2.utils.toApiString
@@ -56,7 +57,6 @@ import com.instructure.canvasapi2.utils.weave.catch
5657
import com.instructure.canvasapi2.utils.weave.tryWeave
5758
import com.instructure.pandautils.dialogs.RatingDialog
5859
import com.instructure.pandautils.features.inbox.list.OnUnreadCountInvalidated
59-
import com.instructure.pandautils.features.todolist.filter.DateRangeSelection
6060
import com.instructure.pandautils.room.appdatabase.daos.ToDoFilterDao
6161
import com.instructure.pandautils.room.appdatabase.entities.ToDoFilterEntity
6262
import com.instructure.pandautils.utils.AppType
@@ -81,7 +81,6 @@ import retrofit2.Call
8181
import retrofit2.Response
8282
import sdk.pendo.io.Pendo
8383
import javax.inject.Inject
84-
import kotlin.collections.filter
8584

8685
@AndroidEntryPoint
8786
abstract class CallbackActivity : ParentActivity(), OnUnreadCountInvalidated, NotificationListFragment.OnNotificationCountInvalidated {
@@ -256,11 +255,11 @@ abstract class CallbackActivity : ParentActivity(), OnUnreadCountInvalidated, No
256255
}
257256

258257
val filteredCourses = if (todoFilters.favoriteCourses) {
259-
val restParams = RestParams(isForceReadFromNetwork = false)
260-
val courses = courseApi.getFavoriteCourses(restParams).depaginate { nextUrl ->
258+
val restParams = RestParams(isForceReadFromNetwork = true)
259+
val allCourses = courseApi.getFirstPageCourses(restParams).depaginate { nextUrl ->
261260
courseApi.next(nextUrl, restParams)
262261
}
263-
courses.dataOrNull ?: emptyList()
262+
allCourses.dataOrNull?.filter { !it.accessRestrictedByDate && !it.isInvited() }.orEmpty()
264263
} else {
265264
emptyList()
266265
}

apps/student/src/main/java/com/instructure/student/mobius/common/ui/SubmissionWorker.kt

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,28 +52,31 @@ import com.instructure.canvasapi2.utils.ApiPrefs
5252
import com.instructure.canvasapi2.utils.DataResult
5353
import com.instructure.canvasapi2.utils.FileUtils
5454
import com.instructure.canvasapi2.utils.ProgressRequestUpdateListener
55+
import com.instructure.pandautils.features.calendar.CalendarSharedEvents
56+
import com.instructure.pandautils.features.calendar.SharedCalendarAction
5557
import com.instructure.pandautils.features.submission.SubmissionWorkerAction
5658
import com.instructure.pandautils.models.PushNotification
59+
import com.instructure.pandautils.room.studentdb.entities.CreateFileSubmissionEntity
60+
import com.instructure.pandautils.room.studentdb.entities.CreatePendingSubmissionCommentEntity
61+
import com.instructure.pandautils.room.studentdb.entities.CreateSubmissionEntity
62+
import com.instructure.pandautils.room.studentdb.entities.daos.CreateFileSubmissionDao
63+
import com.instructure.pandautils.room.studentdb.entities.daos.CreatePendingSubmissionCommentDao
64+
import com.instructure.pandautils.room.studentdb.entities.daos.CreateSubmissionCommentFileDao
65+
import com.instructure.pandautils.room.studentdb.entities.daos.CreateSubmissionDao
5766
import com.instructure.pandautils.utils.Const
5867
import com.instructure.pandautils.utils.FileUploadUtils
5968
import com.instructure.pandautils.utils.NotoriousUploader
69+
import com.instructure.pandautils.utils.orDefault
6070
import com.instructure.student.R
6171
import com.instructure.student.activity.NavigationActivity
6272
import com.instructure.student.events.ShowConfettiEvent
6373
import com.instructure.student.mobius.assignmentDetails.submissionDetails.SubmissionDetailsSharedEvent
6474
import com.instructure.student.mobius.common.FlowSource
6575
import com.instructure.student.mobius.common.trySend
66-
import com.instructure.pandautils.room.studentdb.entities.CreateFileSubmissionEntity
67-
import com.instructure.pandautils.room.studentdb.entities.CreatePendingSubmissionCommentEntity
68-
import com.instructure.pandautils.room.studentdb.entities.CreateSubmissionEntity
69-
import com.instructure.pandautils.room.studentdb.entities.daos.CreateFileSubmissionDao
70-
import com.instructure.pandautils.room.studentdb.entities.daos.CreatePendingSubmissionCommentDao
71-
import com.instructure.pandautils.room.studentdb.entities.daos.CreateSubmissionCommentFileDao
72-
import com.instructure.pandautils.room.studentdb.entities.daos.CreateSubmissionDao
73-
import com.instructure.pandautils.utils.orDefault
7476
import dagger.assisted.Assisted
7577
import dagger.assisted.AssistedInject
7678
import kotlinx.coroutines.Dispatchers
79+
import kotlinx.coroutines.coroutineScope
7780
import kotlinx.coroutines.runBlocking
7881
import kotlinx.coroutines.withContext
7982
import org.greenrobot.eventbus.EventBus
@@ -96,7 +99,8 @@ class SubmissionWorker @AssistedInject constructor(
9699
private val notoriousUploader: NotoriousUploader,
97100
private val fileUploadManager: FileUploadManager,
98101
private val groupManager: GroupManager,
99-
private val analytics: Analytics
102+
private val analytics: Analytics,
103+
private val calendarSharedEvents: CalendarSharedEvents
100104
) : CoroutineWorker(context, workerParameters) {
101105

102106
private lateinit var notificationBuilder: NotificationCompat.Builder
@@ -244,6 +248,14 @@ class SubmissionWorker @AssistedInject constructor(
244248
submission,
245249
mediaSubmissionResult.dataOrThrow.late
246250
)
251+
252+
coroutineScope {
253+
calendarSharedEvents.sendEvent(
254+
this,
255+
SharedCalendarAction.RefreshToDoList
256+
)
257+
}
258+
247259
Result.success()
248260
} ?: run {
249261
createSubmissionDao.setSubmissionError(true, submission.id)
@@ -295,6 +307,14 @@ class SubmissionWorker @AssistedInject constructor(
295307
return result.dataOrNull?.let {
296308
deleteSubmissionsForAssignment(submission.assignmentId)
297309
showCompleteNotification(context, submission, result.dataOrThrow.late)
310+
311+
coroutineScope {
312+
calendarSharedEvents.sendEvent(
313+
this,
314+
SharedCalendarAction.RefreshToDoList
315+
)
316+
}
317+
298318
Result.success()
299319
} ?: run {
300320
createSubmissionDao.setSubmissionError(true, submission.id)
@@ -656,6 +676,13 @@ class SubmissionWorker @AssistedInject constructor(
656676
}
657677
}
658678

679+
coroutineScope {
680+
calendarSharedEvents.sendEvent(
681+
this,
682+
SharedCalendarAction.RefreshToDoList
683+
)
684+
}
685+
659686
Result.success()
660687
} ?: run {
661688
createSubmissionDao.setSubmissionError(true, submission.id)

0 commit comments

Comments
 (0)