apply plugin: 'com.android.application' apply plugin: "androidx.navigation.safeargs" android { compileSdkVersion 30 buildToolsVersion "30.0.2" defaultConfig { minSdkVersion 21 targetSdkVersion 30 versionCode 37 versionName "1.12.1" multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } dexOptions { javaMaxHeapSize "4g" } flavorDimensions "default" buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } buildFeatures { viewBinding = true } lintOptions { disable 'MissingTranslation' checkReleaseBuilds false abortOnError false } //boolean full_instances if set to false means TubeAcad productFlavors { fdroid_peertube_apps_educ { applicationId "app.fedilab.fedilabtube" resValue "string", "app_name", "TubeAcad" resValue "string", "app_id", "app.fedilab.fedilabtube" buildConfigField "String", "version", "\"fdroid_acad\"" buildConfigField "boolean", "full_instances", "false" buildConfigField "boolean", "google_restriction", "false" buildConfigField "boolean", "surfing_mode", "false" buildConfigField "boolean", "sepia_search", "false" buildConfigField "boolean", "instance_switcher", "true" buildConfigField "boolean", "allow_remote_connections", "false" } google_peertube_apps_educ { applicationId "app.fedilab.fedilabtube" resValue "string", "app_name", "TubeAcad" resValue "string", "app_id", "app.fedilab.fedilabtube" buildConfigField "String", "version", "\"google_acad\"" buildConfigField "boolean", "full_instances", "false" buildConfigField "boolean", "google_restriction", "true" buildConfigField "boolean", "surfing_mode", "false" buildConfigField "boolean", "sepia_search", "false" buildConfigField "boolean", "instance_switcher", "true" buildConfigField "boolean", "allow_remote_connections", "false" } fdroid_full { applicationId "app.fedilab.tubelab" resValue "string", "app_name", "TubeLab" resValue "string", "app_id", "app.fedilab.tubelab" buildConfigField "String", "version", "\"fdroid_full\"" buildConfigField "boolean", "full_instances", "true" buildConfigField "boolean", "google_restriction", "false" buildConfigField "boolean", "surfing_mode", "true" buildConfigField "boolean", "sepia_search", "true" buildConfigField "boolean", "instance_switcher", "true" buildConfigField "boolean", "allow_remote_connections", "true" } google_full { applicationId "app.fedilab.tubelab" resValue "string", "app_name", "TubeLab" resValue "string", "app_id", "app.fedilab.tubelab" buildConfigField "String", "version", "\"google_full\"" buildConfigField "boolean", "full_instances", "true" buildConfigField "boolean", "google_restriction", "true" buildConfigField "boolean", "surfing_mode", "true" buildConfigField "boolean", "sepia_search", "true" buildConfigField "boolean", "instance_switcher", "true" buildConfigField "boolean", "allow_remote_connections", "true" } queermotion { applicationId "org.queermotion.peertube" resValue "string", "app_name", "QueerMotion" resValue "string", "app_id", "org.queermotion.peertube" buildConfigField "String", "version", "\"queermotion\"" buildConfigField "boolean", "full_instances", "true" buildConfigField "boolean", "google_restriction", "false" buildConfigField "boolean", "surfing_mode", "false" buildConfigField "boolean", "sepia_search", "false" buildConfigField "boolean", "instance_switcher", "false" buildConfigField "boolean", "allow_remote_connections", "false" } bittube { applicationId "app.fedilab.bittube" resValue "string", "app_name", "Bittube" resValue "string", "app_id", "app.fedilab.bittube" buildConfigField "String", "version", "\"bittube\"" buildConfigField "boolean", "full_instances", "true" buildConfigField "boolean", "google_restriction", "true" buildConfigField "boolean", "surfing_mode", "false" buildConfigField "boolean", "sepia_search", "false" buildConfigField "boolean", "instance_switcher", "true" buildConfigField "boolean", "allow_remote_connections", "false" } } sourceSets { fdroid_peertube_apps_educ { res.srcDirs = ['src/main/res', 'src/acad/res'] java.srcDirs = ['src/main/java', 'src/acad/java', 'src/no_google_donation/java'] } google_peertube_apps_educ { res.srcDirs = ['src/main/res', 'src/acad/res'] java.srcDirs = ['src/main/java', 'src/acad/java', 'src/no_google_donation/java'] } fdroid_full { res.srcDirs = ['src/main/res', 'src/full/res'] java.srcDirs = ['src/main/java', 'src/full/java', 'src/no_google_donation/java'] } google_full { res.srcDirs = ['src/main/res', 'src/full/res', 'src/google_donation/res'] java.srcDirs = ['src/main/java', 'src/full/java', 'src/google_donation/java'] } queermotion { res.srcDirs = ['src/main/res', 'src/queermotion/res'] java.srcDirs = ['src/main/java', 'src/full/java', 'src/no_google_donation/java'] } bittube { res.srcDirs = ['src/main/res', 'src/bittube/res'] java.srcDirs = ['src/main/java', 'src/full/java', 'src/no_google_donation/java'] } } } allprojects { repositories { maven { url "https://jitpack.io" } maven { url "https://maven.google.com"} } } dependencies { implementation "androidx.multidex:multidex:2.0.1" implementation fileTree(dir: "libs", include: ["*.jar"]) implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.preference:preference:1.1.1' implementation 'com.google.android.material:material:1.2.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'androidx.vectordrawable:vectordrawable:1.1.0' implementation 'androidx.navigation:navigation-fragment:2.3.2' implementation "androidx.fragment:fragment:1.2.5" implementation 'androidx.navigation:navigation-ui:2.3.2' implementation ("androidx.navigation:navigation-dynamic-features-fragment:2.3.2") implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' implementation 'androidx.browser:browser:1.3.0' implementation 'androidx.documentfile:documentfile:1.0.1' implementation project(path: ':torrentStream') testImplementation 'junit:junit:4.13.1' androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0' implementation 'com.github.GrenderG:Toasty:1.4.2' implementation 'com.google.android.exoplayer:exoplayer:2.12.2' implementation 'com.google.android.exoplayer:extension-mediasession:2.12.2' implementation "com.github.mabbas007:TagsEditText:1.0.5" implementation "com.github.bumptech.glide:glide:4.11.0" annotationProcessor "com.github.bumptech.glide:compiler:4.11.0" implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0" implementation "net.gotev:uploadservice:4.5.1" implementation "net.gotev:uploadservice-okhttp:4.5.1" implementation "com.google.code.gson:gson:2.8.6" implementation 'androidx.media:media:1.2.1' implementation 'com.github.ybq:Android-SpinKit:1.4.0' implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' implementation 'com.github.mancj:MaterialSearchBar:0.8.5' implementation "io.github.kobakei:ratethisapp:1.2.0" implementation 'com.github.vkay94:DoubleTapPlayerView:1.0.0' implementation "androidx.work:work-runtime:2.4.0" implementation "androidx.work:work-runtime-ktx:2.4.0" //custom cast feature implementation 'jp.wasabeef:glide-transformations:4.0.0' implementation 'su.litvak.chromecast:api-v2:0.11.3' implementation 'com.fasterxml.jackson.core:jackson-core:2.12.0' implementation 'org.slf4j:slf4j-simple:1.7.30' google_fullImplementation "com.android.billingclient:billing:3.0.2" fdroid_peertube_apps_educImplementation 'org.matomo.sdk:tracker:4.1.2' google_peertube_apps_educImplementation 'org.matomo.sdk:tracker:4.1.2' }