Dismiss download multiple sheet when all items are dismissed Add backup for history, queued downloads, cancelled downloads, cookies, shortcuts, templates Add long click format to show details in audio video tab removed check icon from checked state in material cards Implement format fetching on playlist from invidious Invert selected items in playlist bottom sheet Make filename templates for both audio and video and add them as a chip on both tabs Fixed errors when there is no internet and u ask for the latest version of the app Fixed "default" format error
182 lines
6.4 KiB
Groovy
182 lines
6.4 KiB
Groovy
|
|
plugins {
|
|
id 'com.android.application'
|
|
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1'
|
|
id 'org.jetbrains.kotlin.android'
|
|
id 'kotlin-kapt'
|
|
id "org.jetbrains.kotlin.plugin.serialization" version "1.8.10"
|
|
}
|
|
|
|
def properties = new Properties()
|
|
|
|
android {
|
|
namespace 'com.deniscerri.ytdlnis'
|
|
compileSdk 33
|
|
|
|
try {
|
|
def propertiesFile = rootProject.file("local.properties")
|
|
if(propertiesFile.text != ""){
|
|
properties.load(new FileInputStream(propertiesFile))
|
|
|
|
properties.load(new FileInputStream(propertiesFile))
|
|
signingConfigs {
|
|
debug {
|
|
storeFile file(properties["signingConfig.storeFile"])
|
|
storePassword properties["signingConfig.storePassword"]
|
|
keyAlias properties["signingConfig.keyAlias"]
|
|
keyPassword properties["signingConfig.keyPassword"]
|
|
}
|
|
}
|
|
}
|
|
}catch(IOException ignored){}
|
|
defaultConfig {
|
|
applicationId "com.deniscerri.ytdl"
|
|
minSdk 23
|
|
targetSdk 33
|
|
versionCode project.versionCode
|
|
versionName project.versionName
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
archivesBaseName = "YTDLnis-$versionName"
|
|
ndk {
|
|
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
|
|
}
|
|
vectorDrawables {
|
|
useSupportLibrary true
|
|
}
|
|
|
|
kapt {
|
|
arguments {
|
|
arg("room.schemaLocation", "$projectDir/schemas")
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
sourceSets {
|
|
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
debuggable false
|
|
signingConfig signingConfigs.debug
|
|
}
|
|
|
|
dev {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
debuggable true
|
|
signingConfig signingConfigs.debug
|
|
}
|
|
|
|
debug {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
debuggable true
|
|
signingConfig signingConfigs.debug
|
|
}
|
|
|
|
benchmark {
|
|
initWith release
|
|
proguardFiles 'baseline-profiles-rules.pro'
|
|
debuggable false
|
|
matchingFallbacks ['release']
|
|
signingConfig signingConfigs.debug
|
|
}
|
|
}
|
|
|
|
lintOptions{
|
|
disable 'MissingTranslation'
|
|
}
|
|
|
|
buildFeatures {
|
|
viewBinding true
|
|
compose true
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_17
|
|
targetCompatibility JavaVersion.VERSION_17
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = '17'
|
|
}
|
|
|
|
splits {
|
|
abi {
|
|
enable true
|
|
reset()
|
|
include 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
|
|
universalApk true
|
|
}
|
|
}
|
|
composeOptions {
|
|
kotlinCompilerExtensionVersion composeVer
|
|
}
|
|
}
|
|
|
|
|
|
dependencies {
|
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
|
|
implementation "com.github.yausername.youtubedl-android:library:$youtubedlAndroidVer"
|
|
implementation "com.github.yausername.youtubedl-android:ffmpeg:$youtubedlAndroidVer"
|
|
implementation "com.github.yausername.youtubedl-android:aria2c:$youtubedlAndroidVer"
|
|
|
|
implementation "androidx.appcompat:appcompat:$appCompatVer"
|
|
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
|
|
implementation 'com.google.android.material:material:1.9.0'
|
|
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
|
implementation 'androidx.recyclerview:recyclerview:1.3.0'
|
|
implementation 'androidx.preference:preference:1.2.0'
|
|
implementation "androidx.navigation:navigation-fragment-ktx:$navVer"
|
|
implementation "androidx.navigation:navigation-ui-ktx:$navVer"
|
|
implementation 'androidx.core:core-ktx:1.10.0'
|
|
implementation 'androidx.test.ext:junit-ktx:1.1.5'
|
|
implementation 'androidx.benchmark:benchmark-macro:1.1.1'
|
|
testImplementation "junit:junit:$junitVer"
|
|
androidTestImplementation "junit:junit:$junitVer"
|
|
androidTestImplementation "androidx.test.ext:junit:$androidJunitVer"
|
|
androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVer"
|
|
androidTestImplementation "androidx.benchmark:benchmark-macro-junit4:1.2.0-alpha13"
|
|
androidTestImplementation "androidx.test:runner:1.5.2"
|
|
androidTestImplementation "androidx.test:core:1.5.0"
|
|
androidTestImplementation "androidx.test:rules:1.5.0"
|
|
androidTestImplementation "androidx.navigation:navigation-testing:$navVer"
|
|
|
|
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
|
|
implementation "com.devbrackets.android:exomedia:4.3.0"
|
|
|
|
implementation("androidx.cardview:cardview:1.0.0")
|
|
implementation("com.squareup.picasso:picasso:2.71828")
|
|
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
|
|
|
|
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0'
|
|
implementation 'com.facebook.shimmer:shimmer:0.5.0'
|
|
|
|
implementation "androidx.work:work-runtime-ktx:$workVer"
|
|
|
|
implementation "androidx.room:room-runtime:2.5.1"
|
|
implementation "androidx.room:room-ktx:2.5.1"
|
|
kapt "androidx.room:room-compiler:2.5.1"
|
|
androidTestImplementation "androidx.room:room-testing:2.5.1"
|
|
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.1'
|
|
implementation "androidx.compose.runtime:runtime:$composeVer"
|
|
androidTestImplementation "com.google.truth:truth:1.1.3"
|
|
|
|
api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutineVer"
|
|
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutineVer"
|
|
|
|
implementation "com.squareup.retrofit2:retrofit:$retrofitVer"
|
|
implementation "com.squareup.retrofit2:converter-gson:$retrofitVer"
|
|
implementation "com.squareup.okhttp3:okhttp:5.0.0-alpha.10"
|
|
implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11'
|
|
|
|
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0'
|
|
implementation "com.google.android.exoplayer:exoplayer:2.18.6"
|
|
implementation 'it.xabaras.android:recyclerview-swipedecorator:1.4'
|
|
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.6.1"
|
|
}
|