apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'org.jetbrains.kotlin.plugin.compose'

android {
    compileSdkVersion 35
    defaultConfig {
        applicationId 'com.google.oboe.samples.oboedj'
        minSdkVersion 23
        targetSdkVersion 36
        compileSdkVersion 36
        versionCode 1
        versionName '1.0'
        externalNativeBuild {
            cmake {
                cppFlags "-std=c++17"
                arguments '-DANDROID_STL=c++_static'
                abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
            }
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),
                          'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_18
        targetCompatibility JavaVersion.VERSION_18
    }
    kotlinOptions {
        jvmTarget = "18"
    }
    externalNativeBuild {
        cmake {
            path 'src/main/cpp/CMakeLists.txt'
        }
    }
    buildFeatures {
        compose true
    }
    composeOptions {
        kotlinCompilerExtensionVersion compose_version
    }
    namespace 'com.google.oboe.samples.oboedj'
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation project(':audio-device')
    implementation project(':parselib') // We need parselib for WAV reading
    implementation project(':shared')
    implementation 'androidx.appcompat:appcompat:1.7.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
    
    // Compose
    implementation "androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-runtime-compose:$lifecycle_version"
    implementation "androidx.compose.ui:ui:$compose_version"
    implementation "androidx.compose.material3:material3:1.3.2"
    implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
    implementation 'androidx.activity:activity-compose:1.10.1'
    implementation 'androidx.compose.runtime:runtime-livedata:1.10.0'
}