def overrideAndroidSupportLibsVersion = "false"
def overrideGmsVersion = "false"
def overrideFirebaseVersion = "false"
def withCryptorMigration = "false"

try {
    if (cdvHelpers != null) { //not available for Capacitor
        overrideAndroidSupportLibsVersion = cdvHelpers.getConfigPreference("IB_ANDROID_SUPPORT_VER_OVERRIDE", "false")
        overrideGmsVersion = cdvHelpers.getConfigPreference("IB_ANDROID_GMS_VER_OVERRIDE", "false")
        overrideFirebaseVersion = cdvHelpers.getConfigPreference("IB_ANDROID_FIREBASE_VER_OVERRIDE", "false")
        withCryptorMigration = cdvHelpers.getConfigPreference("IB_ANDROID_USE_CRYPTOR_MIGRATION", "false")
    }
} catch (ignored) {}

if (overrideAndroidSupportLibsVersion == "false") overrideAndroidSupportLibsVersion = ""
if (overrideGmsVersion == "false") overrideGmsVersion = ""
if (overrideFirebaseVersion == "false") overrideFirebaseVersion = ""

if (overrideAndroidSupportLibsVersion.empty || overrideAndroidSupportLibsVersion > "26") {
    repositories {
        mavenLocal()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        maven { url 'https://developer.huawei.com/repo/' }
        mavenCentral()
    }
}

buildscript {
    repositories {
        maven { url "https://maven.google.com" }
        maven { url 'https://developer.huawei.com/repo/' }
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:8.9.1'
    }
}

android {
    buildFeatures {
        viewBinding true
    }
}

// apply plugin: 'com.huawei.agconnect'

dependencies {
    def mmHmsVersion = '8.11.1'
    def mmFcmVersion = '14.14.2'
    // Modified by scripts/hms_fix_dependencies.js . To enable run: cordova build android --hms
    def isHmsBuild = false

    // Android dependencies start
    if (!isHmsBuild) {
        implementation "com.infobip:infobip-mobile-messaging-android-chat-sdk:$mmFcmVersion@aar"
        implementation "com.infobip:infobip-mobile-messaging-android-inbox-sdk:$mmFcmVersion@aar"
        implementation("com.infobip:infobip-mobile-messaging-android-sdk:$mmFcmVersion@aar") {
            transitive = true;
            if (!overrideAndroidSupportLibsVersion.empty) {
                exclude group: 'androidx.legacy', module: 'legacy-support-v4'
                exclude group: 'androidx.appcompat', module: 'appcompat'
            }
            if (!overrideFirebaseVersion.empty) {
                exclude group: 'com.google.firebase', module: 'firebase-messaging'
            }
        }
    }
    // Android dependencies end

    // Hms dependencies start
    if (isHmsBuild) {
        implementation "com.infobip:infobip-mobile-messaging-huawei-chat-sdk:$mmHmsVersion@aar"
        implementation "com.infobip:infobip-mobile-messaging-huawei-inbox-sdk:$mmHmsVersion@aar"
        implementation("com.infobip:infobip-mobile-messaging-huawei-sdk:$mmHmsVersion@aar") {
            transitive = true;
            if (!overrideAndroidSupportLibsVersion.empty) {
                exclude group: 'androidx.legacy', module: 'legacy-support-v4'
                exclude group: 'androidx.appcompat', module: 'appcompat'
            }
        }
    }
    // Hms dependencies end

    if (!overrideAndroidSupportLibsVersion.empty) {
        implementation "androidx.legacy:legacy-support-v4:$overrideAndroidSupportLibsVersion"
        implementation "androidx.appcompat:appcompat:$overrideAndroidSupportLibsVersion"
    }
    if (!overrideFirebaseVersion.empty) {
        implementation "com.google.firebase:firebase-messaging:$overrideFirebaseVersion"
    }
    if (withCryptorMigration.toBoolean()) {
        if (isHmsBuild) {
            implementation "com.infobip:infobip-mobile-messaging-huawei-cryptor-migration:$mmHmsVersion@aar"
        } else {
            implementation "com.infobip:infobip-mobile-messaging-android-cryptor-migration:$mmFcmVersion@aar"
        }
    }
}

