kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale-android
Remove Versions object
rodzic
b9335e545e
commit
7c91e819c9
|
@ -0,0 +1 @@
|
||||||
|
java temurin-11.0.16+101
|
|
@ -37,7 +37,7 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
testCoverage {
|
testCoverage {
|
||||||
version = Versions.jacoco
|
version = "0.8.7"
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlinOptions {
|
kotlinOptions {
|
||||||
|
@ -153,7 +153,7 @@ play {
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar", "*.aar"))))
|
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar", "*.aar"))))
|
||||||
|
|
||||||
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:${Versions.kotlin}")
|
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.5.21")
|
||||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4")
|
||||||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4")
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4")
|
||||||
|
|
||||||
|
@ -167,38 +167,38 @@ dependencies {
|
||||||
implementation("com.google.android.material:material:1.6.1")
|
implementation("com.google.android.material:material:1.6.1")
|
||||||
implementation("com.android.support.constraint:constraint-layout:2.0.4")
|
implementation("com.android.support.constraint:constraint-layout:2.0.4")
|
||||||
|
|
||||||
implementation("com.google.android.exoplayer:exoplayer-core:${Versions.exoPlayer}")
|
implementation("com.google.android.exoplayer:exoplayer-core:2.14.2")
|
||||||
implementation("com.google.android.exoplayer:exoplayer-ui:${Versions.exoPlayer}")
|
implementation("com.google.android.exoplayer:exoplayer-ui:2.14.2")
|
||||||
implementation("com.google.android.exoplayer:extension-mediasession:${Versions.exoPlayer}")
|
implementation("com.google.android.exoplayer:extension-mediasession:2.14.2")
|
||||||
|
|
||||||
implementation("io.insert-koin:koin-core:${Versions.koin}")
|
implementation("io.insert-koin:koin-core:3.1.2")
|
||||||
implementation("io.insert-koin:koin-android:${Versions.koin}")
|
implementation("io.insert-koin:koin-android:3.1.2")
|
||||||
testImplementation("io.insert-koin:koin-test:${Versions.koin}")
|
testImplementation("io.insert-koin:koin-test:3.1.2")
|
||||||
|
|
||||||
implementation("com.github.PaulWoitaschek.ExoPlayer-Extensions:extension-opus:${Versions.exoPlayerExtensions}") {
|
implementation("com.github.PaulWoitaschek.ExoPlayer-Extensions:extension-opus:2.14.0") {
|
||||||
isTransitive = false
|
isTransitive = false
|
||||||
}
|
}
|
||||||
implementation("com.github.PaulWoitaschek.ExoPlayer-Extensions:extension-flac:${Versions.exoPlayerExtensions}") {
|
implementation("com.github.PaulWoitaschek.ExoPlayer-Extensions:extension-flac:2.14.0") {
|
||||||
isTransitive = false
|
isTransitive = false
|
||||||
}
|
}
|
||||||
|
|
||||||
implementation("com.aliassadi:power-preference-lib:${Versions.powerPreference}")
|
implementation("com.aliassadi:power-preference-lib:2.0.0")
|
||||||
implementation("com.github.kittinunf.fuel:fuel:${Versions.fuel}")
|
implementation("com.github.kittinunf.fuel:fuel:2.3.1")
|
||||||
implementation("com.github.kittinunf.fuel:fuel-coroutines:${Versions.fuel}")
|
implementation("com.github.kittinunf.fuel:fuel-coroutines:2.3.1")
|
||||||
implementation("com.github.kittinunf.fuel:fuel-android:${Versions.fuel}")
|
implementation("com.github.kittinunf.fuel:fuel-android:2.3.1")
|
||||||
implementation("com.github.kittinunf.fuel:fuel-gson:${Versions.fuel}")
|
implementation("com.github.kittinunf.fuel:fuel-gson:2.3.1")
|
||||||
implementation("com.google.code.gson:gson:${Versions.gson}")
|
implementation("com.google.code.gson:gson:2.8.7")
|
||||||
implementation("com.squareup.picasso:picasso:2.71828")
|
implementation("com.squareup.picasso:picasso:2.71828")
|
||||||
implementation("jp.wasabeef:picasso-transformations:2.4.0")
|
implementation("jp.wasabeef:picasso-transformations:2.4.0")
|
||||||
implementation("net.openid:appauth:${Versions.openIdAppAuth}")
|
implementation("net.openid:appauth:0.11.1")
|
||||||
|
|
||||||
testImplementation("junit:junit:4.13.2")
|
testImplementation("junit:junit:4.13.2")
|
||||||
testImplementation("io.mockk:mockk:1.12.4")
|
testImplementation("io.mockk:mockk:1.12.4")
|
||||||
testImplementation("androidx.test:core:1.4.0")
|
testImplementation("androidx.test:core:1.4.0")
|
||||||
testImplementation("io.strikt:strikt-core:${Versions.strikt}")
|
testImplementation("io.strikt:strikt-core:0.31.0")
|
||||||
testImplementation("org.robolectric:robolectric:${Versions.robolectric}")
|
testImplementation("org.robolectric:robolectric:4.6.1")
|
||||||
|
|
||||||
androidTestImplementation("io.mockk:mockk-android:${Versions.mockk}")
|
androidTestImplementation("io.mockk:mockk-android:1.12.4")
|
||||||
}
|
}
|
||||||
|
|
||||||
project.afterEvaluate {
|
project.afterEvaluate {
|
||||||
|
|
|
@ -107,8 +107,8 @@ class DownloadsActivity : AppCompatActivity() {
|
||||||
download.getMetadata()?.let { info ->
|
download.getMetadata()?.let { info ->
|
||||||
adapter.downloads.withIndex().associate { it.value to it.index }
|
adapter.downloads.withIndex().associate { it.value to it.index }
|
||||||
.filter { it.key.id == info.id }.toList().getOrNull(0)?.let { match ->
|
.filter { it.key.id == info.id }.toList().getOrNull(0)?.let { match ->
|
||||||
if (download.state == Download.STATE_DOWNLOADING
|
if (download.state == Download.STATE_DOWNLOADING &&
|
||||||
&& download.percentDownloaded != (info.download?.percentDownloaded ?: 0)
|
download.percentDownloaded != (info.download?.percentDownloaded ?: 0)
|
||||||
) {
|
) {
|
||||||
withContext(Main) {
|
withContext(Main) {
|
||||||
adapter.downloads[match.second] = info.apply {
|
adapter.downloads[match.second] = info.apply {
|
||||||
|
|
|
@ -73,7 +73,6 @@ import jp.wasabeef.picasso.transformations.RoundedCornersTransformation
|
||||||
import kotlinx.coroutines.Dispatchers.Default
|
import kotlinx.coroutines.Dispatchers.Default
|
||||||
import kotlinx.coroutines.Dispatchers.IO
|
import kotlinx.coroutines.Dispatchers.IO
|
||||||
import kotlinx.coroutines.Dispatchers.Main
|
import kotlinx.coroutines.Dispatchers.Main
|
||||||
import kotlinx.coroutines.flow.collect
|
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import org.koin.java.KoinJavaComponent.inject
|
import org.koin.java.KoinJavaComponent.inject
|
||||||
|
@ -159,18 +158,18 @@ class MainActivity : AppCompatActivity() {
|
||||||
CommandBus.send(Command.ToggleState)
|
CommandBus.send(Command.ToggleState)
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.nowPlayingContainer?.nowPlayingDetailsProgress?.setOnSeekBarChangeListener(object :
|
binding.nowPlayingContainer?.nowPlayingDetailsProgress?.setOnSeekBarChangeListener(
|
||||||
SeekBar.OnSeekBarChangeListener {
|
object : SeekBar.OnSeekBarChangeListener {
|
||||||
override fun onStopTrackingTouch(view: SeekBar?) {}
|
override fun onStopTrackingTouch(view: SeekBar?) {}
|
||||||
|
|
||||||
override fun onStartTrackingTouch(view: SeekBar?) {}
|
override fun onStartTrackingTouch(view: SeekBar?) {}
|
||||||
|
|
||||||
override fun onProgressChanged(view: SeekBar?, progress: Int, fromUser: Boolean) {
|
override fun onProgressChanged(view: SeekBar?, progress: Int, fromUser: Boolean) {
|
||||||
if (fromUser) {
|
if (fromUser) {
|
||||||
CommandBus.send(Command.Seek(progress))
|
CommandBus.send(Command.Seek(progress))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
})
|
|
||||||
|
|
||||||
landscapeQueue?.let {
|
landscapeQueue?.let {
|
||||||
supportFragmentManager.beginTransaction()
|
supportFragmentManager.beginTransaction()
|
||||||
|
|
|
@ -40,7 +40,6 @@ class SettingsActivity : AppCompatActivity() {
|
||||||
)
|
)
|
||||||
.commit()
|
.commit()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class SettingsFragment :
|
class SettingsFragment :
|
||||||
|
|
|
@ -480,8 +480,8 @@ class PlayerService : Service() {
|
||||||
mediaControlsManager.updateNotification(queue.current(), player.playWhenReady)
|
mediaControlsManager.updateNotification(queue.current(), player.playWhenReady)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (queue.get().isNotEmpty() && queue.current() == queue.get()
|
if (queue.get().isNotEmpty() &&
|
||||||
.last() && radioPlayer.isActive()
|
queue.current() == queue.get().last() && radioPlayer.isActive()
|
||||||
) {
|
) {
|
||||||
scope.launch(IO) {
|
scope.launch(IO) {
|
||||||
if (radioPlayer.lock.tryAcquire()) {
|
if (radioPlayer.lock.tryAcquire()) {
|
||||||
|
|
|
@ -1,10 +1,22 @@
|
||||||
package audio.funkwhale.ffa.repositories
|
package audio.funkwhale.ffa.repositories
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import audio.funkwhale.ffa.model.*
|
import audio.funkwhale.ffa.model.FFAResponse
|
||||||
import audio.funkwhale.ffa.utils.*
|
import audio.funkwhale.ffa.model.FavoritedCache
|
||||||
|
import audio.funkwhale.ffa.model.FavoritedResponse
|
||||||
|
import audio.funkwhale.ffa.model.Track
|
||||||
|
import audio.funkwhale.ffa.model.TracksCache
|
||||||
|
import audio.funkwhale.ffa.model.TracksResponse
|
||||||
|
import audio.funkwhale.ffa.utils.FFACache
|
||||||
|
import audio.funkwhale.ffa.utils.OAuth
|
||||||
|
import audio.funkwhale.ffa.utils.Settings
|
||||||
|
import audio.funkwhale.ffa.utils.authorize
|
||||||
|
import audio.funkwhale.ffa.utils.maybeNormalizeUrl
|
||||||
|
import audio.funkwhale.ffa.utils.mustNormalizeUrl
|
||||||
|
import audio.funkwhale.ffa.utils.untilNetwork
|
||||||
import com.github.kittinunf.fuel.Fuel
|
import com.github.kittinunf.fuel.Fuel
|
||||||
import com.github.kittinunf.fuel.coroutines.awaitByteArrayResponseResult
|
import com.github.kittinunf.fuel.coroutines.awaitByteArrayResponseResult
|
||||||
|
import com.github.kittinunf.fuel.gson.gsonDeserializerOf
|
||||||
import com.google.android.exoplayer2.offline.DownloadManager
|
import com.google.android.exoplayer2.offline.DownloadManager
|
||||||
import com.google.android.exoplayer2.upstream.cache.Cache
|
import com.google.android.exoplayer2.upstream.cache.Cache
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
|
|
|
@ -8,10 +8,10 @@ buildscript {
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath("com.android.tools.build:gradle:7.2.2")
|
classpath("com.android.tools.build:gradle:7.2.2")
|
||||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}")
|
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21")
|
||||||
classpath("com.github.bjoernq:unmockplugin:${Versions.unmock}")
|
classpath("com.github.bjoernq:unmockplugin:0.7.8")
|
||||||
classpath("com.github.ben-manes:gradle-versions-plugin:${Versions.gradleDependencyPlugin}")
|
classpath("com.github.ben-manes:gradle-versions-plugin:0.38.0")
|
||||||
classpath("org.jacoco:org.jacoco.core:${Versions.jacoco}")
|
classpath("org.jacoco:org.jacoco.core:0.8.7")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,8 +19,8 @@ allprojects {
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
maven(url = "https://jitpack.io")
|
|
||||||
jcenter()
|
jcenter()
|
||||||
|
maven(url = "https://jitpack.io")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
build/
|
|
|
@ -1,7 +0,0 @@
|
||||||
plugins {
|
|
||||||
`kotlin-dsl`
|
|
||||||
}
|
|
||||||
|
|
||||||
repositories {
|
|
||||||
jcenter()
|
|
||||||
}
|
|
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
|
@ -0,0 +1 @@
|
||||||
|
/Users/reinhard/Projekte/funkwhale/funkwhale-android/buildSrc/build/classes/kotlin/main/Versions.class
|
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
|
@ -0,0 +1,2 @@
|
||||||
|
3
|
||||||
|
0
|
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Plik binarny nie jest wyświetlany.
Some files were not shown because too many files have changed in this diff Show More
Ładowanie…
Reference in New Issue