Skip to content

Commit 71ccc6b

Browse files
authored
[MBL-19571][All] Dependency update (#3446)
refs: MBL-19571 affects: Student, Teacher, Parent release note: none * Tooling and language updates * Android and Firebase dependencies. * Other dependencies. * PSPDFKit * Removed failing test. * Fixed failing test. * Revert PSPDFKit update
1 parent 449e87e commit 71ccc6b

File tree

6 files changed

+52
-58
lines changed

6 files changed

+52
-58
lines changed

apps/buildSrc/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ repositories {
1919
mavenCentral()
2020
}
2121

22-
val agpVersion= "8.6.1"
23-
val kotlinVersion = "2.0.21"
22+
val agpVersion= "8.13.2"
23+
val kotlinVersion = "2.2.21"
2424

2525
dependencies {
2626
implementation("com.android.tools.build:gradle:$agpVersion")

apps/buildSrc/src/main/java/GlobalDependencies.kt

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,23 @@
22

33
object Versions {
44
/* SDK Versions */
5-
const val COMPILE_SDK = 35
5+
const val COMPILE_SDK = 36
66
const val MIN_SDK = 28
77
const val TARGET_SDK = 35
88

99
/* Build/tooling */
10-
const val ANDROID_GRADLE_TOOLS = "8.6.1"
10+
const val ANDROID_GRADLE_TOOLS = "8.13.2"
1111
const val BUILD_TOOLS = "35.0.0"
1212

1313
/* Testing */
1414
const val JUNIT = "4.13.2"
15-
const val ROBOLECTRIC = "4.13"
15+
const val ROBOLECTRIC = "4.16"
1616
const val JACOCO_ANDROID = "0.1.5"
1717

1818
/* Kotlin */
19-
const val KOTLIN = "2.0.21"
20-
const val KOTLIN_COROUTINES = "1.9.0"
21-
const val KSP = "2.0.21-1.0.27"
19+
const val KOTLIN = "2.2.21"
20+
const val KOTLIN_COROUTINES = "1.10.2"
21+
const val KSP = "2.2.21-2.0.4"
2222

2323
/* Google, Play Services */
2424
const val GOOGLE_SERVICES = "4.4.3"
@@ -30,18 +30,18 @@ object Versions {
3030
const val MOBIUS = "1.2.1"
3131
const val HILT = "2.57.2"
3232
const val HILT_ANDROIDX = "1.3.0"
33-
const val LIFECYCLE = "2.9.4"
33+
const val LIFECYCLE = "2.10.0"
3434
const val FRAGMENT = "1.8.9"
35-
const val WORK_MANAGER = "2.10.5"
35+
const val WORK_MANAGER = "2.11.0"
3636
const val GLIDE_VERSION = "5.0.5"
37-
const val RETROFIT = "2.11.0"
37+
const val RETROFIT = "3.0.0"
3838
const val OKHTTP = "4.12.0"
39-
const val ROOM = "2.7.0"
39+
const val ROOM = "2.8.4"
4040
const val HAMCREST = "3.0"
41-
const val NAVIGATION = "2.9.5"
41+
const val NAVIGATION = "2.9.6"
4242
const val MEDIA3 = "1.8.0"
43-
const val DATASTORE = "1.1.7"
44-
const val LOTTIE = "6.6.6"
43+
const val DATASTORE = "1.2.0"
44+
const val LOTTIE = "6.7.0"
4545
const val ENCRYPTED_SHARED_PREFERENCES = "1.1.0"
4646
const val JAVA_JWT = "4.5.0"
4747
const val GLANCE = "1.1.1"
@@ -61,31 +61,30 @@ object Libs {
6161
const val APOLLO_HTTP_CACHE = "com.apollographql.apollo:apollo-http-cache:${Versions.APOLLO}"
6262

6363
/* Androidx libraries */
64-
const val ANDROIDX_ANNOTATION = "androidx.annotation:annotation:1.9.0"
65-
const val ANDROIDX_APPCOMPAT = "androidx.appcompat:appcompat:1.7.0"
66-
const val ANDROIDX_BROWSER = "androidx.browser:browser:1.8.0"
64+
const val ANDROIDX_ANNOTATION = "androidx.annotation:annotation:1.9.1"
65+
const val ANDROIDX_APPCOMPAT = "androidx.appcompat:appcompat:1.7.1"
66+
const val ANDROIDX_BROWSER = "androidx.browser:browser:1.9.0"
6767
const val ANDROIDX_CARDVIEW = "androidx.cardview:cardview:1.0.0"
68-
const val ANDROIDX_CONSTRAINT_LAYOUT = "androidx.constraintlayout:constraintlayout:2.2.0"
69-
const val ANDROIDX_EXIF = "androidx.exifinterface:exifinterface:1.3.7"
68+
const val ANDROIDX_CONSTRAINT_LAYOUT = "androidx.constraintlayout:constraintlayout:2.2.1"
69+
const val ANDROIDX_EXIF = "androidx.exifinterface:exifinterface:1.4.2"
7070
const val ANDROIDX_FRAGMENT = "androidx.fragment:fragment:${Versions.FRAGMENT}"
7171
const val ANDROIDX_FRAGMENT_KTX = "androidx.fragment:fragment-ktx:${Versions.FRAGMENT}"
7272
const val ANDROIDX_PALETTE = "androidx.palette:palette:1.0.0"
7373
const val ANDROIDX_PERCENT = "androidx.percentlayout:percentlayout:1.0.0"
7474
const val ANDROIDX_RECYCLERVIEW = "androidx.recyclerview:recyclerview:1.4.0"
7575
const val ANDROIDX_VECTOR = "androidx.vectordrawable:vectordrawable:1.2.0"
76-
const val ANDROIDX_SWIPE_REFRESH_LAYOUT = "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
76+
const val ANDROIDX_SWIPE_REFRESH_LAYOUT = "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0"
7777
const val ANDROIDX_CORE_TESTING = "androidx.arch.core:core-testing:2.2.0"
7878
const val ANDROIDX_WORK_MANAGER = "androidx.work:work-runtime:${Versions.WORK_MANAGER}"
7979
const val ANDROIDX_WORK_MANAGER_KTX = "androidx.work:work-runtime-ktx:${Versions.WORK_MANAGER}"
8080
const val ANDROIDX_WORK_TEST = "androidx.work:work-testing:${Versions.WORK_MANAGER}"
81-
const val ANDROIDX_WEBKIT = "androidx.webkit:webkit:1.12.0"
82-
const val ANDROIDX_COMPOSE_ACTIVITY = "androidx.activity:activity-compose:1.10.0"
81+
const val ANDROIDX_WEBKIT = "androidx.webkit:webkit:1.14.0"
82+
const val ANDROIDX_COMPOSE_ACTIVITY = "androidx.activity:activity-compose:1.12.1"
8383
const val DATASTORE = "androidx.datastore:datastore-preferences:${Versions.DATASTORE}"
8484
const val ENCRYPTED_SHARED_PREFERENCES = "androidx.security:security-crypto:${Versions.ENCRYPTED_SHARED_PREFERENCES}"
85-
const val JAVA_JWT = "com.auth0:java-jwt:${Versions.JAVA_JWT}"
8685

8786
/* Firebase */
88-
const val FIREBASE_BOM = "com.google.firebase:firebase-bom:34.3.0"
87+
const val FIREBASE_BOM = "com.google.firebase:firebase-bom:34.6.0"
8988
const val FIREBASE_CRASHLYTICS = "com.google.firebase:firebase-crashlytics"
9089
const val FIREBASE_MESSAGING = "com.google.firebase:firebase-messaging"
9190
const val FIREBASE_CONFIG = "com.google.firebase:firebase-config"
@@ -105,11 +104,12 @@ object Libs {
105104
/* Testing */
106105
const val JUNIT = "junit:junit:${Versions.JUNIT}"
107106
const val ROBOLECTRIC = "org.robolectric:robolectric:${Versions.ROBOLECTRIC}"
108-
const val ANDROIDX_TEST_JUNIT = "androidx.test.ext:junit:1.2.1"
109-
const val MOCKK = "io.mockk:mockk:1.13.13"
110-
const val THREETEN_BP = "org.threeten:threetenbp:1.7.0"
107+
const val ANDROIDX_TEST_JUNIT = "androidx.test.ext:junit:1.3.0"
108+
const val MOCKK = "io.mockk:mockk:1.14.7"
109+
const val THREETEN_BP = "org.threeten:threetenbp:1.7.2"
111110
const val UI_AUTOMATOR = "androidx.test.uiautomator:uiautomator:2.3.0"
112-
const val TEST_ORCHESTRATOR = "androidx.test:orchestrator:1.5.1"
111+
const val TEST_ORCHESTRATOR = "androidx.test:orchestrator:1.6.1"
112+
const val HAMCREST = "org.hamcrest:hamcrest:${Versions.HAMCREST}"
113113

114114
/* Qr Code (zxing) */
115115
const val JOURNEY_ZXING = "com.journeyapps:zxing-android-embedded:4.3.0"
@@ -130,7 +130,7 @@ object Libs {
130130
const val VIEW_MODE_SAVED_STATE = "androidx.lifecycle:lifecycle-viewmodel-savedstate:${Versions.LIFECYCLE}"
131131
const val LIFECYCLE_COMPILER = "androidx.lifecycle:lifecycle-compiler:${Versions.LIFECYCLE}"
132132
const val COMPOSE_VIEW_MODEL = "androidx.lifecycle:lifecycle-viewmodel-compose:${Versions.LIFECYCLE}"
133-
const val COMPOSE_NAVIGATION = "androidx.navigation:navigation-compose:2.8.9"
133+
134134
/* Media and content handling */
135135
const val NUTRIENT = "io.nutrient:nutrient:${Versions.NUTRIENT}"
136136
const val MEDIA3 = "androidx.media3:media3-exoplayer:${Versions.MEDIA3}"
@@ -156,29 +156,29 @@ object Libs {
156156
const val OKHTTP = "com.squareup.okhttp3:okhttp:${Versions.OKHTTP}"
157157
const val OKHTTP_LOGGING = "com.squareup.okhttp3:logging-interceptor:${Versions.OKHTTP}"
158158
const val OKHTTP_URL_CONNECTION = "com.squareup.okhttp3:okhttp-urlconnection:${Versions.OKHTTP}"
159-
const val OKIO = "com.squareup.okio:okio:3.9.1"
159+
const val OKIO = "com.squareup.okio:okio:3.16.2"
160160

161161
/* Other */
162162
const val LOTTIE = "com.airbnb.android:lottie:${Versions.LOTTIE}"
163163
const val LOTTIE_COMPOSE = "com.airbnb.android:lottie-compose:${Versions.LOTTIE}"
164164
const val SLIDING_UP_PANEL = "com.sothree.slidinguppanel:library:3.3.1"
165165
const val DISK_LRU_CACHE = "com.jakewharton:disklrucache:2.0.2"
166166
const val EVENTBUS = "org.greenrobot:eventbus:3.3.1"
167-
const val JW_THREETEN_BP = "com.jakewharton.threetenabp:threetenabp:1.4.6"
167+
const val JW_THREETEN_BP = "com.jakewharton.threetenabp:threetenabp:1.4.9"
168168
const val PROCESS_PHOENIX = "com.jakewharton:process-phoenix:2.1.2"
169169
const val KEYBOARD_VISIBILITY_LISTENER = "net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.2.1"
170170
const val APACHE_COMMONS_TEXT = "org.apache.commons:commons-text:1.12.0"
171171
const val CAMERA_VIEW = "com.otaliastudios:cameraview:2.7.2"
172+
const val JAVA_JWT = "com.auth0:java-jwt:${Versions.JAVA_JWT}"
172173

173-
const val PENDO = "sdk.pendo.io:pendoIO:3.7.+"
174+
const val PENDO = "sdk.pendo.io:pendoIO:3.9.+"
174175

176+
/* Database */
175177
const val ROOM = "androidx.room:room-runtime:${Versions.ROOM}"
176178
const val ROOM_COMPILER = "androidx.room:room-compiler:${Versions.ROOM}"
177179
const val ROOM_COROUTINES = "androidx.room:room-ktx:${Versions.ROOM}"
178180
const val ROOM_TEST = "androidx.room:room-testing:${Versions.ROOM}"
179181

180-
const val HAMCREST = "org.hamcrest:hamcrest:${Versions.HAMCREST}"
181-
182182
const val RRULE = "org.scala-saddle:google-rfc-2445:20110304"
183183

184184
// Compose
@@ -207,7 +207,7 @@ object Libs {
207207
const val NAVIGATION_KTX = "androidx.navigation:navigation-ui-ktx:${Versions.NAVIGATION}"
208208
const val NAVIGATION_COMPOSE = "androidx.navigation:navigation-compose:${Versions.NAVIGATION}"
209209

210-
const val KOTLIN_SERIALIZABLE = "org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0"
210+
const val KOTLIN_SERIALIZABLE = "org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0"
211211
}
212212

213213
object Plugins {

apps/teacher/src/androidTest/java/com/instructure/teacher/ui/e2e/classic/HelpMenuE2ETest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ class HelpMenuE2ETest: TeacherTest() {
7878
try {
7979
helpPage.assertHelpMenuURL("Search the Canvas Guides", "https://community.canvaslms.com/t5/Canvas/ct-p/canvas")
8080
helpPage.assertHelpMenuURL("Submit a Feature Idea", "https://community.canvaslms.com/t5/Idea-Conversations/idb-p/ideas")
81-
helpPage.assertHelpMenuURL("Ask the Community", "https://community.canvaslms.com/community/answers")
81+
helpPage.assertHelpMenuURL("Ask the Community", "https://community.instructure.com")
8282
helpPage.assertHelpMenuURL("Conference Guides for Remote Classrooms", "https://community.canvaslms.com/docs/DOC-18572-conferences-resources")
8383
helpPage.assertHelpMenuURL("Share Your Love for the App", "https://community.canvaslms.com/t5/Canvas/ct-p/canvas")
8484
}

apps/teacher/src/main/java/com/instructure/teacher/mobius/common/ui/MobiusFragment.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ import com.spotify.mobius.Update
4242
import com.spotify.mobius.android.MobiusAndroid
4343
import com.spotify.mobius.android.runners.MainThreadWorkRunner
4444
import com.spotify.mobius.functions.Consumer
45-
import kotlinx.android.extensions.LayoutContainer
4645

4746
abstract class MobiusFragment<MODEL, EVENT, EFFECT, VIEW : MobiusView<VIEW_STATE, EVENT, BINDING>, VIEW_STATE, BINDING: ViewBinding> : BaseCanvasFragment() {
4847
var overrideInitModel: MODEL? = null
@@ -150,14 +149,14 @@ abstract class MobiusView<VIEW_STATE, EVENT, BINDING : ViewBinding>(
150149
layoutInflater: LayoutInflater,
151150
bindingInflater: (layoutInflater: LayoutInflater) -> BINDING,
152151
private val parent: ViewGroup
153-
) : Connectable<VIEW_STATE, EVENT>, LayoutContainer {
152+
) : Connectable<VIEW_STATE, EVENT> {
154153

155154
private var _binding: BINDING? = bindingInflater(layoutInflater)
156155

157156
val binding: BINDING
158157
get() = _binding!!
159158

160-
override val containerView: View?
159+
val containerView: View?
161160
get() = binding.root
162161

163162
var connection: Connection<VIEW_STATE>? = null

libs/canvas-api-2/src/test/java/com/instructure/canvasapi2/unit/WeaveCoroutineTest.kt

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,18 @@ package com.instructure.canvasapi2.unit
2020

2121
import com.instructure.canvasapi2.utils.DataResult
2222
import com.instructure.canvasapi2.utils.WeaveTestManager
23-
import com.instructure.canvasapi2.utils.weave.*
24-
import io.mockk.*
23+
import com.instructure.canvasapi2.utils.weave.WeaveCoroutine
24+
import com.instructure.canvasapi2.utils.weave.apiAsync
25+
import com.instructure.canvasapi2.utils.weave.awaitApi
26+
import com.instructure.canvasapi2.utils.weave.catch
27+
import com.instructure.canvasapi2.utils.weave.inParallel
28+
import com.instructure.canvasapi2.utils.weave.tryWeave
29+
import com.instructure.canvasapi2.utils.weave.weave
30+
import io.mockk.coEvery
31+
import io.mockk.every
32+
import io.mockk.mockk
33+
import io.mockk.mockkStatic
34+
import io.mockk.unmockkStatic
2535
import kotlinx.coroutines.Dispatchers
2636
import kotlinx.coroutines.delay
2737
import kotlinx.coroutines.test.setMain
@@ -245,21 +255,6 @@ class WeaveCoroutineTest : Assert() {
245255
assertNotNull(exception)*/
246256
}
247257

248-
@Test
249-
fun performsOnUI() {
250-
var count = 0
251-
weave {
252-
repeat(5) {
253-
onUI {
254-
synchronized(count) { count++ }
255-
}
256-
}
257-
// onUI is async and not suspending, so we delay for a bit to avoid a race condition
258-
delay(50)
259-
}.blockWithTimeout()
260-
assertEquals(5, count)
261-
}
262-
263258
@Test
264259
fun cancelsImmediatelyWithoutRunning() {
265260
var hasRun = false

libs/pandautils/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ dependencies {
140140
implementation Libs.LIVE_DATA
141141
implementation Libs.VIEW_MODEL
142142
implementation project(':rceditor')
143-
implementation Libs.COMPOSE_NAVIGATION
143+
implementation Libs.NAVIGATION_COMPOSE
144144

145145

146146
/* Test Dependencies */

0 commit comments

Comments
 (0)