mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
Implement Version Catalog for Centralized Dependency Management
This pull request introduces a version catalog (libs.versions.toml) to centralize dependency management within the project. By consolidating dependency versions in one location, we achieve greater consistency across the project, streamline maintenance, and simplify the process of updating dependencies. This approach enhances the organization and efficiency of managing dependencies, benefiting multiple modules and reducing potential conflicts.
This commit is contained in:
parent
2fc279f4ae
commit
a2e31457a8
2270 changed files with 592 additions and 66 deletions
8
.idea/artifacts/library_jvm_1_0_0.xml
generated
Normal file
8
.idea/artifacts/library_jvm_1_0_0.xml
generated
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<component name="ArtifactManager">
|
||||||
|
<artifact type="jar" name="library-jvm-1.0.0">
|
||||||
|
<output-path>$PROJECT_DIR$/library/build/libs</output-path>
|
||||||
|
<root id="archive" name="library-jvm-1.0.0.jar">
|
||||||
|
<element id="module-output" name="CloudStream.library.jvmMain" />
|
||||||
|
</root>
|
||||||
|
</artifact>
|
||||||
|
</component>
|
18
.idea/deploymentTargetSelector.xml
generated
Normal file
18
.idea/deploymentTargetSelector.xml
generated
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="deploymentTargetSelector">
|
||||||
|
<selectionStates>
|
||||||
|
<SelectionState runConfigName="app">
|
||||||
|
<option name="selectionMode" value="DROPDOWN" />
|
||||||
|
<DropdownSelection timestamp="2024-07-28T04:06:48.055432900Z">
|
||||||
|
<Target type="DEFAULT_BOOT">
|
||||||
|
<handle>
|
||||||
|
<DeviceId pluginId="LocalEmulator" identifier="path=C:\Users\fantv\.android\avd\Pixel_6_API_34.avd" />
|
||||||
|
</handle>
|
||||||
|
</Target>
|
||||||
|
</DropdownSelection>
|
||||||
|
<DialogSelection />
|
||||||
|
</SelectionState>
|
||||||
|
</selectionStates>
|
||||||
|
</component>
|
||||||
|
</project>
|
6
.idea/google-java-format.xml
generated
Normal file
6
.idea/google-java-format.xml
generated
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="GoogleJavaFormatSettings">
|
||||||
|
<option name="enabled" value="false" />
|
||||||
|
</component>
|
||||||
|
</project>
|
6
.idea/kotlinc.xml
generated
Normal file
6
.idea/kotlinc.xml
generated
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="KotlinJpsPluginSettings">
|
||||||
|
<option name="version" value="1.9.23" />
|
||||||
|
</component>
|
||||||
|
</project>
|
263
.idea/other.xml
generated
Normal file
263
.idea/other.xml
generated
Normal file
|
@ -0,0 +1,263 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="direct_access_persist.xml">
|
||||||
|
<option name="deviceSelectionList">
|
||||||
|
<list>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="27" />
|
||||||
|
<option name="brand" value="DOCOMO" />
|
||||||
|
<option name="codename" value="F01L" />
|
||||||
|
<option name="id" value="F01L" />
|
||||||
|
<option name="manufacturer" value="FUJITSU" />
|
||||||
|
<option name="name" value="F-01L" />
|
||||||
|
<option name="screenDensity" value="360" />
|
||||||
|
<option name="screenX" value="720" />
|
||||||
|
<option name="screenY" value="1280" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="28" />
|
||||||
|
<option name="brand" value="DOCOMO" />
|
||||||
|
<option name="codename" value="SH-01L" />
|
||||||
|
<option name="id" value="SH-01L" />
|
||||||
|
<option name="manufacturer" value="SHARP" />
|
||||||
|
<option name="name" value="AQUOS sense2 SH-01L" />
|
||||||
|
<option name="screenDensity" value="480" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2160" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="31" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="a51" />
|
||||||
|
<option name="id" value="a51" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy A51" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="akita" />
|
||||||
|
<option name="id" value="akita" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 8a" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="b0q" />
|
||||||
|
<option name="id" value="b0q" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy S22 Ultra" />
|
||||||
|
<option name="screenDensity" value="600" />
|
||||||
|
<option name="screenX" value="1440" />
|
||||||
|
<option name="screenY" value="3088" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="32" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="bluejay" />
|
||||||
|
<option name="id" value="bluejay" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 6a" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="29" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="crownqlteue" />
|
||||||
|
<option name="id" value="crownqlteue" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy Note9" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="2220" />
|
||||||
|
<option name="screenY" value="1080" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="dm3q" />
|
||||||
|
<option name="id" value="dm3q" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy S23 Ultra" />
|
||||||
|
<option name="screenDensity" value="600" />
|
||||||
|
<option name="screenX" value="1440" />
|
||||||
|
<option name="screenY" value="3088" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="felix" />
|
||||||
|
<option name="id" value="felix" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel Fold" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="2208" />
|
||||||
|
<option name="screenY" value="1840" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="felix_camera" />
|
||||||
|
<option name="id" value="felix_camera" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel Fold (Camera-enabled)" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="2208" />
|
||||||
|
<option name="screenY" value="1840" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="gts8uwifi" />
|
||||||
|
<option name="id" value="gts8uwifi" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy Tab S8 Ultra" />
|
||||||
|
<option name="screenDensity" value="320" />
|
||||||
|
<option name="screenX" value="1848" />
|
||||||
|
<option name="screenY" value="2960" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="husky" />
|
||||||
|
<option name="id" value="husky" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 8 Pro" />
|
||||||
|
<option name="screenDensity" value="390" />
|
||||||
|
<option name="screenX" value="1008" />
|
||||||
|
<option name="screenY" value="2244" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="30" />
|
||||||
|
<option name="brand" value="motorola" />
|
||||||
|
<option name="codename" value="java" />
|
||||||
|
<option name="id" value="java" />
|
||||||
|
<option name="manufacturer" value="Motorola" />
|
||||||
|
<option name="name" value="G20" />
|
||||||
|
<option name="screenDensity" value="280" />
|
||||||
|
<option name="screenX" value="720" />
|
||||||
|
<option name="screenY" value="1600" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="lynx" />
|
||||||
|
<option name="id" value="lynx" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 7a" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="31" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="oriole" />
|
||||||
|
<option name="id" value="oriole" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 6" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="panther" />
|
||||||
|
<option name="id" value="panther" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 7" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="31" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="q2q" />
|
||||||
|
<option name="id" value="q2q" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy Z Fold3" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1768" />
|
||||||
|
<option name="screenY" value="2208" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="q5q" />
|
||||||
|
<option name="id" value="q5q" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy Z Fold5" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1812" />
|
||||||
|
<option name="screenY" value="2176" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="30" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="r11" />
|
||||||
|
<option name="id" value="r11" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel Watch" />
|
||||||
|
<option name="screenDensity" value="320" />
|
||||||
|
<option name="screenX" value="384" />
|
||||||
|
<option name="screenY" value="384" />
|
||||||
|
<option name="type" value="WEAR_OS" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="30" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="redfin" />
|
||||||
|
<option name="id" value="redfin" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 5" />
|
||||||
|
<option name="screenDensity" value="440" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2340" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="shiba" />
|
||||||
|
<option name="id" value="shiba" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 8" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="tangorpro" />
|
||||||
|
<option name="id" value="tangorpro" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel Tablet" />
|
||||||
|
<option name="screenDensity" value="320" />
|
||||||
|
<option name="screenX" value="1600" />
|
||||||
|
<option name="screenY" value="2560" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="29" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="x1q" />
|
||||||
|
<option name="id" value="x1q" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy S20" />
|
||||||
|
<option name="screenDensity" value="480" />
|
||||||
|
<option name="screenX" value="1440" />
|
||||||
|
<option name="screenY" value="3200" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
6
.idea/palantir-java-format.xml
generated
Normal file
6
.idea/palantir-java-format.xml
generated
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="PalantirJavaFormatSettings">
|
||||||
|
<option name="enabled" value="false" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -154,84 +154,84 @@ repositories {
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// Testing
|
// Testing
|
||||||
testImplementation("junit:junit:4.13.2")
|
testImplementation(libs.junit)
|
||||||
testImplementation("org.json:json:20240303")
|
testImplementation(libs.json)
|
||||||
androidTestImplementation("androidx.test:core")
|
androidTestImplementation(libs.core)
|
||||||
implementation("androidx.test.ext:junit-ktx:1.2.1")
|
implementation(libs.junit.ktx)
|
||||||
androidTestImplementation("androidx.test.ext:junit:1.2.1")
|
androidTestImplementation(libs.ext.junit)
|
||||||
androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")
|
androidTestImplementation(libs.espresso.core)
|
||||||
|
|
||||||
// Android Core & Lifecycle
|
// Android Core & Lifecycle
|
||||||
implementation("androidx.core:core-ktx:1.13.1")
|
implementation(libs.core.ktx)
|
||||||
implementation("androidx.appcompat:appcompat:1.7.0")
|
implementation(libs.appcompat)
|
||||||
implementation("androidx.navigation:navigation-ui-ktx:2.7.7")
|
implementation(libs.navigation.ui.ktx)
|
||||||
implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.8.3")
|
implementation(libs.lifecycle.livedata.ktx)
|
||||||
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.3")
|
implementation(libs.lifecycle.viewmodel.ktx)
|
||||||
implementation("androidx.navigation:navigation-fragment-ktx:2.7.7")
|
implementation(libs.navigation.fragment.ktx)
|
||||||
|
|
||||||
// Design & UI
|
// Design & UI
|
||||||
implementation("jp.wasabeef:glide-transformations:4.3.0")
|
implementation(libs.glide.transformations)
|
||||||
implementation("androidx.preference:preference-ktx:1.2.1")
|
implementation(libs.preference.ktx)
|
||||||
implementation("com.google.android.material:material:1.12.0")
|
implementation(libs.material)
|
||||||
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
|
implementation(libs.constraintlayout)
|
||||||
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
|
implementation(libs.swiperefreshlayout)
|
||||||
|
|
||||||
// Glide Module
|
// Glide Module
|
||||||
ksp("com.github.bumptech.glide:ksp:4.16.0")
|
ksp(libs.ksp)
|
||||||
implementation("com.github.bumptech.glide:glide:4.16.0")
|
implementation(libs.glide)
|
||||||
implementation("com.github.bumptech.glide:okhttp3-integration:4.16.0")
|
implementation(libs.okhttp3.integration)
|
||||||
|
|
||||||
// For KSP -> Official Annotation Processors are Not Yet Supported for KSP
|
// For KSP -> Official Annotation Processors are Not Yet Supported for KSP
|
||||||
ksp("dev.zacsweers.autoservice:auto-service-ksp:1.2.0")
|
ksp(libs.auto.service.ksp)
|
||||||
implementation("com.google.guava:guava:33.2.1-android")
|
implementation(libs.guava)
|
||||||
implementation("dev.zacsweers.autoservice:auto-service-ksp:1.2.0")
|
implementation(libs.auto.service.ksp)
|
||||||
|
|
||||||
// Media 3 (ExoPlayer)
|
// Media 3 (ExoPlayer)
|
||||||
implementation("androidx.media3:media3-ui:1.1.1")
|
implementation(libs.media3.ui)
|
||||||
implementation("androidx.media3:media3-cast:1.1.1")
|
implementation(libs.media3.cast)
|
||||||
implementation("androidx.media3:media3-common:1.1.1")
|
implementation(libs.media3.common)
|
||||||
implementation("androidx.media3:media3-session:1.1.1")
|
implementation(libs.media3.session)
|
||||||
implementation("androidx.media3:media3-exoplayer:1.1.1")
|
implementation(libs.media3.exoplayer)
|
||||||
implementation("com.google.android.mediahome:video:1.0.0")
|
implementation(libs.video)
|
||||||
implementation("androidx.media3:media3-exoplayer-hls:1.1.1")
|
implementation(libs.media3.exoplayer.hls)
|
||||||
implementation("androidx.media3:media3-exoplayer-dash:1.1.1")
|
implementation(libs.media3.exoplayer.dash)
|
||||||
implementation("androidx.media3:media3-datasource-okhttp:1.1.1")
|
implementation(libs.media3.datasource.okhttp)
|
||||||
|
|
||||||
// PlayBack
|
// PlayBack
|
||||||
implementation("com.jaredrummler:colorpicker:1.1.0") // Subtitle Color Picker
|
implementation(libs.colorpicker) // Subtitle Color Picker
|
||||||
implementation("com.github.recloudstream:media-ffmpeg:1.1.0") // Custom FF-MPEG Lib for Audio Codecs
|
implementation(libs.media.ffmpeg) // Custom FF-MPEG Lib for Audio Codecs
|
||||||
implementation("com.github.teamnewpipe:NewPipeExtractor:2d36945") /* For Trailers
|
implementation(libs.newpipeextractor) /* For Trailers
|
||||||
^ Update to Latest Commits if Trailers Misbehave, github.com/TeamNewPipe/NewPipeExtractor/commits/dev */
|
^ Update to Latest Commits if Trailers Misbehave, github.com/TeamNewPipe/NewPipeExtractor/commits/dev */
|
||||||
implementation("com.github.albfernandez:juniversalchardet:2.5.0") // Subtitle Decoding
|
implementation(libs.juniversalchardet) // Subtitle Decoding
|
||||||
|
|
||||||
// Crash Reports (AcraApplication.kt)
|
// Crash Reports (AcraApplication.kt)
|
||||||
implementation("ch.acra:acra-core:5.11.3")
|
implementation(libs.acra.core)
|
||||||
implementation("ch.acra:acra-toast:5.11.3")
|
implementation(libs.acra.toast)
|
||||||
|
|
||||||
// UI Stuff
|
// UI Stuff
|
||||||
implementation("com.facebook.shimmer:shimmer:0.5.0") // Shimmering Effect (Loading Skeleton)
|
implementation(libs.shimmer) // Shimmering Effect (Loading Skeleton)
|
||||||
implementation("androidx.palette:palette-ktx:1.0.0") // Palette For Images -> Colors
|
implementation(libs.palette.ktx) // Palette For Images -> Colors
|
||||||
implementation("androidx.tvprovider:tvprovider:1.0.0")
|
implementation(libs.tvprovider)
|
||||||
implementation("com.github.discord:OverlappingPanels:0.1.5") // Gestures
|
implementation(libs.overlappingpanels) // Gestures
|
||||||
implementation ("androidx.biometric:biometric:1.2.0-alpha05") // Fingerprint Authentication
|
implementation (libs.biometric) // Fingerprint Authentication
|
||||||
implementation("com.github.rubensousa:previewseekbar-media3:1.1.1.0") // SeekBar Preview
|
implementation(libs.previewseekbar.media3) // SeekBar Preview
|
||||||
implementation("io.github.g0dkar:qrcode-kotlin:4.2.0") // QR code for PIN Auth on TV
|
implementation(libs.qrcode.kotlin) // QR code for PIN Auth on TV
|
||||||
|
|
||||||
// Extensions & Other Libs
|
// Extensions & Other Libs
|
||||||
implementation("org.mozilla:rhino:1.7.15") // run JavaScript
|
implementation(libs.rhino) // run JavaScript
|
||||||
implementation("me.xdrop:fuzzywuzzy:1.4.0") // Library/Ext Searching with Levenshtein Distance
|
implementation(libs.fuzzywuzzy) // Library/Ext Searching with Levenshtein Distance
|
||||||
implementation("com.github.LagradOst:SafeFile:0.0.6") // To Prevent the URI File Fu*kery
|
implementation(libs.safefile) // To Prevent the URI File Fu*kery
|
||||||
implementation("org.conscrypt:conscrypt-android:2.5.2") // To Fix SSL Fu*kery on Android 9
|
implementation(libs.conscrypt.android) // To Fix SSL Fu*kery on Android 9
|
||||||
implementation("com.uwetrottmann.tmdb2:tmdb-java:2.11.0") // TMDB API v3 Wrapper Made with RetroFit
|
implementation(libs.tmdb.java) // TMDB API v3 Wrapper Made with RetroFit
|
||||||
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4")
|
coreLibraryDesugaring(libs.desugar.jdk.libs)
|
||||||
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1") /* JSON Parser
|
implementation(libs.jackson.module.kotlin) /* JSON Parser
|
||||||
^ Don't Bump Jackson above 2.13.1 , Crashes on Android TV's and FireSticks that have Min API
|
^ Don't Bump Jackson above 2.13.1 , Crashes on Android TV's and FireSticks that have Min API
|
||||||
Level 25 or Less. */
|
Level 25 or Less. */
|
||||||
|
|
||||||
// Downloading & Networking
|
// Downloading & Networking
|
||||||
implementation("androidx.work:work-runtime:2.9.0")
|
implementation(libs.work.runtime)
|
||||||
implementation("androidx.work:work-runtime-ktx:2.9.0")
|
implementation(libs.work.runtime.ktx)
|
||||||
implementation("com.github.Blatzar:NiceHttp:0.4.11") // HTTP Lib
|
implementation(libs.nicehttp) // HTTP Lib
|
||||||
|
|
||||||
implementation(project(":library") {
|
implementation(project(":library") {
|
||||||
// There does not seem to be a good way of getting the android flavor.
|
// There does not seem to be a good way of getting the android flavor.
|
||||||
|
|
|
@ -5,11 +5,11 @@ buildscript {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath("com.android.tools.build:gradle:8.2.2")
|
classpath(libs.gradle)
|
||||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.23")
|
classpath(libs.kotlin.gradle.plugin)
|
||||||
classpath("org.jetbrains.dokka:dokka-gradle-plugin:1.9.10")
|
classpath(libs.dokka.gradle.plugin)
|
||||||
// Universal build config
|
// Universal build config
|
||||||
classpath("com.codingfeline.buildkonfig:buildkonfig-gradle-plugin:0.15.1")
|
classpath(libs.buildkonfig.gradle.plugin)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ allprojects {
|
||||||
}
|
}
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("com.google.devtools.ksp") version "1.9.22-1.0.17" apply false
|
id("com.google.devtools.ksp") version "1.9.23-1.0.20" apply false
|
||||||
}
|
}
|
||||||
|
|
||||||
//tasks.register<Delete>("clean") {
|
//tasks.register<Delete>("clean") {
|
||||||
|
|
122
gradle/libs.versions.toml
Normal file
122
gradle/libs.versions.toml
Normal file
|
@ -0,0 +1,122 @@
|
||||||
|
[versions]
|
||||||
|
acraCore = "5.11.3"
|
||||||
|
appcompat = "1.7.0"
|
||||||
|
autoServiceKsp = "1.2.0"
|
||||||
|
biometric = "1.2.0-alpha05"
|
||||||
|
buildkonfigGradlePlugin = "0.15.1"
|
||||||
|
colorpicker = "1.1.0"
|
||||||
|
conscryptAndroid = "2.5.2"
|
||||||
|
constraintlayout = "2.1.4"
|
||||||
|
coreKtx = "1.13.1"
|
||||||
|
desugar_jdk_libs = "2.0.4"
|
||||||
|
dokkaGradlePlugin = "1.9.10"
|
||||||
|
espressoCore = "3.6.1"
|
||||||
|
fuzzywuzzy = "1.4.0"
|
||||||
|
glide = "4.16.0"
|
||||||
|
glideTransformations = "4.3.0"
|
||||||
|
gradle = "8.2.2"
|
||||||
|
guava = "33.2.1-android"
|
||||||
|
jacksonModuleKotlin = "2.13.1"
|
||||||
|
json = "20240303"
|
||||||
|
junit = "4.13.2"
|
||||||
|
junitKtx = "1.2.1"
|
||||||
|
junitVersion = "1.2.1"
|
||||||
|
juniversalchardet = "2.5.0"
|
||||||
|
kotlinGradlePlugin = "1.9.23"
|
||||||
|
kotlinxCoroutinesCore = "1.8.1"
|
||||||
|
ksp = "4.16.0"
|
||||||
|
lifecycleLivedataKtx = "2.8.4"
|
||||||
|
lifecycleViewmodelKtx = "2.8.4"
|
||||||
|
material = "1.12.0"
|
||||||
|
media3Cast = "1.1.1"
|
||||||
|
media3Common = "1.1.1"
|
||||||
|
media3DatasourceOkhttp = "1.1.1"
|
||||||
|
media3Exoplayer = "1.1.1"
|
||||||
|
media3ExoplayerDash = "1.1.1"
|
||||||
|
media3ExoplayerHls = "1.1.1"
|
||||||
|
media3Session = "1.1.1"
|
||||||
|
media3Ui = "1.1.1"
|
||||||
|
mediaFfmpeg = "1.1.0"
|
||||||
|
navigationFragmentKtx = "2.7.7"
|
||||||
|
navigationUiKtx = "2.7.7"
|
||||||
|
newpipeextractor = "2d36945"
|
||||||
|
newpipeextractorVersion = "fafd471"
|
||||||
|
nicehttp = "0.4.11"
|
||||||
|
okhttp3Integration = "4.16.0"
|
||||||
|
overlappingpanels = "0.1.5"
|
||||||
|
paletteKtx = "1.0.0"
|
||||||
|
preferenceKtx = "1.2.1"
|
||||||
|
previewseekbarMedia3 = "1.1.1.0"
|
||||||
|
qrcodeKotlin = "4.2.0"
|
||||||
|
rhino = "1.7.15"
|
||||||
|
safefile = "0.0.6"
|
||||||
|
shimmer = "0.5.0"
|
||||||
|
swiperefreshlayout = "1.1.0"
|
||||||
|
tmdbJava = "2.11.0"
|
||||||
|
tvprovider = "1.0.0"
|
||||||
|
video = "1.0.0"
|
||||||
|
workRuntime = "2.9.0"
|
||||||
|
workRuntimeKtx = "2.9.0"
|
||||||
|
|
||||||
|
[libraries]
|
||||||
|
acra-core = { module = "ch.acra:acra-core", version.ref = "acraCore" }
|
||||||
|
acra-toast = { module = "ch.acra:acra-toast", version.ref = "acraCore" }
|
||||||
|
appcompat = { module = "androidx.appcompat:appcompat", version.ref = "appcompat" }
|
||||||
|
auto-service-ksp = { module = "dev.zacsweers.autoservice:auto-service-ksp", version.ref = "autoServiceKsp" }
|
||||||
|
biometric = { module = "androidx.biometric:biometric", version.ref = "biometric" }
|
||||||
|
buildkonfig-gradle-plugin = { module = "com.codingfeline.buildkonfig:buildkonfig-gradle-plugin", version.ref = "buildkonfigGradlePlugin" }
|
||||||
|
colorpicker = { module = "com.jaredrummler:colorpicker", version.ref = "colorpicker" }
|
||||||
|
conscrypt-android = { module = "org.conscrypt:conscrypt-android", version.ref = "conscryptAndroid" }
|
||||||
|
constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" }
|
||||||
|
core = { module = "androidx.test:core" }
|
||||||
|
core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
|
||||||
|
desugar_jdk_libs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugar_jdk_libs" }
|
||||||
|
dokka-gradle-plugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokkaGradlePlugin" }
|
||||||
|
espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espressoCore" }
|
||||||
|
ext-junit = { module = "androidx.test.ext:junit", version.ref = "junitVersion" }
|
||||||
|
fuzzywuzzy = { module = "me.xdrop:fuzzywuzzy", version.ref = "fuzzywuzzy" }
|
||||||
|
glide = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }
|
||||||
|
glide-transformations = { module = "jp.wasabeef:glide-transformations", version.ref = "glideTransformations" }
|
||||||
|
gradle = { module = "com.android.tools.build:gradle", version.ref = "gradle" }
|
||||||
|
guava = { module = "com.google.guava:guava", version.ref = "guava" }
|
||||||
|
jackson-module-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = "jacksonModuleKotlin" }
|
||||||
|
json = { module = "org.json:json", version.ref = "json" }
|
||||||
|
junit = { module = "junit:junit", version.ref = "junit" }
|
||||||
|
junit-ktx = { module = "androidx.test.ext:junit-ktx", version.ref = "junitKtx" }
|
||||||
|
juniversalchardet = { module = "com.github.albfernandez:juniversalchardet", version.ref = "juniversalchardet" }
|
||||||
|
kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlinGradlePlugin" }
|
||||||
|
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinxCoroutinesCore" }
|
||||||
|
ksp = { module = "com.github.bumptech.glide:ksp", version.ref = "ksp" }
|
||||||
|
lifecycle-livedata-ktx = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "lifecycleLivedataKtx" }
|
||||||
|
lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "lifecycleViewmodelKtx" }
|
||||||
|
material = { module = "com.google.android.material:material", version.ref = "material" }
|
||||||
|
media-ffmpeg = { module = "com.github.recloudstream:media-ffmpeg", version.ref = "mediaFfmpeg" }
|
||||||
|
media3-cast = { module = "androidx.media3:media3-cast", version.ref = "media3Cast" }
|
||||||
|
media3-common = { module = "androidx.media3:media3-common", version.ref = "media3Common" }
|
||||||
|
media3-datasource-okhttp = { module = "androidx.media3:media3-datasource-okhttp", version.ref = "media3DatasourceOkhttp" }
|
||||||
|
media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3Exoplayer" }
|
||||||
|
media3-exoplayer-dash = { module = "androidx.media3:media3-exoplayer-dash", version.ref = "media3ExoplayerDash" }
|
||||||
|
media3-exoplayer-hls = { module = "androidx.media3:media3-exoplayer-hls", version.ref = "media3ExoplayerHls" }
|
||||||
|
media3-session = { module = "androidx.media3:media3-session", version.ref = "media3Session" }
|
||||||
|
media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3Ui" }
|
||||||
|
navigation-fragment-ktx = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "navigationFragmentKtx" }
|
||||||
|
navigation-ui-ktx = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "navigationUiKtx" }
|
||||||
|
newpipeextractor = { module = "com.github.teamnewpipe:NewPipeExtractor", version.ref = "newpipeextractor" }
|
||||||
|
newpipeextractor-vfafd471 = { module = "com.github.teamnewpipe:NewPipeExtractor", version.ref = "newpipeextractorVersion" }
|
||||||
|
nicehttp = { module = "com.github.Blatzar:NiceHttp", version.ref = "nicehttp" }
|
||||||
|
okhttp3-integration = { module = "com.github.bumptech.glide:okhttp3-integration", version.ref = "okhttp3Integration" }
|
||||||
|
overlappingpanels = { module = "com.github.discord:OverlappingPanels", version.ref = "overlappingpanels" }
|
||||||
|
palette-ktx = { module = "androidx.palette:palette-ktx", version.ref = "paletteKtx" }
|
||||||
|
preference-ktx = { module = "androidx.preference:preference-ktx", version.ref = "preferenceKtx" }
|
||||||
|
previewseekbar-media3 = { module = "com.github.rubensousa:previewseekbar-media3", version.ref = "previewseekbarMedia3" }
|
||||||
|
qrcode-kotlin = { module = "io.github.g0dkar:qrcode-kotlin", version.ref = "qrcodeKotlin" }
|
||||||
|
rhino = { module = "org.mozilla:rhino", version.ref = "rhino" }
|
||||||
|
safefile = { module = "com.github.LagradOst:SafeFile", version.ref = "safefile" }
|
||||||
|
shimmer = { module = "com.facebook.shimmer:shimmer", version.ref = "shimmer" }
|
||||||
|
swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "swiperefreshlayout" }
|
||||||
|
tmdb-java = { module = "com.uwetrottmann.tmdb2:tmdb-java", version.ref = "tmdbJava" }
|
||||||
|
tvprovider = { module = "androidx.tvprovider:tvprovider", version.ref = "tvprovider" }
|
||||||
|
video = { module = "com.google.android.mediahome:video", version.ref = "video" }
|
||||||
|
work-runtime = { module = "androidx.work:work-runtime", version.ref = "workRuntime" }
|
||||||
|
work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "workRuntimeKtx" }
|
||||||
|
|
|
@ -20,14 +20,14 @@ kotlin {
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
commonMain.dependencies {
|
commonMain.dependencies {
|
||||||
implementation("com.github.Blatzar:NiceHttp:0.4.11") // HTTP Lib
|
implementation(libs.nicehttp) // HTTP Lib
|
||||||
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1") /* JSON Parser
|
implementation(libs.jackson.module.kotlin) /* JSON Parser
|
||||||
^ Don't Bump Jackson above 2.13.1 , Crashes on Android TV's and FireSticks that have Min API
|
^ Don't Bump Jackson above 2.13.1 , Crashes on Android TV's and FireSticks that have Min API
|
||||||
Level 25 or Less. */
|
Level 25 or Less. */
|
||||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0")
|
implementation(libs.kotlinx.coroutines.core)
|
||||||
implementation("me.xdrop:fuzzywuzzy:1.4.0") // Match extractors
|
implementation(libs.fuzzywuzzy) // Match extractors
|
||||||
implementation("org.mozilla:rhino:1.7.15") // run JavaScript
|
implementation(libs.rhino) // run JavaScript
|
||||||
implementation("com.github.teamnewpipe:NewPipeExtractor:fafd471")
|
implementation(libs.newpipeextractor.vfafd471)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
o/debug
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue