Skip to content

Commit 66e9a79

Browse files
Merge pull request #421 from openedx/develop
Develop to main v2.1
2 parents 1fe8ee4 + c0e1cfc commit 66e9a79

File tree

359 files changed

+4086
-2749
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

359 files changed

+4086
-2749
lines changed

.github/workflows/detekt.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Detekt
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request: { }
6+
7+
env:
8+
GRADLE_OPTS: -Dorg.gradle.daemon=false
9+
CI_GRADLE_ARG_PROPERTIES: --stacktrace
10+
11+
jobs:
12+
linting:
13+
name: Run Detekt
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- name: Checkout Repo
18+
uses: actions/checkout@v4
19+
20+
- name: Setup Java
21+
uses: actions/setup-java@v4
22+
with:
23+
distribution: 'temurin' # See 'Supported distributions' for available options
24+
java-version: '17'
25+
26+
- name: Run Detekt
27+
run: ./gradlew detektAll
28+
29+
- name: Upload report
30+
uses: github/codeql-action/upload-sarif@v3
31+
if: success() || failure()
32+
with:
33+
sarif_file: build/reports/detekt/detekt.sarif

app/src/main/AndroidManifest.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,12 @@
4848

4949
<category android:name="android.intent.category.LAUNCHER" />
5050
</intent-filter>
51+
<intent-filter>
52+
<action android:name="android.intent.action.VIEW" />
53+
<category android:name="android.intent.category.DEFAULT" />
54+
<category android:name="android.intent.category.BROWSABLE" />
55+
<data android:scheme="${applicationId}" />
56+
</intent-filter>
5157

5258
<!-- Branch URI Scheme -->
5359
<intent-filter>

app/src/main/java/org/openedx/app/AnalyticsManager.kt

Lines changed: 153 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,17 @@ import org.openedx.foundation.interfaces.Analytics
1111
import org.openedx.profile.presentation.ProfileAnalytics
1212
import org.openedx.whatsnew.presentation.WhatsNewAnalytics
1313

14-
class AnalyticsManager : AppAnalytics, AppReviewAnalytics, AuthAnalytics, CoreAnalytics,
15-
CourseAnalytics, DashboardAnalytics, DiscoveryAnalytics, DiscussionAnalytics,
16-
ProfileAnalytics, WhatsNewAnalytics {
14+
class AnalyticsManager :
15+
AppAnalytics,
16+
AppReviewAnalytics,
17+
AuthAnalytics,
18+
CoreAnalytics,
19+
CourseAnalytics,
20+
DashboardAnalytics,
21+
DiscoveryAnalytics,
22+
DiscussionAnalytics,
23+
ProfileAnalytics,
24+
WhatsNewAnalytics {
1725

1826
private val analytics: MutableList<Analytics> = mutableListOf()
1927

@@ -45,17 +53,26 @@ class AnalyticsManager : AppAnalytics, AppReviewAnalytics, AuthAnalytics, CoreAn
4553
}
4654
}
4755

