From b303218b82d8eb16abe1f58a9b72922275370a6c Mon Sep 17 00:00:00 2001 From: Nguyen Duc Tuan Minh Date: Sat, 10 Aug 2024 17:26:01 +0700 Subject: [PATCH] Fixed Related --- app/build.gradle.kts | 5 +- .../com/maxrave/simpmusic/extension/AllExt.kt | 55 ------------------- .../ui/screen/player/NowPlayingScreen.kt | 15 +++-- gradle/libs.versions.toml | 6 +- .../models/PlaylistPanelRenderer.kt | 2 +- 5 files changed, 17 insertions(+), 66 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 0a806753..fb86b76e 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -49,6 +49,7 @@ android { buildTypes { release { isMinifyEnabled = true + isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro", @@ -72,8 +73,8 @@ android { viewBinding = true compose = true } - composeOptions { - kotlinCompilerExtensionVersion = "1.5.11" + composeCompiler { + enableStrongSkippingMode = true } packaging { jniLibs.useLegacyPackaging = true diff --git a/app/src/main/java/com/maxrave/simpmusic/extension/AllExt.kt b/app/src/main/java/com/maxrave/simpmusic/extension/AllExt.kt index 918d4dc0..9830d9fc 100644 --- a/app/src/main/java/com/maxrave/simpmusic/extension/AllExt.kt +++ b/app/src/main/java/com/maxrave/simpmusic/extension/AllExt.kt @@ -13,11 +13,6 @@ import android.widget.ImageButton import android.widget.TextView import androidx.core.net.toUri import androidx.datastore.preferences.preferencesDataStore -import androidx.lifecycle.LifecycleOwner -import androidx.lifecycle.LiveData -import androidx.lifecycle.MediatorLiveData -import androidx.lifecycle.Observer -import androidx.lifecycle.asFlow import androidx.media3.common.MediaItem import androidx.media3.common.MediaMetadata import androidx.media3.common.util.UnstableApi @@ -54,7 +49,6 @@ import com.maxrave.simpmusic.data.model.searchResult.songs.Thumbnail import com.maxrave.simpmusic.data.model.searchResult.videos.VideosResult import com.maxrave.simpmusic.data.parser.toListThumbnail import com.maxrave.simpmusic.service.test.source.MergingMediaSourceFactory -import kotlinx.coroutines.flow.Flow import java.io.File import java.io.InputStream import java.io.OutputStream @@ -775,54 +769,6 @@ fun NavController.navigateSafe( } } -fun LiveData.observeOnce( - lifecycleOwner: LifecycleOwner, - observer: Observer, -) { - observe( - lifecycleOwner, - object : Observer { - override fun onChanged(value: T) { - observer.onChanged(value) - removeObserver(this) - } - }, - ) -} - -fun zip( - first: LiveData, - second: LiveData, -): Flow> { - val mediatorLiveData = MediatorLiveData>() - - var isFirstEmitted = false - var isSecondEmitted = false - var firstValue: A? = null - var secondValue: B? = null - - mediatorLiveData.addSource(first) { - isFirstEmitted = true - firstValue = it - if (isSecondEmitted) { - mediatorLiveData.value = Pair(firstValue!!, secondValue!!) - isFirstEmitted = false - isSecondEmitted = false - } - } - mediatorLiveData.addSource(second) { - isSecondEmitted = true - secondValue = it - if (isFirstEmitted) { - mediatorLiveData.value = Pair(firstValue!!, secondValue!!) - isFirstEmitted = false - isSecondEmitted = false - } - } - - return mediatorLiveData.asFlow() -} - fun PodcastBrowse.EpisodeItem.toTrack(): Track { return Track( album = null, @@ -942,7 +888,6 @@ fun String?.format(vararg data: Any): String { } } catch (e: Exception) { - e.printStackTrace() "" } } diff --git a/app/src/main/java/com/maxrave/simpmusic/ui/screen/player/NowPlayingScreen.kt b/app/src/main/java/com/maxrave/simpmusic/ui/screen/player/NowPlayingScreen.kt index 3dbf65d4..cc5734ce 100644 --- a/app/src/main/java/com/maxrave/simpmusic/ui/screen/player/NowPlayingScreen.kt +++ b/app/src/main/java/com/maxrave/simpmusic/ui/screen/player/NowPlayingScreen.kt @@ -918,7 +918,8 @@ fun NowPlayingScreen( .aspectRatio(1f) .clip( CircleShape - ), + ) + .weight(1f), onClick = { sharedViewModel.onUIEvent(UIEvent.Shuffle) } @@ -946,7 +947,8 @@ fun NowPlayingScreen( .aspectRatio(1f) .clip( CircleShape - ), + ) + .weight(1f), onClick = { if (controllerState.isPreviousAvailable) { sharedViewModel.onUIEvent(UIEvent.Previous) @@ -969,7 +971,8 @@ fun NowPlayingScreen( .aspectRatio(1f) .clip( CircleShape - ), + ) + .weight(1f), onClick = { sharedViewModel.onUIEvent(UIEvent.PlayPause) } @@ -1001,7 +1004,8 @@ fun NowPlayingScreen( .aspectRatio(1f) .clip( CircleShape - ), + ) + .weight(1f), onClick = { if (controllerState.isNextAvailable) { sharedViewModel.onUIEvent(UIEvent.Next) @@ -1024,7 +1028,8 @@ fun NowPlayingScreen( .aspectRatio(1f) .clip( CircleShape - ), + ) + .weight(1f), onClick = { sharedViewModel.onUIEvent(UIEvent.Repeat) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 462e5330..f71ce3f6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -android = "8.5.1" +android = "8.5.2" kotlin = "2.0.0" serialization = "2.0.0" ksp = "2.0.0-1.0.22" @@ -10,7 +10,7 @@ lifecycle-viewmodel-compose = "2.8.4" lifecycle-runtime-ktx = "2.8.4" core-ktx = "1.13.1" appcompat = "1.7.0" -work = "2.9.0" +work = "2.9.1" material = "1.11.0" #Version 1.12.0 caused bug startup-runtime = "1.1.1" lifecycle-livedata-ktx = "2.8.4" @@ -40,7 +40,7 @@ swiperefreshlayout = "1.2.0-alpha01" insetter = "0.6.1" shimmer = "0.5.0" lottie = "6.4.0" -paging = "3.3.1" +paging = "3.3.2" customactivityoncrash = "2.4.0" sdp-android = "1.1.0" ssp-android = "1.1.0" diff --git a/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/models/PlaylistPanelRenderer.kt b/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/models/PlaylistPanelRenderer.kt index c5b031d4..1db29897 100644 --- a/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/models/PlaylistPanelRenderer.kt +++ b/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/models/PlaylistPanelRenderer.kt @@ -11,7 +11,7 @@ data class PlaylistPanelRenderer( val currentIndex: Int?, val isInfinite: Boolean, val numItemsToShow: Int?, - val playlistId: String, + val playlistId: String? = null, val continuations: List?, ) { @Serializable