Explitly declare dependencies
Explicitly declare some dependencies that were originally implicit, resolving some future build issues.
This commit is contained in:
parent
ffd3275ca5
commit
cc3d4fb9c6
6 changed files with 36 additions and 35 deletions
|
@ -1,7 +1,7 @@
|
||||||
apply plugin: 'com.android.application'
|
apply plugin: "com.android.application"
|
||||||
apply plugin: 'kotlin-android'
|
apply plugin: "kotlin-android"
|
||||||
apply plugin: 'kotlin-kapt'
|
apply plugin: "kotlin-kapt"
|
||||||
apply plugin: 'androidx.navigation.safeargs'
|
apply plugin: "androidx.navigation.safeargs"
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 30
|
compileSdkVersion 30
|
||||||
|
@ -23,13 +23,13 @@ android {
|
||||||
debug {
|
debug {
|
||||||
debuggable true
|
debuggable true
|
||||||
|
|
||||||
applicationIdSuffix = '.debug'
|
applicationIdSuffix = ".debug"
|
||||||
versionNameSuffix = "-DEBUG"
|
versionNameSuffix = "-DEBUG"
|
||||||
}
|
}
|
||||||
|
|
||||||
release {
|
release {
|
||||||
minifyEnabled true
|
minifyEnabled true
|
||||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,39 +53,44 @@ afterEvaluate {
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
implementation fileTree(dir: "libs", include: ["*.jar"])
|
||||||
|
|
||||||
// FIXME: A good chunk of the dependencies I use are implicit,
|
|
||||||
// I may want to explicitly declare them to avoid any annoying build issues in the future.
|
|
||||||
|
|
||||||
// Kotlin
|
// Kotlin
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
||||||
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
||||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
|
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
||||||
|
|
||||||
// --- SUPPORT ---
|
// --- SUPPORT ---
|
||||||
|
|
||||||
// General
|
// General
|
||||||
implementation 'androidx.core:core-ktx:1.3.2'
|
implementation "androidx.core:core-ktx:1.3.2"
|
||||||
implementation 'androidx.activity:activity-ktx:1.3.0-alpha04'
|
implementation "androidx.appcompat:appcompat:1.2.0"
|
||||||
implementation 'androidx.fragment:fragment-ktx:1.3.0' // Don't upgrade until they fix the launcher issue
|
implementation "androidx.activity:activity-ktx:1.2.1"
|
||||||
|
implementation "androidx.fragment:fragment-ktx:1.3.1"
|
||||||
|
|
||||||
// Layout
|
// UI
|
||||||
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
implementation "androidx.constraintlayout:constraintlayout:2.0.4"
|
||||||
|
implementation "androidx.dynamicanimation:dynamicanimation:1.0.0"
|
||||||
|
|
||||||
// Lifecycle
|
// Lifecycle
|
||||||
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
|
def lifecycle_version = "2.3.0"
|
||||||
|
implementation "androidx.lifecycle:lifecycle-common:$lifecycle_version"
|
||||||
|
implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"
|
||||||
|
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
|
||||||
|
implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
|
||||||
|
|
||||||
// Navigation
|
// Navigation
|
||||||
implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version"
|
|
||||||
implementation "androidx.navigation:navigation-ui-ktx:$navigation_version"
|
implementation "androidx.navigation:navigation-ui-ktx:$navigation_version"
|
||||||
|
implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version"
|
||||||
|
|
||||||
// Media
|
// Media
|
||||||
// TODO: Migrate to media2 once NewPipe implements it so I can figure out how it works
|
// TODO: Migrate to media2 when I can figure out how to use it
|
||||||
implementation 'androidx.media:media:1.2.1'
|
implementation "androidx.media:media:1.2.1"
|
||||||
|
|
||||||
// Preferences
|
// Preferences
|
||||||
implementation 'androidx.preference:preference-ktx:1.1.1'
|
implementation "androidx.preference:preference-ktx:1.1.1"
|
||||||
|
|
||||||
// Opening links
|
// Opening links
|
||||||
implementation 'androidx.browser:browser:1.3.0'
|
implementation "androidx.browser:browser:1.3.0"
|
||||||
|
|
||||||
// --- THIRD PARTY ---
|
// --- THIRD PARTY ---
|
||||||
|
|
||||||
|
@ -95,15 +100,15 @@ dependencies {
|
||||||
implementation "com.google.android.exoplayer:extension-mediasession:$exoplayer_version"
|
implementation "com.google.android.exoplayer:extension-mediasession:$exoplayer_version"
|
||||||
|
|
||||||
// Image loading
|
// Image loading
|
||||||
implementation 'io.coil-kt:coil:1.1.1'
|
implementation "io.coil-kt:coil:1.1.1"
|
||||||
|
|
||||||
// Material
|
// Material
|
||||||
implementation 'com.google.android.material:material:1.3.0'
|
implementation "com.google.android.material:material:1.3.0"
|
||||||
|
|
||||||
// Dialogs
|
// Dialogs
|
||||||
// TODO: Eliminate these, don't want their bloat.
|
// TODO: Eliminate these, don't want their bloat.
|
||||||
implementation 'com.afollestad.material-dialogs:core:3.3.0'
|
implementation "com.afollestad.material-dialogs:core:3.3.0"
|
||||||
implementation 'com.afollestad.material-dialogs:files:3.3.0'
|
implementation "com.afollestad.material-dialogs:files:3.3.0"
|
||||||
|
|
||||||
// --- DEBUG ---
|
// --- DEBUG ---
|
||||||
|
|
||||||
|
@ -111,7 +116,7 @@ dependencies {
|
||||||
ktlint "com.pinterest:ktlint:0.40.0"
|
ktlint "com.pinterest:ktlint:0.40.0"
|
||||||
|
|
||||||
// Memory Leak checking
|
// Memory Leak checking
|
||||||
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.5'
|
debugImplementation "com.squareup.leakcanary:leakcanary-android:2.5"
|
||||||
}
|
}
|
||||||
|
|
||||||
task ktlint(type: JavaExec, group: "verification") {
|
task ktlint(type: JavaExec, group: "verification") {
|
||||||
|
|
|
@ -21,7 +21,7 @@ import com.afollestad.materialdialogs.utils.invalidateDividers
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||||
import org.oxycblt.auxio.MainActivity
|
import org.oxycblt.auxio.MainActivity
|
||||||
import org.oxycblt.auxio.R
|
import org.oxycblt.auxio.R
|
||||||
import org.oxycblt.auxio.databinding.FragmentBlacklistBinding
|
import org.oxycblt.auxio.databinding.DialogBlacklistBinding
|
||||||
import org.oxycblt.auxio.logD
|
import org.oxycblt.auxio.logD
|
||||||
import org.oxycblt.auxio.playback.PlaybackViewModel
|
import org.oxycblt.auxio.playback.PlaybackViewModel
|
||||||
import org.oxycblt.auxio.ui.createToast
|
import org.oxycblt.auxio.ui.createToast
|
||||||
|
@ -46,7 +46,7 @@ class BlacklistDialog : BottomSheetDialogFragment() {
|
||||||
container: ViewGroup?,
|
container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View {
|
): View {
|
||||||
val binding = FragmentBlacklistBinding.inflate(inflater)
|
val binding = DialogBlacklistBinding.inflate(inflater)
|
||||||
|
|
||||||
val adapter = BlacklistEntryAdapter { path ->
|
val adapter = BlacklistEntryAdapter { path ->
|
||||||
blacklistModel.removePath(path)
|
blacklistModel.removePath(path)
|
||||||
|
|
|
@ -10,7 +10,7 @@ import androidx.core.net.toUri
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||||
import org.oxycblt.auxio.BuildConfig
|
import org.oxycblt.auxio.BuildConfig
|
||||||
import org.oxycblt.auxio.R
|
import org.oxycblt.auxio.R
|
||||||
import org.oxycblt.auxio.databinding.FragmentAboutBinding
|
import org.oxycblt.auxio.databinding.DialogAboutBinding
|
||||||
import org.oxycblt.auxio.logD
|
import org.oxycblt.auxio.logD
|
||||||
import org.oxycblt.auxio.logE
|
import org.oxycblt.auxio.logE
|
||||||
import org.oxycblt.auxio.music.MusicStore
|
import org.oxycblt.auxio.music.MusicStore
|
||||||
|
@ -28,7 +28,7 @@ class AboutDialog : BottomSheetDialogFragment() {
|
||||||
container: ViewGroup?,
|
container: ViewGroup?,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View {
|
): View {
|
||||||
val binding = FragmentAboutBinding.inflate(layoutInflater)
|
val binding = DialogAboutBinding.inflate(layoutInflater)
|
||||||
val musicStore = MusicStore.getInstance()
|
val musicStore = MusicStore.getInstance()
|
||||||
|
|
||||||
binding.aboutVersion.text = BuildConfig.VERSION_NAME
|
binding.aboutVersion.text = BuildConfig.VERSION_NAME
|
||||||
|
|
|
@ -8,7 +8,6 @@ import android.view.View
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout
|
import androidx.constraintlayout.widget.ConstraintLayout
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.core.widget.TextViewCompat
|
import androidx.core.widget.TextViewCompat
|
||||||
import androidx.databinding.DataBindingUtil
|
|
||||||
import androidx.dynamicanimation.animation.DynamicAnimation
|
import androidx.dynamicanimation.animation.DynamicAnimation
|
||||||
import androidx.dynamicanimation.animation.SpringAnimation
|
import androidx.dynamicanimation.animation.SpringAnimation
|
||||||
import androidx.dynamicanimation.animation.SpringForce
|
import androidx.dynamicanimation.animation.SpringForce
|
||||||
|
@ -22,7 +21,6 @@ import org.oxycblt.auxio.ui.inflater
|
||||||
* argument to [FastScrollView.setup].
|
* argument to [FastScrollView.setup].
|
||||||
* This code is fundamentally an adaptation of Reddit's IndicatorFastScroll, albeit specialized
|
* This code is fundamentally an adaptation of Reddit's IndicatorFastScroll, albeit specialized
|
||||||
* towards Auxio. The original library is here: https://github.com/reddit/IndicatorFastScroll/
|
* towards Auxio. The original library is here: https://github.com/reddit/IndicatorFastScroll/
|
||||||
* TODO: Merge this view and FastScrollView? They are effectively reliant on eachother
|
|
||||||
* @author OxygenCobalt
|
* @author OxygenCobalt
|
||||||
*/
|
*/
|
||||||
class FastScrollThumb @JvmOverloads constructor(
|
class FastScrollThumb @JvmOverloads constructor(
|
||||||
|
@ -31,9 +29,7 @@ class FastScrollThumb @JvmOverloads constructor(
|
||||||
defStyleAttr: Int = -1
|
defStyleAttr: Int = -1
|
||||||
) : ConstraintLayout(context, attrs, defStyleAttr) {
|
) : ConstraintLayout(context, attrs, defStyleAttr) {
|
||||||
private val thumbAnim: SpringAnimation
|
private val thumbAnim: SpringAnimation
|
||||||
private val binding = DataBindingUtil.inflate<ViewScrollThumbBinding>(
|
private val binding = ViewScrollThumbBinding.inflate(context.inflater, this, true)
|
||||||
context.inflater, R.layout.view_scroll_thumb, this, true
|
|
||||||
)
|
|
||||||
|
|
||||||
init {
|
init {
|
||||||
val accent = Accent.get().getStateList(context)
|
val accent = Accent.get().getStateList(context)
|
||||||
|
|
Loading…
Reference in a new issue