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 {
    compileSdk 31

    defaultConfig {
        applicationId "com.simplemobiletools.gallery.pro"
        minSdk 21
        targetSdk 31
        versionCode 371
        versionName "6.23.12"
        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
            shrinkResources 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 {}
        prepaid {}
    }

    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.github.SimpleMobileTools:Simple-Commons:dea77e0130'
    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.24'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    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.caverock:androidsvg-aar:1.4'
    implementation 'com.github.tibbi:gestureviews:a8e8fa8d27'
    implementation 'com.github.tibbi:subsampling-scale-image-view:05b02e26b7'
    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
    implementation 'com.github.penfeizhou.android.animation:awebp:2.17.0'
    implementation 'com.github.penfeizhou.android.animation:apng:2.17.0'
    implementation 'com.squareup.okio:okio:3.0.0'
    implementation('com.squareup.picasso:picasso:2.71828') {
        exclude group: 'com.squareup.okhttp3', module: 'okhttp'
    }
    compileOnly 'com.squareup.okhttp3:okhttp:4.9.0'

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

    kapt 'androidx.room:room-compiler:2.4.2'
    implementation 'androidx.room:room-runtime:2.4.2'
    annotationProcessor 'androidx.room:room-compiler:2.4.2'

    //implementation project(':commons')
}

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

    imglyConfig {
        vesdk {
            enabled true
            licensePath 'vesdk_license'
        }

        pesdk {
            enabled true
            licensePath 'pesdk_license'
        }

        modules {
            include 'ui:video-trim'
            include 'ui:core'
            include 'ui:text'
            include 'ui:focus'
            include 'ui:brush'
            include 'ui:filter'
            include 'ui:sticker'
            include 'ui:overlay'
            include 'ui:transform'
            include 'ui:adjustment'

            include 'backend:serializer'
            include 'backend:sticker-smart'
            include 'backend:sticker-animated'

            include 'assets:font-basic'
            include 'assets:filter-basic'
            include 'assets:overlay-basic'
            include 'assets:sticker-shapes'
            include 'assets:sticker-emoticons'
            include 'assets:sticker-animated'
        }
    }
}
