@@ -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 **/
@@ -216,7 +223,7 @@ dependencies {
216223 implementation ' androidx.constraintlayout:constraintlayout:2.1.4'
217224 implementation ' androidx.core:core-ktx:1.12.0'
218225 implementation ' androidx.documentfile:documentfile:1.0.1'
219- implementation ' androidx.fragment:fragment-ktx :1.6 .2'
226+ implementation ' androidx.fragment:fragment-compose :1.8 .2'
220227 implementation " androidx.lifecycle:lifecycle-livedata-ktx:${ androidxLifecycleVersion} "
221228 implementation " androidx.lifecycle:lifecycle-viewmodel-ktx:${ androidxLifecycleVersion} "
222229 implementation ' androidx.localbroadcastmanager:localbroadcastmanager:1.1.0'
@@ -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,19 +294,29 @@ dependencies {
286294 implementation " org.ocpsoft.prettytime:prettytime:5.0.8.Final"
287295
288296 // Jetpack Compose
289- implementation(platform(' androidx.compose:compose-bom:2024.06.00 ' ))
290- implementation ' androidx.compose.material3:material3:1.3.0-beta05 '
291- implementation ' androidx.compose.material3.adaptive:adaptive:1.0.0-beta04 '
297+ implementation(platform(' androidx.compose:compose-bom:2024.10.01 ' ))
298+ implementation ' androidx.compose.material3:material3'
299+ implementation ' androidx.compose.material3.adaptive:adaptive'
292300 implementation ' androidx.activity:activity-compose'
293301 implementation ' androidx.compose.ui:ui-tooling-preview'
294- implementation ' androidx.compose.ui:ui-text:1.7.0-beta07' // Needed for parsing HTML to AnnotatedString
295302 implementation ' androidx.lifecycle:lifecycle-viewmodel-compose'
303+ implementation ' androidx.compose.ui:ui-text' // Needed for parsing HTML to AnnotatedString
304+ implementation ' androidx.compose.material:material-icons-extended'
305+
306+ // Jetpack Compose related dependencies
296307 implementation ' androidx.paging:paging-compose:3.3.2'
297- implementation ' com.github.nanihadesuka:LazyColumnScrollbar :2.2.0 '
308+ implementation " androidx.navigation:navigation-compose :2.8.3 "
298309
299310 // Coroutines interop
300311 implementation ' org.jetbrains.kotlinx:kotlinx-coroutines-rx3:1.8.1'
301312
313+ // Hilt
314+ implementation(" com.google.dagger:hilt-android:2.51.1" )
315+ kapt(" com.google.dagger:hilt-compiler:2.51.1" )
316+
317+ // Scroll
318+ implementation ' com.github.nanihadesuka:LazyColumnScrollbar:2.2.0'
319+
302320/* * Debugging **/
303321 // Memory leak detection
304322 debugImplementation " com.squareup.leakcanary:leakcanary-object-watcher-android:${ leakCanaryVersion} "
0 commit comments