@@ -10,6 +10,7 @@ plugins {
1010 id " checkstyle"
1111 id " org.sonarqube" version " 4.0.0.2929"
1212 id " org.jetbrains.kotlin.plugin.compose" version " ${ kotlin_version} "
13+ id ' com.google.dagger.hilt.android'
1314}
1415
1516android {
@@ -94,6 +95,7 @@ android {
9495 buildFeatures {
9596 viewBinding true
9697 compose true
98+ buildConfig true
9799 }
98100
99101 packagingOptions {
@@ -114,7 +116,7 @@ ext {
114116 androidxRoomVersion = ' 2.6.1'
115117 androidxWorkVersion = ' 2.8.1'
116118
117- icepickVersion = ' 3.2.0 '
119+ stateSaverVersion = ' 1.4.1 '
118120 exoPlayerVersion = ' 2.18.7'
119121 googleAutoServiceVersion = ' 1.1.1'
120122 groupieVersion = ' 2.10.1'
@@ -190,6 +192,10 @@ sonar {
190192 }
191193}
192194
195+ kapt {
196+ correctErrorTypes true
197+ }
198+
193199dependencies {
194200/* * Desugaring **/
195201 coreLibraryDesugaring ' com.android.tools:desugar_jdk_libs_nio:2.0.4'
@@ -200,7 +206,8 @@ dependencies {
200206 // name and the commit hash with the commit hash of the (pushed) commit you want to test
201207 // This works thanks to JitPack: https://jitpack.io/
202208 implementation ' com.github.TeamNewPipe:nanojson:1d9e1aea9049fc9f85e68b43ba39fe7be1c1f751'
203- implementation ' com.github.TeamNewPipe:NewPipeExtractor:v0.24.2'
209+ // WORKAROUND: v0.24.2 can't be resolved by jitpack -> use git commit hash instead
210+ implementation ' com.github.TeamNewPipe:NewPipeExtractor:176da72cb4c3ec4679211339b0e59f6b01bf2f52'
204211 implementation ' com.github.TeamNewPipe:NoNonsense-FilePicker:5.0.0'
205212
206213/* * Checkstyle **/
@@ -236,8 +243,9 @@ dependencies {
236243
237244/* * Third-party libraries **/
238245 // Instance state boilerplate elimination
239- implementation " frankiesardo:icepick:${ icepickVersion} "
240- kapt " frankiesardo:icepick-processor:${ icepickVersion} "
246+ implementation ' com.github.livefront:bridge:v2.0.2'
247+ implementation " com.evernote:android-state:$stateSaverVersion "
248+ kapt " com.evernote:android-state-processor:$stateSaverVersion "
241249
242250 // HTML parser
243251 implementation " org.jsoup:jsoup:1.17.2"
@@ -286,18 +294,28 @@ dependencies {
286294 implementation " org.ocpsoft.prettytime:prettytime:5.0.8.Final"
287295
288296 // Jetpack Compose
289- implementation(platform(' androidx.compose:compose-bom:2024.09.00 ' ))
297+ implementation(platform(' androidx.compose:compose-bom:2024.09.03 ' ))
290298 implementation ' androidx.compose.material3:material3'
291299 implementation ' androidx.compose.material3.adaptive:adaptive'
292300 implementation ' androidx.activity:activity-compose'
293301 implementation ' androidx.compose.ui:ui-tooling-preview'
294302 implementation ' androidx.lifecycle:lifecycle-viewmodel-compose'
303+ implementation ' androidx.compose.ui:ui-text' // Needed for parsing HTML to AnnotatedString
304+
305+ // Jetpack Compose related dependencies
295306 implementation ' androidx.paging:paging-compose:3.3.2'
296- implementation ' com.github.nanihadesuka:LazyColumnScrollbar:2.2.0 '
307+ implementation " androidx.navigation:navigation-compose "
297308
298309 // Coroutines interop
299310 implementation ' org.jetbrains.kotlinx:kotlinx-coroutines-rx3:1.8.1'
300311
312+ // Hilt
313+ implementation(" com.google.dagger:hilt-android:2.51.1" )
314+ kapt(" com.google.dagger:hilt-compiler:2.51.1" )
315+
316+ // Scroll
317+ implementation ' com.github.nanihadesuka:LazyColumnScrollbar:2.2.0'
318+
301319/* * Debugging **/
302320 // Memory leak detection
303321 debugImplementation " com.squareup.leakcanary:leakcanary-object-watcher-android:${ leakCanaryVersion} "
0 commit comments