// Copyright 2024 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. apply from: '../../constants.gradle' apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'org.jetbrains.kotlin.plugin.compose' android { namespace 'androidx.media3.demo.compose' compileSdk project.ext.compileSdkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } defaultConfig { versionName project.ext.releaseVersion versionCode project.ext.releaseVersionCode minSdkVersion project.ext.minSdkVersion targetSdkVersion project.ext.appTargetSdkVersion } buildTypes { release { shrinkResources true minifyEnabled true signingConfig signingConfigs.debug } debug { jniDebuggable = true } } lintOptions { // The demo app isn't indexed, and doesn't have translations. disable 'GoogleAppIndexingWarning','MissingTranslation' } buildFeatures { compose true } testOptions { unitTests { includeAndroidResources = true } } } dependencies { def composeBom = platform('androidx.compose:compose-bom:2024.12.01') implementation composeBom implementation 'androidx.activity:activity-compose:1.9.0' implementation 'androidx.compose.foundation:foundation' implementation 'androidx.compose.material3:material3' implementation 'androidx.compose.material:material-icons-extended' implementation 'androidx.compose.ui:ui-tooling-preview' implementation 'androidx.lifecycle:lifecycle-runtime-compose:' + androidxLifecycleVersion implementation 'com.google.android.material:material:' + androidxMaterialVersion implementation project(modulePrefix + 'lib-exoplayer') implementation project(modulePrefix + 'lib-ui-compose') debugImplementation 'androidx.compose.ui:ui-tooling' // For detecting and debugging leaks only. LeakCanary is not needed for demo app to work. debugImplementation 'com.squareup.leakcanary:leakcanary-android:' + leakCanaryVersion }