apply from: gradle.ext.sharedModulesConstants
apply plugin: 'kotlin-android'
apply plugin: 'com.android.library'

android {
    // FIX: Default interface methods are only supported starting with Android N (--min-api 24)
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    compileSdkVersion project.properties.compileSdkVersion
    buildToolsVersion project.properties.buildToolsVersion
    testOptions.unitTests.includeAndroidResources = true

    defaultConfig {
        minSdkVersion project.properties.minSdkVersion
        targetSdkVersion project.properties.targetSdkVersion
        versionCode 10
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles 'consumer-rules.pro'

        // More info: http://myhexaville.com/2017/03/10/android-multidex/
        // Additionally, you should extend your application from MultiDexApplication
        multiDexEnabled = true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    // gradle 4.6 migration: disable dimensions mechanism
    // more: https://proandroiddev.com/advanced-android-flavors-part-4-a-new-version-fc2ad80c01bb
    flavorDimensions "default"

    productFlavors {
        stbeta {}
        ststable {}
        storig {}
        stamazon {}
        staptoide {}
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:' + appCompatXLibraryVersion
    testImplementation 'junit:junit:' + junitVersion
    testImplementation 'org.robolectric:robolectric:' + robolectricVersion

    implementation project(':sharedutils')
    implementation project(':fragment-1.1.0')
    implementation project(':mediaserviceinterfaces')
    implementation project(':youtubeapi')
    implementation project(':filepicker-lib')

    implementation 'io.reactivex.rxjava2:rxandroid:' + rxAndroidVersion
    implementation 'io.reactivex.rxjava2:rxjava:' + rxJavaVersion

    //////// BEGIN EXOPLAYER /////////

    implementation project(':exoplayer-library')
    implementation project(':exoplayer-extension-okhttp')
    implementation project(':exoplayer-extension-cronet')

    // implementation 'com.amazon.android:exoplayer:' + amazonExoplayerVersion
    // implementation 'com.amazon.android:extension-okhttp:' + amazonExoplayerVersion

    // implementation 'com.google.android.exoplayer:exoplayer:' + exoplayerVersion
    // implementation 'com.google.android.exoplayer:extension-okhttp:' + exoplayerVersion

    // implementation 'com.github.amzn:exoplayer-amazon-port:' + amazonExoplayerJitpackVersion

    //////// END EXOPLAYER //////////

    implementation 'androidx.media:media:' + mediaXLibraryVersion // exoplayer fix

    implementation 'com.github.bumptech.glide:glide:' + glideVersion

    implementation 'androidx.work:work-runtime:' + workVersion
    implementation 'com.google.guava:guava:' + guavaVersion // Work library deps

    implementation 'androidx.browser:browser:' + browserXVersion

    implementation 'androidx.core:core-ktx:' + kotlinCoreXVersion
    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:' + kotlinVersion
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:' + kotlinxVersion

    implementation 'com.jakewharton:process-phoenix:' + phoenixVersion

    stbetaImplementation project(':leanbackassistant')
    ststableImplementation project(':leanbackassistant')
    storigImplementation project(':leanbackassistant')
    staptoideImplementation project(':leanbackassistant')

    stbetaImplementation project(':appupdatechecker2')
    ststableImplementation project(':appupdatechecker2')
    storigImplementation project(':appupdatechecker2')
    stamazonImplementation project(':appupdatechecker2')
    staptoideImplementation project(':appupdatechecker2')
}

apply from: 'custom-deps.gradle'
