plugins {
    id "com.android.application"
    id "kotlin-android"
    id "com.google.gms.google-services"
    id "dev.flutter.flutter-gradle-plugin"
    id "com.google.firebase.crashlytics"
    id "com.huawei.agconnect"
//    id("com.mapbox.gradle.application")
//    id("com.mapbox.gradle.plugins.ndk")
}


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


android {
    namespace 'com.ejada.hmg'
    compileSdk 36
    ndkVersion '28.2.13676358'

    defaultConfig {
        applicationId "com.ejada.hmg"
//        minSdk 24
        minSdkVersion 26
        targetSdkVersion 35
        compileSdkVersion 35
//        targetSdk = flutter.targetSdkVersion
        versionCode = flutter.versionCode
        versionName = flutter.versionName
        multiDexEnabled true
    }

    buildFeatures {
        viewBinding true
        dataBinding true
    }

    sourceSets {
        main {
            java.srcDirs += 'src/main/kotlin'
            jniLibs.srcDir 'src/main/libs'
            jni.srcDirs = [] // disables automatic ndk-build
        }
    }

    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        }
    }

    buildTypes {
        debug {
            debuggable true
            signingConfig signingConfigs.debug
            minifyEnabled false
            shrinkResources false
        }
        release {
            debuggable false
            signingConfig signingConfigs.release
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        staging {
            matchingFallbacks = ['debug', 'qa', 'release']
        }
    }
    packagingOptions {
        jniLibs {
            pickFirsts += ['lib/x86/libc++_shared.so', 'lib/x86_64/libc++_shared.so', 'lib/armeabi-v7a/libc++_shared.so', 'lib/arm64-v8a/libc++_shared.so', '**/*.so']
            useLegacyPackaging true
        }
        resources {
            excludes += ['META-INF/proguard/androidx-annotations.pro']
        }
        pickFirst '**/libzoom_util.so'
        pickFirst '**/libzoom_video_sdk.so'
        pickFirst '**/libzoom_annotation.so'
        pickFirst '**/libzoom_videoeffects.so'
    }

    // Enable core library desugaring
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_21
        targetCompatibility JavaVersion.VERSION_21
        coreLibraryDesugaringEnabled true
    }

//    kotlinOptions {
//        jvmTarget = '17'
//    }

    lint {
        disable 'MissingTranslation'
        checkReleaseBuilds false
    }
}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.1.20"
    implementation "com.google.firebase:firebase-messaging:24.1.2"
    implementation 'pub.devrel:easypermissions:3.0.0'
    implementation 'com.google.guava:guava:33.4.0-android'
    implementation fileTree(dir: 'libs', include: ['*.jar'], exclude: ['bcprov-jdk16-1.46.jar'])

    implementation 'com.google.code.gson:gson:2.12.0'

    // Zoom SDKs
    implementation "us.zoom.videosdk:zoomvideosdk-core:1.12.10"
    implementation "us.zoom.videosdk:zoomvideosdk-annotation:1.12.10"
    implementation "us.zoom.videosdk:zoomvideosdk-videoeffects:1.12.10"

    // Networking
    implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11'
    implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.11'
    implementation 'com.squareup.retrofit2:retrofit:2.11.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.11.0'
    implementation 'com.squareup.retrofit2:adapter-java8:2.11.0'

    // Google Services
    implementation 'com.google.android.gms:play-services-location:21.3.0'
    implementation 'com.google.android.gms:play-services-basement:18.7.0'

    implementation 'com.android.volley:volley:1.2.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
    implementation 'androidx.navigation:navigation-fragment-ktx:2.9.0'
    implementation 'androidx.navigation:navigation-ui-ktx:2.9.0'
    implementation 'androidx.activity:activity-ktx:1.10.1'

    def room_version = "2.6.1"
    implementation "androidx.room:room-runtime:$room_version"
    annotationProcessor "androidx.room:room-compiler:$room_version"

    implementation 'net.zetetic:android-database-sqlcipher:4.5.4'
    implementation 'com.intuit.ssp:ssp-android:1.1.0'
    implementation 'com.intuit.sdp:sdp-android:1.1.0'

    implementation 'com.github.bumptech.glide:glide:4.16.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0'

    implementation 'com.mapbox.maps:android:11.5.0'
//    implementation 'com.mapbox.maps:android:11.4.0'

    // AARs
    implementation files('libs/PenNavUI.aar')
    implementation files('libs/Penguin.aar')
    implementation files('libs/PenguinRenderer.aar')

    implementation 'com.github.kittinunf.fuel:fuel:2.3.1'
    implementation 'com.github.kittinunf.fuel:fuel-android:2.3.1'

    implementation "com.opentok.android:opentok-android-sdk:2.25.2"

    implementation 'com.facebook.stetho:stetho:1.6.0'
    implementation 'com.facebook.stetho:stetho-urlconnection:1.6.0'

    implementation 'androidx.core:core-ktx:1.16.0'
    implementation 'androidx.appcompat:appcompat:1.7.1'
    implementation 'com.google.android.material:material:1.12.0'

    implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.25'

    androidTestImplementation "androidx.test:core:1.6.1"
    implementation 'com.whatsapp.otp:whatsapp-otp-android-sdk:0.1.0'
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
//    implementation project(':vitalSignEngine')
}
