apply plugin: 'com.android.application'
apply plugin: "androidx.navigation.safeargs"

android {
    compileSdkVersion 29

    defaultConfig {
        applicationId 'me.austinhuang.instagrabber'

        minSdkVersion 21
        targetSdkVersion 29

        versionCode 54
        versionName '19.0.2'

        multiDexEnabled true

        vectorDrawables.useSupportLibrary = true
        vectorDrawables.generatedDensities = []

        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
            }
        }
    }

    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true

        targetCompatibility JavaVersion.VERSION_1_8
        sourceCompatibility JavaVersion.VERSION_1_8
    }

    buildFeatures { viewBinding true }

    aaptOptions { additionalParameters '--no-version-vectors' }

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

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


configurations.all {
    resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1'

    def appcompat_version = "1.2.0"
    def nav_version = '2.3.2'

    implementation 'com.google.android.material:material:1.3.0-alpha04'

    implementation 'com.google.android.exoplayer:exoplayer-core:2.12.0'
    implementation 'com.google.android.exoplayer:exoplayer-ui:2.12.0'

    implementation "androidx.appcompat:appcompat:$appcompat_version"
    implementation "androidx.appcompat:appcompat-resources:$appcompat_version"
    implementation "androidx.recyclerview:recyclerview:1.2.0-beta01"
    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
    implementation "androidx.viewpager2:viewpager2:1.0.0"
    implementation "androidx.navigation:navigation-fragment:$nav_version"
    implementation "androidx.navigation:navigation-ui:$nav_version"
    implementation "androidx.constraintlayout:constraintlayout:2.0.4"
    implementation "androidx.preference:preference:1.1.1"
    implementation "androidx.work:work-runtime:2.4.0"
    implementation 'androidx.palette:palette:1.0.0'

    implementation 'com.google.guava:guava:27.0.1-android'

    // Room
    def room_version = "2.2.5"
    implementation "androidx.room:room-runtime:$room_version"
    implementation "androidx.room:room-guava:$room_version"
    annotationProcessor "androidx.room:room-compiler:$room_version"

    // implementation 'com.github.hendrawd:StorageUtil:1.1.0'
    implementation 'com.github.ammargitham:AutoLinkTextViewV2:master-SNAPSHOT'

    implementation 'org.jsoup:jsoup:1.13.1'
    implementation 'com.facebook.fresco:fresco:2.3.0'
    implementation 'com.facebook.fresco:animated-webp:2.3.0'
    implementation 'com.facebook.fresco:webpsupport:2.3.0'

    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'

    implementation 'org.apache.commons:commons-imaging:1.0-alpha2'

    debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.5'

    testImplementation 'org.junit.jupiter:junit-jupiter:5.7.0'
}