apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    buildToolsVersion '30.0.3'

    defaultConfig {
        applicationId "org.shadowice.flocke.andotp"
        minSdkVersion 22
        targetSdkVersion 30
        versionCode 39
        versionName "0.9.0.1"
        vectorDrawables.useSupportLibrary = true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            applicationIdSuffix = ".dev"
            versionNameSuffix = "-dev"
            testCoverageEnabled = true

            tasks.withType(JavaCompile) {
                options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
            }
        }
    }
    lintOptions {
        abortOnError false
    }
    buildFeatures {
        dataBinding = true
    }
    flavorDimensions 'market'
    productFlavors {
        fdroid {
            dimension = 'market'
        }
        play {
            dimension = 'market'
            versionNameSuffix = "-play"
        }
    }
    compileOptions {
        // Flag to enable support for the new language APIs
        coreLibraryDesugaringEnabled true

        // Sets Java compatibility to Java 8
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    def lifecycle_version = "2.3.1"

    implementation 'androidx.media:media:1.3.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'androidx.recyclerview:recyclerview:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    implementation "androidx.lifecycle:lifecycle-process:${lifecycle_version}"
    implementation "androidx.lifecycle:lifecycle-common-java8:${lifecycle_version}"
    implementation 'com.google.android.material:material:1.3.0'

    //noinspection GradleDependency - because they messed up their version numbering
    implementation "commons-codec:commons-codec:1.15"
    implementation "com.github.aakira:expandable-layout:1.6.0"
    implementation "com.heinrichreimersoftware:material-intro:2.0.0"
    implementation("com.journeyapps:zxing-android-embedded:4.1.0") { transitive = false }
    implementation('com.google.zxing:core:3.4.1')
    implementation "me.zhanghai.android.materialprogressbar:library:1.6.1"
    implementation "com.github.open-keychain.open-keychain:openpgp-api:v5.7.1"
    implementation "com.leinardi.android:speed-dial:3.1.1"
    implementation "com.mikepenz:aboutlibraries:6.2.3" // Supporting a newer version will need some work

    androidTestImplementation "androidx.test.espresso:espresso-core:3.3.0"
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
}
