
Make it so that PlaybackStateDatabase stores the item data for PlaybackState/QueueItems as strings instead of ids, as ids are too volitaile if the music library changes.
135 lines
No EOL
3.4 KiB
Groovy
135 lines
No EOL
3.4 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-kapt'
|
|
apply plugin: 'androidx.navigation.safeargs'
|
|
|
|
android {
|
|
compileSdkVersion 30
|
|
buildToolsVersion "30.0.1"
|
|
|
|
defaultConfig {
|
|
applicationId "org.oxycblt.auxio"
|
|
minSdkVersion 21
|
|
targetSdkVersion 30
|
|
versionCode 1
|
|
versionName "1.0.0"
|
|
|
|
buildFeatures {
|
|
dataBinding true
|
|
}
|
|
|
|
vectorDrawables.useSupportLibrary = true
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
debuggable true
|
|
|
|
applicationIdSuffix = '.debug'
|
|
versionNameSuffix = "-DEBUG"
|
|
}
|
|
release {
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
}
|
|
|
|
compileOptions {
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
ktlint
|
|
}
|
|
|
|
afterEvaluate {
|
|
preDebugBuild.dependsOn ktlintFormat
|
|
}
|
|
|
|
dependencies {
|
|
implementation fileTree(dir: "libs", include: ["*.jar"])
|
|
|
|
// Kotlin
|
|
//noinspection DifferentStdlibGradleVersion
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
|
|
|
// --- SUPPORT ---
|
|
|
|
// General
|
|
implementation 'androidx.core:core-ktx:1.3.2'
|
|
implementation 'androidx.activity:activity-ktx:1.2.0-rc01'
|
|
implementation 'androidx.fragment:fragment-ktx:1.3.0-rc01'
|
|
|
|
// Layout
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
|
|
|
// Lifecycle
|
|
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
|
|
|
|
// Viewpager
|
|
implementation 'androidx.viewpager2:viewpager2:1.0.0'
|
|
|
|
// Navigation
|
|
def navigation_version = "2.3.2"
|
|
implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version"
|
|
implementation "androidx.navigation:navigation-ui-ktx:$navigation_version"
|
|
|
|
// Media
|
|
implementation 'androidx.media:media:1.2.1'
|
|
|
|
// Preferences
|
|
implementation 'androidx.preference:preference-ktx:1.1.1'
|
|
|
|
// Opening links
|
|
implementation 'androidx.browser:browser:1.3.0'
|
|
|
|
// --- THIRD PARTY ---
|
|
|
|
// ExoPlayer
|
|
def exoplayer_version = "2.12.1"
|
|
implementation "com.google.android.exoplayer:exoplayer-core:$exoplayer_version"
|
|
implementation "com.google.android.exoplayer:extension-mediasession:$exoplayer_version"
|
|
|
|
// Image loading
|
|
implementation 'io.coil-kt:coil:0.13.0'
|
|
|
|
// Material
|
|
implementation 'com.google.android.material:material:1.3.0-beta01'
|
|
|
|
// Fast-Scroll
|
|
implementation 'com.reddit:indicator-fast-scroll:1.3.0'
|
|
|
|
// Dialogs
|
|
implementation 'com.afollestad.material-dialogs:core:3.3.0'
|
|
|
|
// --- DEV ---
|
|
|
|
// Lint
|
|
ktlint "com.pinterest:ktlint:0.40.0"
|
|
|
|
// Memory Leak checking
|
|
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.5'
|
|
}
|
|
|
|
task ktlint(type: JavaExec, group: "verification") {
|
|
description = "Check Kotlin code style."
|
|
main = "com.pinterest.ktlint.Main"
|
|
classpath = configurations.ktlint
|
|
|
|
args "src/**/*.kt"
|
|
}
|
|
check.dependsOn ktlint
|
|
|
|
task ktlintFormat(type: JavaExec, group: "formatting") {
|
|
description = "Fix Kotlin code style deviations."
|
|
main = "com.pinterest.ktlint.Main"
|
|
classpath = configurations.ktlint
|
|
|
|
args "-F", "src/**/*.kt"
|
|
} |