apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"

    defaultConfig {
        applicationId "com.simplemobiletools.gallery.pro"
        minSdkVersion 21
        targetSdkVersion 29
        versionCode 324
        versionName "6.16.5"
        setProperty("archivesBaseName", "gallery-$versionCode")
        vectorDrawables.useSupportLibrary = true
    }

    signingConfigs {
        if (keystorePropertiesFile.exists()) {
            release {
                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            }
        }
    }

    buildTypes {
        debug {
            // we cannot change the original package name, else PhotoEditorSDK won't work
            //applicationIdSuffix ".debug"
        }
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            if (keystorePropertiesFile.exists()) {
                signingConfig signingConfigs.release
            }
        }
    }

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
        if (is_proprietary) {
            main.java.srcDirs += 'src/proprietary/kotlin'
        }
    }

    flavorDimensions "licensing"
    productFlavors {
        proprietary {}
        foss {}
    }

    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    packagingOptions {
        exclude 'META-INF/library_release.kotlin_module'
    }
}

dependencies {
    implementation 'com.simplemobiletools:commons:5.31.13'
    implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
    implementation 'it.sephiroth.android.exif:library:1.0.1'
    implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.19'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
    implementation 'com.google.android.exoplayer:exoplayer-core:2.9.6'
    implementation 'com.google.vr:sdk-panowidget:1.180.0'
    implementation 'com.google.vr:sdk-videowidget:1.180.0'
    implementation 'org.apache.sanselan:sanselan:0.97-incubator'
    implementation 'info.androidhive:imagefilters:1.0.7'
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'com.caverock:androidsvg-aar:1.3'
    implementation 'com.github.tibbi:gestureviews:512f929d82'
    implementation 'com.github.tibbi:subsampling-scale-image-view:81c021514c'
    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
    implementation 'com.github.penfeizhou.android.animation:awebp:2.5.1'

    kapt 'com.github.bumptech.glide:compiler:4.10.0'

    kapt 'androidx.room:room-compiler:2.2.5'
    implementation 'androidx.room:room-runtime:2.2.5'
    annotationProcessor 'androidx.room:room-compiler:2.2.5'
}

// Apply the PESDKPlugin
if (is_proprietary) {
    apply plugin: 'ly.img.android.sdk'

    imglyConfig {
        pesdk {
            enabled true
            licencePath 'pesdk_license'
        }

        modules {
            include 'ui:core'
            include 'ui:text'
            include 'ui:focus'
            include 'ui:brush'
            include 'ui:filter'
            include 'ui:transform'
            include 'ui:adjustment'

            include 'backend:serializer'

            include 'assets:font-basic'
            include 'assets:filter-basic'
        }
    }
}