plugins {
    id 'com.android.application'
    id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    id 'com.google.gms.google-services'
    id 'com.google.firebase.crashlytics'
}

android {
    namespace 'com.app.simplitend'
    compileSdk 33

    defaultConfig {
        applicationId "com.app.simplitend"
        minSdk 24
        targetSdk 33
        versionCode 8
        versionName "1.1.1"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        debug{
            buildConfigField "String", "SIMPLITEND_BASE_URL", SIMPLITEND_BASE_URL
            buildConfigField "String", "SIMPLITEND_SOKCET_HOST", SIMPLITEND_SOKCET_HOST
        }
        release {
            buildConfigField "String", "SIMPLITEND_BASE_URL", SIMPLITEND_BASE_URL
            buildConfigField "String", "SIMPLITEND_SOKCET_HOST", SIMPLITEND_SOKCET_HOST
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        coreLibraryDesugaringEnabled true
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    buildFeatures{
        viewBinding true
    }

}

dependencies {
    // This is due to new api's in java which are not available in android's lower version
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.3'

    // socket IO for chat
    implementation ('io.socket:socket.io-client:1.0.0') {
        exclude group: 'org.json', module: 'json'
    }

    implementation 'com.google.firebase:firebase-crashlytics:18.3.2'
    implementation 'com.google.firebase:firebase-analytics:21.2.0'

    // Navigation component
    def nav_version = "2.5.3"

    // Java language implementation
    implementation "androidx.navigation:navigation-fragment:$nav_version"
    implementation "androidx.navigation:navigation-ui:$nav_version"

    // circle indicator for viewpager
    implementation 'me.relex:circleindicator:2.1.6'

    // Glide
    implementation 'com.github.bumptech.glide:glide:4.15.1'

    // lottie
    def lottieVersion = "3.4.0"
    implementation "com.airbnb.android:lottie:$lottieVersion"

    // dynamic text size
    implementation 'com.intuit.ssp:ssp-android:1.1.0'

    // dynamic layout size
    implementation 'com.intuit.sdp:sdp-android:1.1.0'

    // spinners
    implementation "com.github.skydoves:powerspinner:1.2.7"

    // cicle image view
    implementation 'de.hdodenhof:circleimageview:3.1.0'

    // chat view
    implementation 'com.github.stfalcon-studio:Chatkit:v0.4.1'

    // mapview
    implementation 'com.google.android.gms:play-services-maps:18.1.0'

    // directions api
    implementation 'com.google.maps:google-maps-services:2.2.0'
    implementation 'org.slf4j:slf4j-simple:1.7.25'

    // for decoding direction results into polylines
    implementation 'com.google.maps.android:android-maps-utils:3.5.3'

    // location
    implementation 'com.google.android.gms:play-services-location:21.0.1'

    // places api
    implementation 'com.google.android.libraries.places:places:3.1.0'

    // retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.3'

    // gson converter
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'

    implementation 'com.github.dhaval2404:imagepicker:2.1'

    implementation 'com.googlecode.libphonenumber:libphonenumber:8.12.32'

    implementation 'com.yarolegovich:sliding-root-nav:1.1.1'

    // views animation
    implementation 'com.daimajia.easing:library:2.4@aar'
    implementation 'com.daimajia.androidanimations:library:2.4@aar'

    // biometrics
    implementation "androidx.biometric:biometric:1.1.0"

    // Stripe Android SDK
    implementation 'com.stripe:stripe-android:20.28.0'

    // One signal sdk
    implementation 'com.onesignal:OneSignal:[5.0.0, 5.99.99]'

    implementation 'androidx.appcompat:appcompat:1.6.0'
    implementation 'com.google.android.material:material:1.8.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.5'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}