Skip to content

Commit

Permalink
Update dependencies and target SDK to 34
Browse files Browse the repository at this point in the history
  • Loading branch information
z-huang committed Aug 7, 2024
1 parent 9195300 commit 88e0103
Show file tree
Hide file tree
Showing 17 changed files with 130 additions and 429 deletions.
33 changes: 21 additions & 12 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ plugins {
id("com.android.application")
kotlin("android")
kotlin("kapt")
id("com.google.dagger.hilt.android")
id("com.google.devtools.ksp")
alias(libs.plugins.hilt)
alias(libs.plugins.kotlin.ksp)
alias(libs.plugins.compose.compiler)
}

if (isFullBuild && System.getenv("PULL_REQUEST") == null) {
Expand All @@ -18,12 +19,12 @@ if (isFullBuild && System.getenv("PULL_REQUEST") == null) {

android {
namespace = "com.zionhuang.music"
compileSdk = 33
buildToolsVersion = "30.0.3"
compileSdk = 34
buildToolsVersion = "34.0.0"
defaultConfig {
applicationId = "com.zionhuang.music"
minSdk = 24
targetSdk = 33
targetSdk = 34
versionCode = 20
versionName = "0.5.4"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
Expand All @@ -47,6 +48,16 @@ android {
dimension = "version"
}
}

// splits {
// abi {
// isEnable = true
// reset()
// include("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
// isUniversalApk = false
// }
// }

signingConfigs {
getByName("debug") {
if (System.getenv("MUSIC_DEBUG_SIGNING_STORE_PASSWORD") != null) {
Expand All @@ -58,22 +69,20 @@ android {
}
}
buildFeatures {
buildConfig = true
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = libs.versions.compose.compiler.get()
}
compileOptions {
isCoreLibraryDesugaringEnabled = true
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlin {
jvmToolchain(11)
jvmToolchain(17)
}
kotlinOptions {
freeCompilerArgs = freeCompilerArgs + "-Xcontext-receivers"
jvmTarget = "11"
jvmTarget = "17"
}
testOptions {
unitTests.isIncludeAndroidResources = true
Expand Down
3 changes: 3 additions & 0 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,6 @@
-dontwarn org.openjsse.javax.net.ssl.SSLParameters
-dontwarn org.openjsse.javax.net.ssl.SSLSocket
-dontwarn org.openjsse.net.ssl.OpenJSSE
-dontwarn org.slf4j.impl.StaticLoggerBinder
-dontwarn com.google.firebase.perf.network.FirebasePerfOkHttpClient
-dontwarn com.google.firebase.perf.network.FirebasePerfUrlConnection
6 changes: 5 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />

<queries>
<intent>
Expand Down Expand Up @@ -105,7 +107,8 @@
<data android:mimeType="text/plain" />
</intent-filter>

<meta-data android:name="android.app.shortcuts"
<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
</activity>

Expand Down Expand Up @@ -133,6 +136,7 @@

<service
android:name=".playback.ExoDownloadService"
android:foregroundServiceType="dataSync"
android:exported="false">
<intent-filter>
<action android:name="androidx.media3.exoplayer.downloadService.action.RESTART" />
Expand Down
17 changes: 14 additions & 3 deletions app/src/main/java/com/zionhuang/music/App.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,19 @@ import coil.disk.DiskCache
import com.zionhuang.innertube.YouTube
import com.zionhuang.innertube.models.YouTubeLocale
import com.zionhuang.kugou.KuGou
import com.zionhuang.music.constants.*
import com.zionhuang.music.extensions.*
import com.zionhuang.music.constants.ContentCountryKey
import com.zionhuang.music.constants.ContentLanguageKey
import com.zionhuang.music.constants.CountryCodeToName
import com.zionhuang.music.constants.InnerTubeCookieKey
import com.zionhuang.music.constants.LanguageCodeToName
import com.zionhuang.music.constants.MaxImageCacheSizeKey
import com.zionhuang.music.constants.ProxyEnabledKey
import com.zionhuang.music.constants.ProxyTypeKey
import com.zionhuang.music.constants.ProxyUrlKey
import com.zionhuang.music.constants.SYSTEM_DEFAULT
import com.zionhuang.music.constants.VisitorDataKey
import com.zionhuang.music.extensions.toEnum
import com.zionhuang.music.extensions.toInetSocketAddress
import com.zionhuang.music.utils.dataStore
import com.zionhuang.music.utils.get
import com.zionhuang.music.utils.reportException
Expand All @@ -24,7 +35,7 @@ import kotlinx.coroutines.flow.map
import kotlinx.coroutines.launch
import timber.log.Timber
import java.net.Proxy
import java.util.*
import java.util.Locale

@HiltAndroidApp
class App : Application(), ImageLoaderFactory {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ import java.util.zip.ZipOutputStream

operator fun File.div(child: String): File = File(this, child)

fun InputStream.zipInputStream():ZipInputStream = ZipInputStream(this)
fun InputStream.zipInputStream(): ZipInputStream = ZipInputStream(this)
fun OutputStream.zipOutputStream(): ZipOutputStream = ZipOutputStream(this)
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import androidx.media3.session.MediaLibraryService
import androidx.media3.session.MediaLibraryService.MediaLibrarySession
import androidx.media3.session.MediaSession
import androidx.media3.session.SessionCommand
import androidx.media3.session.SessionError
import androidx.media3.session.SessionResult
import com.google.common.collect.ImmutableList
import com.google.common.util.concurrent.Futures
Expand Down Expand Up @@ -182,7 +183,7 @@ class MediaLibrarySessionCallback @Inject constructor(
): ListenableFuture<LibraryResult<MediaItem>> = scope.future(Dispatchers.IO) {
database.song(mediaId).first()?.toMediaItem()?.let {
LibraryResult.ofItem(it, null)
} ?: LibraryResult.ofError(LibraryResult.RESULT_ERROR_UNKNOWN)
} ?: LibraryResult.ofError(SessionError.ERROR_UNKNOWN)
}

override fun onSetMediaItems(
Expand Down
26 changes: 14 additions & 12 deletions app/src/main/java/com/zionhuang/music/playback/MusicService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -660,19 +660,21 @@ class MusicService : MediaLibraryService(),

private fun createRenderersFactory() =
object : DefaultRenderersFactory(this) {
override fun buildAudioSink(context: Context, enableFloatOutput: Boolean, enableAudioTrackPlaybackParams: Boolean, enableOffload: Boolean) =
DefaultAudioSink.Builder(this@MusicService)
.setEnableFloatOutput(enableFloatOutput)
.setEnableAudioTrackPlaybackParams(enableAudioTrackPlaybackParams)
.setOffloadMode(if (enableOffload) DefaultAudioSink.OFFLOAD_MODE_ENABLED_GAPLESS_REQUIRED else DefaultAudioSink.OFFLOAD_MODE_DISABLED)
.setAudioProcessorChain(
DefaultAudioSink.DefaultAudioProcessorChain(
emptyArray(),
SilenceSkippingAudioProcessor(2_000_000, 20_000, 256),
SonicAudioProcessor()
)
override fun buildAudioSink(
context: Context,
enableFloatOutput: Boolean,
enableAudioTrackPlaybackParams: Boolean,
) = DefaultAudioSink.Builder(this@MusicService)
.setEnableFloatOutput(enableFloatOutput)
.setEnableAudioTrackPlaybackParams(enableAudioTrackPlaybackParams)
.setAudioProcessorChain(
DefaultAudioSink.DefaultAudioProcessorChain(
emptyArray(),
SilenceSkippingAudioProcessor(2_000_000, 0.01f, 2_000_000, 0, 256),
SonicAudioProcessor()
)
.build()
)
.build()
}

override fun onPlaybackStatsReady(eventTime: AnalyticsListener.EventTime, playbackStats: PlaybackStats) {
Expand Down
Loading

0 comments on commit 88e0103

Please sign in to comment.