3711bd0d24
This starts a Media3 MediaSession when the service starts. A custom player class gets passed into that session to receive commands from other apps and the android os. Currently we pad out some dummy items to make SimpleBasePlayer think we can do next and previous tracks. MPD handles the threading for the native calls so we can just directly call the bridge from the player class.
76 lines
2.1 KiB
Plaintext
76 lines
2.1 KiB
Plaintext
plugins {
|
|
id("com.android.application")
|
|
id("org.jetbrains.kotlin.android")
|
|
}
|
|
|
|
android {
|
|
namespace = "org.musicpd"
|
|
compileSdk = 34
|
|
|
|
defaultConfig {
|
|
applicationId = "org.musicpd"
|
|
minSdk = 24
|
|
targetSdk = 30
|
|
versionCode = 1
|
|
versionName = "1.0"
|
|
vectorDrawables {
|
|
useSupportLibrary = true
|
|
}
|
|
}
|
|
|
|
buildFeatures {
|
|
aidl = true
|
|
compose = true
|
|
}
|
|
|
|
composeOptions {
|
|
kotlinCompilerExtensionVersion = "1.5.4"
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
isMinifyEnabled = false
|
|
proguardFiles(
|
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
"proguard-rules.pro"
|
|
)
|
|
}
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_1_9
|
|
targetCompatibility = JavaVersion.VERSION_1_9
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = "9"
|
|
}
|
|
packaging {
|
|
resources {
|
|
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2")
|
|
implementation(platform("androidx.compose:compose-bom:2023.10.01"))
|
|
|
|
implementation("androidx.compose.material3:material3")
|
|
implementation("androidx.activity:activity-compose:1.8.2")
|
|
implementation("androidx.compose.material:material-icons-extended")
|
|
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2")
|
|
implementation("androidx.lifecycle:lifecycle-runtime-compose:2.6.2")
|
|
|
|
implementation("com.github.alorma:compose-settings-ui-m3:1.0.3")
|
|
implementation("com.github.alorma:compose-settings-storage-preferences:1.0.3")
|
|
implementation("com.google.accompanist:accompanist-permissions:0.33.2-alpha")
|
|
|
|
implementation("androidx.media3:media3-session:1.2.0")
|
|
|
|
// Android Studio Preview support
|
|
implementation("androidx.compose.ui:ui-tooling-preview")
|
|
debugImplementation("androidx.compose.ui:ui-tooling")
|
|
debugImplementation("androidx.compose.ui:ui-test-manifest")
|
|
|
|
implementation("androidx.appcompat:appcompat:1.6.1")
|
|
}
|