plugins {
    id 'com.android.application'
}

android {
    namespace 'com.gathin.tvhome'
    compileSdk 34

    defaultConfig {
        // Opt-in identity for firmware with a package-name HOME allowlist; see docs/devices/xiaomi-mitv-aetp0-dofus.md.
        applicationId providers.gradleProperty('launcherApplicationId').getOrElse('com.gathin.tvhome')
        minSdk 26
        targetSdk 34
        versionCode 11
        versionName '3.2'
    }

    buildTypes {
        release {
            // R8 strips and optimises the code (AndroidX included): smaller APK, faster start on a slow TV CPU.
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            // Sideloaded over ADB, never published: sign with the debug key so it installs over a debug build.
            signingConfig signingConfigs.debug
        }
    }

    packagingOptions {
        resources {
            // Kotlin metadata pulled in by AndroidX's dependencies. This launcher is plain Java and never reads it;
            // leaving it out saves about 14 KB of every install.
            excludes += ['kotlin/**', 'META-INF/*.version', 'META-INF/*.kotlin_module', 'DebugProbesKt.bin']
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
}

dependencies {
    implementation 'androidx.recyclerview:recyclerview:1.3.2'
    implementation 'androidx.dynamicanimation:dynamicanimation:1.0.0'
    // Test only (never in the APK): plain JVM tests for the module card validators, src/test.
    testImplementation 'junit:junit:4.13.2'
}
