Skip to content

Commit 10ba8ab

Browse files
authored
[All] Add missing pandata events (#3629)
1 parent 0a47617 commit 10ba8ab

12 files changed

Lines changed: 66 additions & 5 deletions

File tree

apps/student/src/main/java/com/instructure/student/features/dashboard/compose/NewDashboardFragment.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import android.view.View
2222
import android.view.ViewGroup
2323
import androidx.compose.ui.platform.ComposeView
2424
import com.instructure.canvasapi2.models.CanvasContext
25+
import com.instructure.canvasapi2.utils.pageview.PageView
2526
import com.instructure.interactions.router.Route
2627
import com.instructure.pandautils.compose.CanvasTheme
2728
import com.instructure.pandautils.features.dashboard.notifications.DashboardRouter
@@ -32,6 +33,7 @@ import dagger.hilt.android.AndroidEntryPoint
3233
import javax.inject.Inject
3334

3435
//This needed to be named NewDashboardFragment because Pendo tracking would break otherwise.
36+
@PageView
3537
@AndroidEntryPoint
3638
class NewDashboardFragment : ParentFragment() {
3739

apps/student/src/main/java/com/instructure/student/features/modules/progression/StudioVideoFragment.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ import android.view.ViewGroup
2424
import androidx.compose.ui.graphics.Color
2525
import androidx.compose.ui.platform.ComposeView
2626
import com.instructure.canvasapi2.models.CanvasContext
27+
import com.instructure.canvasapi2.utils.pageview.PageView
28+
import com.instructure.canvasapi2.utils.pageview.PageViewUrl
2729
import com.instructure.interactions.router.Route
2830
import com.instructure.pandautils.compose.CanvasTheme
2931
import com.instructure.pandautils.utils.LongArg
@@ -39,6 +41,7 @@ private const val VIDEO_URI = "video_uri"
3941
private const val VIDEO_TITLE = "video_title"
4042
private const val POSTER_URI = "poster_uri"
4143

44+
@PageView
4245
@AndroidEntryPoint
4346
class StudioVideoFragment : ParentFragment() {
4447

@@ -47,6 +50,9 @@ class StudioVideoFragment : ParentFragment() {
4750
private var videoTitle: String by StringArg(key = VIDEO_TITLE)
4851
private var posterUri: String? by NullableStringArg(key = POSTER_URI)
4952

53+
@PageViewUrl
54+
fun makePageViewUrl() = videoUri
55+
5056
override fun title(): String = videoTitle
5157

5258
override fun applyTheme() {}

apps/student/src/main/java/com/instructure/student/fragment/AssignmentBasicFragment.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ import com.instructure.canvasapi2.models.CanvasContext
2727
import com.instructure.canvasapi2.models.LockInfo
2828
import com.instructure.canvasapi2.utils.ApiPrefs
2929
import com.instructure.canvasapi2.utils.DateHelper
30+
import com.instructure.canvasapi2.utils.pageview.PageView
31+
import com.instructure.canvasapi2.utils.pageview.PageViewUrl
32+
import com.instructure.canvasapi2.utils.pageview.PageViewUrlParam
3033
import com.instructure.interactions.router.Route
3134
import com.instructure.pandautils.analytics.SCREEN_VIEW_ASSIGNMENT_BASIC
3235
import com.instructure.pandautils.analytics.ScreenView
@@ -58,6 +61,7 @@ import java.util.Locale
5861
import javax.inject.Inject
5962

6063
@AndroidEntryPoint
64+
@PageView
6165
@ScreenView(SCREEN_VIEW_ASSIGNMENT_BASIC)
6266
class AssignmentBasicFragment : ParentFragment() {
6367

@@ -70,6 +74,9 @@ class AssignmentBasicFragment : ParentFragment() {
7074
private var assignment: Assignment by ParcelableArg()
7175
private var loadHtmlJob: Job? = null
7276

77+
@PageViewUrl
78+
fun makePageViewUrl() = assignment.htmlUrl.orEmpty()
79+
7380
//region Fragment Lifecycle Overrides
7481
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? =
7582
layoutInflater.inflate(R.layout.fragment_assignment_basic, container, false)

apps/student/src/main/java/com/instructure/student/mobius/elementary/ElementaryDashboardFragment.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import androidx.core.view.ViewCompat
2424
import androidx.core.view.WindowInsetsCompat
2525
import com.google.android.material.tabs.TabLayout
2626
import com.instructure.canvasapi2.models.CanvasContext
27+
import com.instructure.canvasapi2.utils.pageview.PageView
2728
import com.instructure.interactions.router.Route
2829
import com.instructure.pandautils.analytics.SCREEN_VIEW_ELEMENTARY_DASHBOARD
2930
import com.instructure.pandautils.analytics.ScreenView
@@ -42,6 +43,7 @@ import com.instructure.student.R
4243
import com.instructure.student.databinding.FragmentElementaryDashboardBinding
4344
import com.instructure.student.fragment.ParentFragment
4445

46+
@PageView
4547
@ScreenView(SCREEN_VIEW_ELEMENTARY_DASHBOARD)
4648
class ElementaryDashboardFragment : ParentFragment() {
4749

apps/teacher/src/main/java/com/instructure/teacher/adapters/StudentContextFragment.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ import com.instructure.canvasapi2.type.EnrollmentType
3535
import com.instructure.canvasapi2.utils.DateHelper
3636
import com.instructure.canvasapi2.utils.Pronouns
3737
import com.instructure.canvasapi2.utils.isValid
38+
import com.instructure.canvasapi2.utils.pageview.PageView
39+
import com.instructure.canvasapi2.utils.pageview.PageViewUrlParam
3840
import com.instructure.interactions.MasterDetailInteractions
3941
import com.instructure.interactions.router.Route
4042
import com.instructure.interactions.router.RouteContext
@@ -80,6 +82,7 @@ import org.greenrobot.eventbus.Subscribe
8082
import org.greenrobot.eventbus.ThreadMode
8183
import javax.inject.Inject
8284

85+
@PageView(url = "courses/{courseId}/users/{userId}")
8386
@AndroidEntryPoint
8487
class StudentContextFragment : PresenterFragment<StudentContextPresenter, StudentContextView>(), StudentContextView {
8588

@@ -88,8 +91,11 @@ class StudentContextFragment : PresenterFragment<StudentContextPresenter, Studen
8891

8992
private val binding by viewBinding(FragmentStudentContextBinding::bind)
9093

91-
private var mStudentId by LongArg()
92-
private var mCourseId by LongArg()
94+
@get:PageViewUrlParam("userId")
95+
var mStudentId by LongArg()
96+
@get:PageViewUrlParam("courseId")
97+
var mCourseId by LongArg()
98+
9399
private var mLaunchSubmissions by BooleanArg()
94100
private var needToForceNetwork = false
95101
private var mHasLoaded = false

apps/teacher/src/main/java/com/instructure/teacher/features/files/details/FileDetailsFragment.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ import androidx.fragment.app.Fragment
2626
import com.instructure.pandautils.base.BaseCanvasFragment
2727
import androidx.fragment.app.viewModels
2828
import com.instructure.canvasapi2.models.CanvasContext
29+
import com.instructure.canvasapi2.utils.pageview.PageView
30+
import com.instructure.canvasapi2.utils.pageview.PageViewUrl
2931
import com.instructure.canvasapi2.utils.tryOrNull
3032
import com.instructure.pandautils.binding.viewBinding
3133
import com.instructure.pandautils.utils.BooleanArg
@@ -43,12 +45,25 @@ import com.instructure.teacher.fragments.ViewUnsupportedFileFragment
4345
import dagger.hilt.android.AndroidEntryPoint
4446

4547
@AndroidEntryPoint
48+
@PageView
4649
class FileDetailsFragment : BaseCanvasFragment() {
4750

4851
private val viewModel: FileDetailsViewModel by viewModels()
4952
private val binding by viewBinding(FragmentFileDetailsBinding::bind)
5053
private var isInModulesPager: Boolean by BooleanArg(key = IS_IN_MODULES_PAGER, default = false)
5154

55+
@PageViewUrl
56+
fun makePageViewUrl(): String {
57+
val fileData = viewModel.data.value?.fileData ?: return ""
58+
return when (fileData) {
59+
is FileViewData.Pdf -> fileData.url
60+
is FileViewData.Media -> fileData.url
61+
is FileViewData.Image -> fileData.url
62+
is FileViewData.Html -> fileData.url
63+
is FileViewData.Other -> fileData.url
64+
}
65+
}
66+
5267
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
5368
return inflater.inflate(R.layout.fragment_file_details, container, false)
5469
}

apps/teacher/src/main/java/com/instructure/teacher/features/modules/list/ui/ModuleListFragment.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import androidx.lifecycle.lifecycleScope
2424
import com.instructure.canvasapi2.apis.ModuleAPI
2525
import com.instructure.canvasapi2.apis.ProgressAPI
2626
import com.instructure.canvasapi2.models.CanvasContext
27+
import com.instructure.canvasapi2.utils.pageview.PageView
2728
import com.instructure.pandautils.features.progress.ProgressPreferences
2829
import com.instructure.pandautils.room.appdatabase.daos.ModuleBulkProgressDao
2930
import com.instructure.pandautils.utils.Const
@@ -33,6 +34,7 @@ import dagger.hilt.android.AndroidEntryPoint
3334
import kotlinx.coroutines.launch
3435
import javax.inject.Inject
3536

37+
@PageView(url = "modules")
3638
@AndroidEntryPoint
3739
class ModuleListFragment : ModuleListMobiusFragment() {
3840

apps/teacher/src/main/java/com/instructure/teacher/features/modules/progression/ModuleProgressionFragment.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ import androidx.fragment.app.viewModels
2626
import androidx.viewpager.widget.ViewPager.SimpleOnPageChangeListener
2727
import com.instructure.canvasapi2.models.CanvasContext
2828
import com.instructure.canvasapi2.models.Course
29+
import com.instructure.canvasapi2.utils.pageview.PageView
30+
import com.instructure.canvasapi2.utils.pageview.PageViewUrlParam
2931
import com.instructure.interactions.router.Route
3032
import com.instructure.interactions.router.RouterParams
3133
import com.instructure.pandautils.binding.viewBinding
@@ -48,13 +50,15 @@ import com.instructure.teacher.router.RouteMatcher
4850
import dagger.hilt.android.AndroidEntryPoint
4951

5052
@AndroidEntryPoint
53+
@PageView("modules/{moduleItemId}")
5154
class ModuleProgressionFragment : BaseCanvasFragment() {
5255

5356
private val viewModel: ModuleProgressionViewModel by viewModels()
5457
private val binding by viewBinding(FragmentModuleProgressionBinding::bind)
5558

5659
private val canvasContext: CanvasContext by ParcelableArg(key = Const.CANVAS_CONTEXT)
57-
private val moduleItemId by LongArg(key = RouterParams.MODULE_ITEM_ID, default = -1L)
60+
@get:PageViewUrlParam("moduleItemId")
61+
val moduleItemId by LongArg(key = RouterParams.MODULE_ITEM_ID, default = -1L)
5862
private val assetType by StringArg(key = ASSET_TYPE)
5963
private val assetId by StringArg(key = ASSET_ID)
6064
private val route: Route by ParcelableArg(key = ROUTE)

apps/teacher/src/main/java/com/instructure/teacher/features/syllabus/edit/EditSyllabusFragment.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ import android.os.Bundle
2222
import android.view.LayoutInflater
2323
import android.view.ViewGroup
2424
import com.instructure.canvasapi2.models.Course
25+
import com.instructure.canvasapi2.utils.ApiPrefs
26+
import com.instructure.canvasapi2.utils.pageview.PageView
27+
import com.instructure.canvasapi2.utils.pageview.PageViewUrl
28+
import com.instructure.canvasapi2.utils.pageview.PageViewUrlParam
2529
import com.instructure.pandautils.analytics.SCREEN_VIEW_EDIT_SYLLABUS
2630
import com.instructure.pandautils.analytics.ScreenView
2731
import com.instructure.pandautils.interfaces.NavigationCallbacks
@@ -34,13 +38,17 @@ import com.instructure.teacher.mobius.common.ui.UpdateInit
3438

3539
private const val SUMMARY_ALLOWED = "summaryAllowed"
3640

41+
@PageView
3742
@ScreenView(SCREEN_VIEW_EDIT_SYLLABUS)
3843
class EditSyllabusFragment : MobiusFragment<EditSyllabusModel, EditSyllabusEvent, EditSyllabusEffect,
3944
EditSyllabusView, EditSyllabusViewState, FragmentEditSyllabusBinding>(), NavigationCallbacks {
4045

4146
private val course by ParcelableArg<Course>()
4247
private val summaryAllowed: Boolean by BooleanArg(key = SUMMARY_ALLOWED)
4348

49+
@PageViewUrl
50+
fun makePageViewUrl(): String = "${ApiPrefs.fullDomain}/courses/${course.id}/syllabus/edit"
51+
4452
override fun makeEffectHandler(): EffectHandler<EditSyllabusView, EditSyllabusEvent, EditSyllabusEffect> = EditSyllabusEffectHandler()
4553

4654
override fun makeUpdate(): UpdateInit<EditSyllabusModel, EditSyllabusEvent, EditSyllabusEffect> = EditSyllabusUpdate()

apps/teacher/src/main/java/com/instructure/teacher/features/syllabus/ui/SyllabusRepositoryFragment.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,14 @@ package com.instructure.teacher.features.syllabus.ui
2020
import android.os.Bundle
2121
import com.instructure.canvasapi2.models.CanvasContext
2222
import com.instructure.canvasapi2.models.Course
23+
import com.instructure.canvasapi2.utils.pageview.PageView
2324
import com.instructure.pandautils.utils.Const
2425
import com.instructure.pandautils.utils.withArgs
2526
import com.instructure.teacher.features.syllabus.SyllabusRepository
2627
import dagger.hilt.android.AndroidEntryPoint
2728
import javax.inject.Inject
2829

30+
@PageView(url = "assignments/syllabus")
2931
@AndroidEntryPoint
3032
class SyllabusRepositoryFragment : SyllabusFragment() {
3133

0 commit comments

Comments
 (0)