48-
override fun dashboardCourseClickedEvent(courseId: String, courseName: String) {
49-
logEvent(Event.DASHBOARD_COURSE_CLICKED, buildMap {
50-
put(Key.COURSE_ID.keyName, courseId)
51-
put(Key.COURSE_NAME.keyName, courseName)
52-
})
56+
override fun dashboardCourseClickedEvent(
57+
courseId: String,
58+
courseName: String
59+
) {
60+
logEvent(
61+
Event.DASHBOARD_COURSE_CLICKED,
62+
buildMap {
63+
put(Key.COURSE_ID.keyName, courseId)
64+
put(Key.COURSE_NAME.keyName, courseName)
65+
}
66+
)
5367
}
5468

5569
override fun logoutEvent(force: Boolean) {
56-
logEvent(Event.USER_LOGOUT, buildMap {
57-
put(Key.FORCE.keyName, force)
58-
})
70+
logEvent(
71+
Event.USER_LOGOUT,
72+
buildMap {
73+
put(Key.FORCE.keyName, force)
74+
}
75+
)
5976
}
6077

6178
override fun setUserIdForSession(userId: Long) {
@@ -67,104 +84,164 @@ class AnalyticsManager : AppAnalytics, AppReviewAnalytics, AuthAnalytics, CoreAn
6784
}
6885

6986
override fun discoveryCourseSearchEvent(label: String, coursesCount: Int) {
70-
logEvent(Event.DISCOVERY_COURSE_SEARCH, buildMap {
71-
put(Key.LABEL.keyName, label)
72-
put(Key.COURSE_COUNT.keyName, coursesCount)
73-
})
87+
logEvent(
88+
Event.DISCOVERY_COURSE_SEARCH,
89+
buildMap {
90+
put(Key.LABEL.keyName, label)
91+
put(Key.COURSE_COUNT.keyName, coursesCount)
92+
}
93+
)
7494
}
7595

7696
override fun discoveryCourseClickedEvent(courseId: String, courseName: String) {
77-
logEvent(Event.DISCOVERY_COURSE_CLICKED, buildMap {
78-
put(Key.COURSE_ID.keyName, courseId)
79-
put(Key.COURSE_NAME.keyName, courseName)
80-
})
97+
logEvent(
98+
Event.DISCOVERY_COURSE_CLICKED,
99+
buildMap {
100+
put(Key.COURSE_ID.keyName, courseId)
101+
put(Key.COURSE_NAME.keyName, courseName)
102+
}
103+
)
81104
}
82105

83106
override fun sequentialClickedEvent(
84-
courseId: String, courseName: String, blockId: String, blockName: String,
107+
courseId: String,
108+
courseName: String,
109+
blockId: String,
110+
blockName: String,
85111
) {
86-
logEvent(Event.SEQUENTIAL_CLICKED, buildMap {
87-
put(Key.COURSE_ID.keyName, courseId)
88-
put(Key.COURSE_NAME.keyName, courseName)
89-
put(Key.BLOCK_ID.keyName, blockId)
90-
put(Key.BLOCK_NAME.keyName, blockName)
91-
})
112+
logEvent(
113+
Event.SEQUENTIAL_CLICKED,
114+
buildMap {
115+
put(Key.COURSE_ID.keyName, courseId)
116+
put(Key.COURSE_NAME.keyName, courseName)
117+
put(Key.BLOCK_ID.keyName, blockId)
118+
put(Key.BLOCK_NAME.keyName, blockName)
119+
}
120+
)
92121
}
93122

94123
override fun nextBlockClickedEvent(
95-
courseId: String, courseName: String, blockId: String, blockName: String,
124+
courseId: String,
125+
courseName: String,
126+
blockId: String,
127+
blockName: String,
96128
) {
97-
logEvent(Event.NEXT_BLOCK_CLICKED, buildMap {
98-
put(Key.COURSE_ID.keyName, courseId)
99-
put(Key.COURSE_NAME.keyName, courseName)
100-
put(Key.BLOCK_ID.keyName, blockId)
101-
put(Key.BLOCK_NAME.keyName, blockName)
102-
})
129+
logEvent(
130+
Event.NEXT_BLOCK_CLICKED,
131+
buildMap {
132+
put(Key.COURSE_ID.keyName, courseId)
133+
put(Key.COURSE_NAME.keyName, courseName)
134+
put(Key.BLOCK_ID.keyName, blockId)
135+
put(Key.BLOCK_NAME.keyName, blockName)
136+
}
137+
)
103138
}
104139

105140
override fun prevBlockClickedEvent(
106-
courseId: String, courseName: String, blockId: String, blockName: String,
141+
courseId: String,
142+
courseName: String,
143+
blockId: String,
144+
blockName: String,
107145
) {
108-
logEvent(Event.PREV_BLOCK_CLICKED, buildMap {
109-
put(Key.COURSE_ID.keyName, courseId)
110-
put(Key.COURSE_NAME.keyName, courseName)
111-
put(Key.BLOCK_ID.keyName, blockId)
112-
put(Key.BLOCK_NAME.keyName, blockName)
113-
})
146+
logEvent(
147+
Event.PREV_BLOCK_CLICKED,
148+
buildMap {
149+
put(Key.COURSE_ID.keyName, courseId)
150+
put(Key.COURSE_NAME.keyName, courseName)
151+
put(Key.BLOCK_ID.keyName, blockId)
152+
put(Key.BLOCK_NAME.keyName, blockName)
153+
}
154+
)
114155
}
115156

116157
override fun finishVerticalClickedEvent(
117-
courseId: String, courseName: String, blockId: String, blockName: String,
158+
courseId: String,
159+
courseName: String,
160+
blockId: String,
161+
blockName: String,
118162
) {
119-
logEvent(Event.FINISH_VERTICAL_CLICKED, buildMap {
120-
put(Key.COURSE_ID.keyName, courseId)
121-
put(Key.COURSE_NAME.keyName, courseName)
122-
put(Key.BLOCK_ID.keyName, blockId)
123-
put(Key.BLOCK_NAME.keyName, blockName)
124-
})
163+
logEvent(
164+
Event.FINISH_VERTICAL_CLICKED,
165+
buildMap {
166+
put(Key.COURSE_ID.keyName, courseId)
167+
put(Key.COURSE_NAME.keyName, courseName)
168+
put(Key.BLOCK_ID.keyName, blockId)
169+
put(Key.BLOCK_NAME.keyName, blockName)
170+
}
171+
)
125172
}
126173

127174
override fun finishVerticalNextClickedEvent(
128-
courseId: String, courseName: String, blockId: String, blockName: String,
175+
courseId: String,
176+
courseName: String,
177+
blockId: String,
178+
blockName: String,
129179
) {
130-
logEvent(Event.FINISH_VERTICAL_NEXT_CLICKED, buildMap {
131-
put(Key.COURSE_ID.keyName, courseId)
132-
put(Key.COURSE_NAME.keyName, courseName)
133-
put(Key.BLOCK_ID.keyName, blockId)
134-
put(Key.BLOCK_NAME.keyName, blockName)
135-
})
180+
logEvent(
181+
Event.FINISH_VERTICAL_NEXT_CLICKED,
182+
buildMap {
183+
put(Key.COURSE_ID.keyName, courseId)
184+
put(Key.COURSE_NAME.keyName, courseName)
185+
put(Key.BLOCK_ID.keyName, blockId)
186+
put(Key.BLOCK_NAME.keyName, blockName)
187+
}
188+
)
136189
}
137190

138-
override fun finishVerticalBackClickedEvent(courseId: String, courseName: String) {
139-
logEvent(Event.FINISH_VERTICAL_BACK_CLICKED, buildMap {
140-
put(Key.COURSE_ID.keyName, courseId)
141-
put(Key.COURSE_NAME.keyName, courseName)
142-
})
191+
override fun finishVerticalBackClickedEvent(
192+
courseId: String,
193+
courseName: String
194+
) {
195+
logEvent(
196+
Event.FINISH_VERTICAL_BACK_CLICKED,
197+
buildMap {
198+
put(Key.COURSE_ID.keyName, courseId)
199+
put(Key.COURSE_NAME.keyName, courseName)
200+
}
201+
)
143202
}
144203

145-
override fun discussionAllPostsClickedEvent(courseId: String, courseName: String) {
146-
logEvent(Event.DISCUSSION_ALL_POSTS_CLICKED, buildMap {
147-
put(Key.COURSE_ID.keyName, courseId)
148-
put(Key.COURSE_NAME.keyName, courseName)
149-
})
204+
override fun discussionAllPostsClickedEvent(
205+
courseId: String,
206+
courseName: String
207+
) {
208+
logEvent(
209+
Event.DISCUSSION_ALL_POSTS_CLICKED,
210+
buildMap {
211+
put(Key.COURSE_ID.keyName, courseId)
212+
put(Key.COURSE_NAME.keyName, courseName)
213+
}
214+
)
150215
}
151216

152-
override fun discussionFollowingClickedEvent(courseId: String, courseName: String) {
153-
logEvent(Event.DISCUSSION_FOLLOWING_CLICKED, buildMap {
154-
put(Key.COURSE_ID.keyName, courseId)
155-
put(Key.COURSE_NAME.keyName, courseName)
156-
})
217+
override fun discussionFollowingClickedEvent(
218+
courseId: String,
219+
courseName: String
220+
) {
221+
logEvent(
222+
Event.DISCUSSION_FOLLOWING_CLICKED,
223+
buildMap {
224+
put(Key.COURSE_ID.keyName, courseId)
225+
put(Key.COURSE_NAME.keyName, courseName)
226+
}
227+
)
157228
}
158229

159230
override fun discussionTopicClickedEvent(
160-
courseId: String, courseName: String, topicId: String, topicName: String,
231+
courseId: String,
232+
courseName: String,
233+
topicId: String,
234+
topicName: String,
161235
) {
162-
logEvent(Event.DISCUSSION_TOPIC_CLICKED, buildMap {
163-
put(Key.COURSE_ID.keyName, courseId)
164-
put(Key.COURSE_NAME.keyName, courseName)
165-
put(Key.TOPIC_ID.keyName, topicId)
166-
put(Key.TOPIC_NAME.keyName, topicName)
167-
})
236+
logEvent(
237+
Event.DISCUSSION_TOPIC_CLICKED,
238+
buildMap {
239+
put(Key.COURSE_ID.keyName, courseId)
240+
put(Key.COURSE_NAME.keyName, courseName)
241+
put(Key.TOPIC_ID.keyName, topicId)
242+
put(Key.TOPIC_NAME.keyName, topicName)
243+
}
244+
)
168245
}
169246
}
170247

0 commit comments

Comments
 (0)