diff --git a/.gitignore b/.gitignore index 8a502bed..64c9069c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,6 @@ local.properties /app/release/ crowdin.yml +# Kotlin 2.0 +.kotlin/ +.idea diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 0d22c3dc..00000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# GitHub Copilot persisted chat sessions -/copilot/chatSessions -# GitHub Copilot persisted chat sessions -/copilot/chatSessions diff --git a/.idea/.name b/.idea/.name deleted file mode 100644 index b38c7753..00000000 --- a/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -SimpMusic \ No newline at end of file diff --git a/.idea/CrowdinSettingsPlugin.xml b/.idea/CrowdinSettingsPlugin.xml deleted file mode 100644 index 68268a84..00000000 --- a/.idea/CrowdinSettingsPlugin.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/appInsightsSettings.xml b/.idea/appInsightsSettings.xml deleted file mode 100644 index 371f2e29..00000000 --- a/.idea/appInsightsSettings.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml deleted file mode 100644 index 7643783a..00000000 --- a/.idea/codeStyles/Project.xml +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml deleted file mode 100644 index 79ee123c..00000000 --- a/.idea/codeStyles/codeStyleConfig.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index b589d56e..00000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml deleted file mode 100644 index 0c0c3383..00000000 --- a/.idea/deploymentTargetDropDown.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml deleted file mode 100644 index c80336d1..00000000 --- a/.idea/deploymentTargetSelector.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/developer-tools.xml b/.idea/developer-tools.xml deleted file mode 100644 index cbbc5963..00000000 --- a/.idea/developer-tools.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/dictionaries/mxrvm.xml b/.idea/dictionaries/mxrvm.xml deleted file mode 100644 index 0d0dbe92..00000000 --- a/.idea/dictionaries/mxrvm.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.idea/git_toolbox_prj.xml b/.idea/git_toolbox_prj.xml deleted file mode 100644 index 02b915b8..00000000 --- a/.idea/git_toolbox_prj.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml deleted file mode 100644 index 4a782973..00000000 --- a/.idea/gradle.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index fb93d254..00000000 --- a/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml deleted file mode 100644 index 87b6bf8d..00000000 --- a/.idea/kotlinc.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/ktlint-plugin.xml b/.idea/ktlint-plugin.xml deleted file mode 100644 index 52c6220f..00000000 --- a/.idea/ktlint-plugin.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - DISTRACT_FREE - false - - \ No newline at end of file diff --git a/.idea/markdown-navigator-enh.xml b/.idea/markdown-navigator-enh.xml deleted file mode 100644 index a8fcc84d..00000000 --- a/.idea/markdown-navigator-enh.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/.idea/markdown-navigator.xml b/.idea/markdown-navigator.xml deleted file mode 100644 index 1ef5f95e..00000000 --- a/.idea/markdown-navigator.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml deleted file mode 100644 index f8051a6f..00000000 --- a/.idea/migrations.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 8978d23d..00000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/render.experimental.xml b/.idea/render.experimental.xml deleted file mode 100644 index 11b5bb5f..00000000 --- a/.idea/render.experimental.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/.idea/saveactions_settings.xml b/.idea/saveactions_settings.xml deleted file mode 100644 index 6025467f..00000000 --- a/.idea/saveactions_settings.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/sonarlint/issuestore/6/3/6350ed7c3b6a96211905929fff8bdbfd78587d97 b/.idea/sonarlint/issuestore/6/3/6350ed7c3b6a96211905929fff8bdbfd78587d97 deleted file mode 100644 index f11b7be3..00000000 --- a/.idea/sonarlint/issuestore/6/3/6350ed7c3b6a96211905929fff8bdbfd78587d97 +++ /dev/null @@ -1,2 +0,0 @@ - -B kotlin:S125-"Remove this commented out code.(8ߛ1 \ No newline at end of file diff --git a/.idea/sonarlint/issuestore/8/f/8f214feb901aa25105c39fb9659ef11af773be1e b/.idea/sonarlint/issuestore/8/f/8f214feb901aa25105c39fb9659ef11af773be1e deleted file mode 100644 index 2fb93ec4..00000000 --- a/.idea/sonarlint/issuestore/8/f/8f214feb901aa25105c39fb9659ef11af773be1e +++ /dev/null @@ -1,4 +0,0 @@ - -B kotlin:S125."Remove this commented out code.(8̜1 -= kotlin:S125B"Remove this commented out code.(ݩ8̜1 -G kotlin:S1084")Either remove or fill this block of code.(8̜1 \ No newline at end of file diff --git a/.idea/sonarlint/issuestore/9/6/9601e8ca944c53a1369165f2bd7e5712e065f492 b/.idea/sonarlint/issuestore/9/6/9601e8ca944c53a1369165f2bd7e5712e065f492 deleted file mode 100644 index 484ce7af..00000000 --- a/.idea/sonarlint/issuestore/9/6/9601e8ca944c53a1369165f2bd7e5712e065f492 +++ /dev/null @@ -1,32 +0,0 @@ - -U kotlin:S1172"5Use "_" instead of this unused lambda parameter "cb".(81 -> kotlin:S125"Remove this commented out code.(81 -> kotlin:S125"Remove this commented out code.(81 -> kotlin:S125"Remove this commented out code.(81 -> kotlin:S125"Remove this commented out code.(81 -> kotlin:S125"Remove this commented out code.(81 -> kotlin:S125"Remove this commented out code.(81 -> kotlin:S125"Remove this commented out code.(ƅ81 -C kotlin:S125"Remove this commented out code.(É81 -> kotlin:S125"Remove this commented out code.(81 -C kotlin:S125"Remove this commented out code.(81 -C kotlin:S125"Remove this commented out code.(81 -C kotlin:S125"Remove this commented out code.(81 -a kotlin:S1144"ARemove this unused private "observerMetadataAndLoadMedia" method.(ޢ81 -U kotlin:S1144"5Remove this unused private "observerMetadata" method.(81 -s kotlin:S1192"UDefine a constant instead of duplicating this literal "Now Playing Fragment" 5 times.(͜ -i kotlin:S1192"KDefine a constant instead of duplicating this literal "Bên trên" 4 times.(͜ -k kotlin:S1192"KDefine a constant instead of duplicating this literal "Update UI" 11 times.(8֭1 -j kotlin:S1192"JDefine a constant instead of duplicating this literal "onStart: " 3 times.(8֭1 -q kotlin:S1192"LDefine a constant instead of duplicating this literal "onSuccess: " 3 times.(8֭1 -t kotlin:S1192"ODefine a constant instead of duplicating this literal "updateUI: NULL" 3 times.(8֭1 -w kotlin:S1192"RDefine a constant instead of duplicating this literal "Check Start Color" 6 times.(Ъ8֭1 -k kotlin:S1871"MThis branch's code block is the same as the block for the branch on line 213.( -H kotlin:S1874"#Deprecated code should not be used.(8֭1 -C kotlin:S1874"#Deprecated code should not be used.(8֭1 -k kotlin:S3776k"SRefactor this method to reduce its Cognitive Complexity from 156 to the 15 allowed.( -w kotlin:S3776"RRefactor this method to reduce its Cognitive Complexity from 36 to the 15 allowed.(8֭1 -w kotlin:S3776"RRefactor this method to reduce its Cognitive Complexity from 23 to the 15 allowed.(ք8֭1 -q kotlin:S3776"RRefactor this method to reduce its Cognitive Complexity from 25 to the 15 allowed.(O8֭1 - kotlin:S1186"ZAdd a nested comment explaining why this function is empty or complete the implementation.(8֭1 -N kotlin:S1066".Merge this "if" statement with the nested one.(Ƀ׀8֭1 \ No newline at end of file diff --git a/.idea/sonarlint/issuestore/9/9/994a5e8eff0970fdf56006fdbee6ee0752525b95 b/.idea/sonarlint/issuestore/9/9/994a5e8eff0970fdf56006fdbee6ee0752525b95 deleted file mode 100644 index f4d61b38..00000000 --- a/.idea/sonarlint/issuestore/9/9/994a5e8eff0970fdf56006fdbee6ee0752525b95 +++ /dev/null @@ -1,9 +0,0 @@ - -6 kotlin:S125x"Remove this commented out code.( -7 kotlin:S125"Remove this commented out code.(ʚ -2 kotlin:S1128 -"Remove this unused import.( -2 kotlin:S1128 "Remove this unused import.( -7 kotlin:S1128"Remove this unused import.( -2 kotlin:S1128 "Remove this unused import.( -k kotlin:S1871"MThis branch's code block is the same as the block for the branch on line 111.(ߝ \ No newline at end of file diff --git a/.idea/sonarlint/issuestore/b/3/b33bf05ea51ca357a5d5b98a14abb56dbecf2392 b/.idea/sonarlint/issuestore/b/3/b33bf05ea51ca357a5d5b98a14abb56dbecf2392 deleted file mode 100644 index fb045f02..00000000 --- a/.idea/sonarlint/issuestore/b/3/b33bf05ea51ca357a5d5b98a14abb56dbecf2392 +++ /dev/null @@ -1,22 +0,0 @@ - -> kotlin:S6615" Remove this useless initializer.( -7 kotlin:S125"Remove this commented out code.(笶 -C kotlin:S125"Remove this commented out code.(ʡ81 -> kotlin:S125"Remove this commented out code.(81 -C kotlin:S125"Remove this commented out code.(81 -> kotlin:S125"Remove this commented out code.(81 -5 kotlin:S6310"Avoid hardcoded dispatchers.(͡ -F kotlin:S108")Either remove or fill this block of code.( -F kotlin:S108")Either remove or fill this block of code.( -? kotlin:S6305B" Don't expose mutable flow types.(8ْ1 -2 kotlin:S1128"Remove this unused import.( -7 kotlin:S1128 "Remove this unused import.( -2 kotlin:S1128 "Remove this unused import.( -7 kotlin:S1128"Remove this unused import.( -1 kotlin:S1128,"Remove this unused import.(y -7 kotlin:S1128-"Remove this unused import.(Ӹэ -k kotlin:S3776"RRefactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed.(Ė -r kotlin:S3776"RRefactor this method to reduce its Cognitive Complexity from 49 to the 15 allowed.(8蓘1 -w kotlin:S3776"RRefactor this method to reduce its Cognitive Complexity from 28 to the 15 allowed.(8蓘1 -r kotlin:S3776"RRefactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed.(8蓘1 -] kotlin:S6511"=Merge chained "if" statements into a single "when" statement.(8򓘜1 \ No newline at end of file diff --git a/.idea/sonarlint/issuestore/b/7/b798a1851f650799bd0cb2969e121510540b7fbd b/.idea/sonarlint/issuestore/b/7/b798a1851f650799bd0cb2969e121510540b7fbd deleted file mode 100644 index 386d3755..00000000 --- a/.idea/sonarlint/issuestore/b/7/b798a1851f650799bd0cb2969e121510540b7fbd +++ /dev/null @@ -1,9 +0,0 @@ - -; kotlin:S125>"Remove this commented out code.( -6 kotlin:S125I"Remove this commented out code.( -6 kotlin:S125V"Remove this commented out code.( -6 kotlin:S125`"Remove this commented out code.( -7 kotlin:S1128"Remove this unused import.(떳 -7 kotlin:S1128"Remove this unused import.( -2 kotlin:S1128 "Remove this unused import.( -Z kotlin:S6517"BMake this interface functional or replace it with a function type.( \ No newline at end of file diff --git a/.idea/sonarlint/issuestore/c/3/c3df1623afb5a0ab452278db00dcb22cc2e1a1f4 b/.idea/sonarlint/issuestore/c/3/c3df1623afb5a0ab452278db00dcb22cc2e1a1f4 deleted file mode 100644 index 993c29b8..00000000 --- a/.idea/sonarlint/issuestore/c/3/c3df1623afb5a0ab452278db00dcb22cc2e1a1f4 +++ /dev/null @@ -1,2 +0,0 @@ - -7 kotlin:S1128"Remove this unused import.( \ No newline at end of file diff --git a/.idea/sonarlint/issuestore/e/2/e2d791213c14a0a126d36b55ef28dbe4b8a68356 b/.idea/sonarlint/issuestore/e/2/e2d791213c14a0a126d36b55ef28dbe4b8a68356 deleted file mode 100644 index 37b2931a..00000000 --- a/.idea/sonarlint/issuestore/e/2/e2d791213c14a0a126d36b55ef28dbe4b8a68356 +++ /dev/null @@ -1,7 +0,0 @@ - -; kotlin:S125W"Remove this commented out code.( -: kotlin:S6310"Avoid hardcoded dispatchers.(Ք -: kotlin:S6310"Avoid hardcoded dispatchers.(Ք -o kotlin:S6311"QRemove this dispatcher. It is pointless when used with only suspending functions.(Ք -o kotlin:S6311"QRemove this dispatcher. It is pointless when used with only suspending functions.(Ք -y kotlin:S3923"[Remove this conditional structure or edit its code blocks so that they're not all the same.( \ No newline at end of file diff --git a/.idea/sonarlint/issuestore/e/7/e7ae8e7545244368ad98e205609b354372812cdd b/.idea/sonarlint/issuestore/e/7/e7ae8e7545244368ad98e205609b354372812cdd deleted file mode 100644 index 9ebed78a..00000000 --- a/.idea/sonarlint/issuestore/e/7/e7ae8e7545244368ad98e205609b354372812cdd +++ /dev/null @@ -1,11 +0,0 @@ - -6 kotlin:S125"Remove this commented out code.(P -i kotlin:S117q"SRename this local variable to match the regular expression ^`?[_a-z][a-zA-Z0-9]*`?$(ߘ" -= kotlin:S6305 " Don't expose mutable flow types.( -2 kotlin:S1128"Remove this unused import.( -7 kotlin:S1128 "Remove this unused import.( -7 kotlin:S1128 "Remove this unused import.(Աζ -1 kotlin:S1128 "Remove this unused import.(; -2 kotlin:S1128"Remove this unused import.( -o kotlin:S3776h"RRefactor this method to reduce its Cognitive Complexity from 24 to the 15 allowed.( -Y kotlin:S6510i"AMove "return" statements from all branches before "if" statement.( \ No newline at end of file diff --git a/.idea/sonarlint/issuestore/index.pb b/.idea/sonarlint/issuestore/index.pb deleted file mode 100644 index 7bea05c9..00000000 --- a/.idea/sonarlint/issuestore/index.pb +++ /dev/null @@ -1,19 +0,0 @@ - -z -Japp/src/main/java/com/maxrave/simpmusic/ui/fragment/other/QueueFragment.kt,9\9\994a5e8eff0970fdf56006fdbee6ee0752525b95 -y -Iapp/src/main/java/com/maxrave/simpmusic/ui/fragment/NowPlayingFragment.kt,9\6\9601e8ca944c53a1369165f2bd7e5712e065f492 -| -Lapp/src/main/java/com/maxrave/simpmusic/service/SimpleMediaServiceHandler.kt,e\2\e2d791213c14a0a126d36b55ef28dbe4b8a68356 -k -;app/src/main/java/com/maxrave/simpmusic/extension/AllExt.kt,c\3\c3df1623afb5a0ab452278db00dcb22cc2e1a1f4 -y -Iapp/src/main/java/com/maxrave/simpmusic/ui/fragment/other/InfoFragment.kt,6\3\6350ed7c3b6a96211905929fff8bdbfd78587d97 -y -Iapp/src/main/java/com/maxrave/simpmusic/service/test/source/FetchQueue.kt,8\f\8f214feb901aa25105c39fb9659ef11af773be1e -t -Dapp/src/main/java/com/maxrave/simpmusic/viewModel/SharedViewModel.kt,b\3\b33bf05ea51ca357a5d5b98a14abb56dbecf2392 -z -Japp/src/main/java/com/maxrave/simpmusic/service/test/source/MusicSource.kt,e\7\e7ae8e7545244368ad98e205609b354372812cdd -u -Eapp/src/main/java/com/maxrave/simpmusic/adapter/queue/QueueAdapter.kt,b\7\b798a1851f650799bd0cb2969e121510540b7fbd \ No newline at end of file diff --git a/.idea/sonarlint/securityhotspotstore/6/3/6350ed7c3b6a96211905929fff8bdbfd78587d97 b/.idea/sonarlint/securityhotspotstore/6/3/6350ed7c3b6a96211905929fff8bdbfd78587d97 deleted file mode 100644 index e69de29b..00000000 diff --git a/.idea/sonarlint/securityhotspotstore/8/f/8f214feb901aa25105c39fb9659ef11af773be1e b/.idea/sonarlint/securityhotspotstore/8/f/8f214feb901aa25105c39fb9659ef11af773be1e deleted file mode 100644 index e69de29b..00000000 diff --git a/.idea/sonarlint/securityhotspotstore/9/6/9601e8ca944c53a1369165f2bd7e5712e065f492 b/.idea/sonarlint/securityhotspotstore/9/6/9601e8ca944c53a1369165f2bd7e5712e065f492 deleted file mode 100644 index e69de29b..00000000 diff --git a/.idea/sonarlint/securityhotspotstore/9/9/994a5e8eff0970fdf56006fdbee6ee0752525b95 b/.idea/sonarlint/securityhotspotstore/9/9/994a5e8eff0970fdf56006fdbee6ee0752525b95 deleted file mode 100644 index e69de29b..00000000 diff --git a/.idea/sonarlint/securityhotspotstore/b/3/b33bf05ea51ca357a5d5b98a14abb56dbecf2392 b/.idea/sonarlint/securityhotspotstore/b/3/b33bf05ea51ca357a5d5b98a14abb56dbecf2392 deleted file mode 100644 index e69de29b..00000000 diff --git a/.idea/sonarlint/securityhotspotstore/b/7/b798a1851f650799bd0cb2969e121510540b7fbd b/.idea/sonarlint/securityhotspotstore/b/7/b798a1851f650799bd0cb2969e121510540b7fbd deleted file mode 100644 index e69de29b..00000000 diff --git a/.idea/sonarlint/securityhotspotstore/c/3/c3df1623afb5a0ab452278db00dcb22cc2e1a1f4 b/.idea/sonarlint/securityhotspotstore/c/3/c3df1623afb5a0ab452278db00dcb22cc2e1a1f4 deleted file mode 100644 index e69de29b..00000000 diff --git a/.idea/sonarlint/securityhotspotstore/e/2/e2d791213c14a0a126d36b55ef28dbe4b8a68356 b/.idea/sonarlint/securityhotspotstore/e/2/e2d791213c14a0a126d36b55ef28dbe4b8a68356 deleted file mode 100644 index e69de29b..00000000 diff --git a/.idea/sonarlint/securityhotspotstore/e/7/e7ae8e7545244368ad98e205609b354372812cdd b/.idea/sonarlint/securityhotspotstore/e/7/e7ae8e7545244368ad98e205609b354372812cdd deleted file mode 100644 index e69de29b..00000000 diff --git a/.idea/sonarlint/securityhotspotstore/index.pb b/.idea/sonarlint/securityhotspotstore/index.pb deleted file mode 100644 index 1aabf1f4..00000000 --- a/.idea/sonarlint/securityhotspotstore/index.pb +++ /dev/null @@ -1,19 +0,0 @@ - -z -Japp/src/main/java/com/maxrave/simpmusic/ui/fragment/other/QueueFragment.kt,9\9\994a5e8eff0970fdf56006fdbee6ee0752525b95 -y -Iapp/src/main/java/com/maxrave/simpmusic/ui/fragment/NowPlayingFragment.kt,9\6\9601e8ca944c53a1369165f2bd7e5712e065f492 -z -Japp/src/main/java/com/maxrave/simpmusic/service/test/source/MusicSource.kt,e\7\e7ae8e7545244368ad98e205609b354372812cdd -| -Lapp/src/main/java/com/maxrave/simpmusic/service/SimpleMediaServiceHandler.kt,e\2\e2d791213c14a0a126d36b55ef28dbe4b8a68356 -k -;app/src/main/java/com/maxrave/simpmusic/extension/AllExt.kt,c\3\c3df1623afb5a0ab452278db00dcb22cc2e1a1f4 -u -Eapp/src/main/java/com/maxrave/simpmusic/adapter/queue/QueueAdapter.kt,b\7\b798a1851f650799bd0cb2969e121510540b7fbd -y -Iapp/src/main/java/com/maxrave/simpmusic/ui/fragment/other/InfoFragment.kt,6\3\6350ed7c3b6a96211905929fff8bdbfd78587d97 -y -Iapp/src/main/java/com/maxrave/simpmusic/service/test/source/FetchQueue.kt,8\f\8f214feb901aa25105c39fb9659ef11af773be1e -t -Dapp/src/main/java/com/maxrave/simpmusic/viewModel/SharedViewModel.kt,b\3\b33bf05ea51ca357a5d5b98a14abb56dbecf2392 \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 83067447..00000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/maxrave/simpmusic/SimpMusicApplication.kt b/app/src/main/java/com/maxrave/simpmusic/SimpMusicApplication.kt index e14f9f58..4af44552 100644 --- a/app/src/main/java/com/maxrave/simpmusic/SimpMusicApplication.kt +++ b/app/src/main/java/com/maxrave/simpmusic/SimpMusicApplication.kt @@ -1,7 +1,6 @@ package com.maxrave.simpmusic import android.app.Application -import android.content.Context import android.util.Log import androidx.appcompat.app.AppCompatDelegate import androidx.media3.common.util.UnstableApi @@ -48,24 +47,9 @@ class SimpMusicApplication : .apply() } - override fun onLowMemory() { - super.onLowMemory() - Log.w("Low Memory", "Checking") - } - override fun onTerminate() { super.onTerminate() Log.w("Terminate", "Checking") } - - init { - instance = this - } - - companion object { - private var instance: SimpMusicApplication? = null - - fun applicationContext(): Context = instance!!.applicationContext - } } \ No newline at end of file diff --git a/app/src/main/java/com/maxrave/simpmusic/service/test/notification/NotificationHandler.kt b/app/src/main/java/com/maxrave/simpmusic/service/test/notification/NotificationHandler.kt index 6ea587dc..acf81549 100644 --- a/app/src/main/java/com/maxrave/simpmusic/service/test/notification/NotificationHandler.kt +++ b/app/src/main/java/com/maxrave/simpmusic/service/test/notification/NotificationHandler.kt @@ -54,7 +54,7 @@ object NotificationHandler { .build() return@runBlocking when (val result = loader.execute(request)) { - is SuccessResult -> ((result as SuccessResult).drawable as BitmapDrawable).bitmap + is SuccessResult -> (result.drawable as BitmapDrawable).bitmap else -> AppCompatResources.getDrawable(context, R.drawable.holder) ?.toBitmap(128, 128) diff --git a/app/src/main/java/com/maxrave/simpmusic/ui/component/DropdownButton.kt b/app/src/main/java/com/maxrave/simpmusic/ui/component/DropdownButton.kt index 8b085c18..693c1d6e 100644 --- a/app/src/main/java/com/maxrave/simpmusic/ui/component/DropdownButton.kt +++ b/app/src/main/java/com/maxrave/simpmusic/ui/component/DropdownButton.kt @@ -8,6 +8,7 @@ import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExposedDropdownMenuBox import androidx.compose.material3.ExposedDropdownMenuDefaults +import androidx.compose.material3.MenuAnchorType import androidx.compose.material3.OutlinedTextField import androidx.compose.material3.Text import androidx.compose.runtime.Composable @@ -39,7 +40,7 @@ fun DropdownButton( ExposedDropdownMenuBox(expanded = expanded, onExpandedChange = { new -> expanded = new }) { OutlinedTextField( - modifier = Modifier.menuAnchor(), + modifier = Modifier.menuAnchor(type = MenuAnchorType.PrimaryNotEditable), textStyle = typo.bodyMedium, readOnly = true, value = selected, diff --git a/app/src/main/java/com/maxrave/simpmusic/viewModel/LocalPlaylistViewModel.kt b/app/src/main/java/com/maxrave/simpmusic/viewModel/LocalPlaylistViewModel.kt index f095391c..c05d592f 100644 --- a/app/src/main/java/com/maxrave/simpmusic/viewModel/LocalPlaylistViewModel.kt +++ b/app/src/main/java/com/maxrave/simpmusic/viewModel/LocalPlaylistViewModel.kt @@ -928,12 +928,15 @@ class LocalPlaylistViewModel( fun addAllToQueue() { viewModelScope.launch { + showLoadingDialog(getString(R.string.add_to_queue)) val fullTracks = localPlaylistManager.getFullPlaylistTracks(id = uiState.value.id) if (fullTracks.isNotEmpty()) { simpleMediaServiceHandler.loadMoreCatalog(fullTracks.toArrayListTrack(), true) makeToast(getString(R.string.added_to_queue)) + hideLoadingDialog() } else { makeToast(getString(R.string.playlist_is_empty)) + hideLoadingDialog() } } } diff --git a/app/src/main/java/com/maxrave/simpmusic/viewModel/SharedViewModel.kt b/app/src/main/java/com/maxrave/simpmusic/viewModel/SharedViewModel.kt index 3a79e95f..e06a8825 100644 --- a/app/src/main/java/com/maxrave/simpmusic/viewModel/SharedViewModel.kt +++ b/app/src/main/java/com/maxrave/simpmusic/viewModel/SharedViewModel.kt @@ -794,7 +794,7 @@ class SharedViewModel( } fun getCurrentMediaItemIndex(): Int { - return runBlocking { simpleMediaServiceHandler.currentSongIndex?.first() } ?: 0 + return runBlocking { simpleMediaServiceHandler.currentSongIndex.first() } ?: 0 } @UnstableApi @@ -1255,7 +1255,7 @@ class SharedViewModel( ) { song.artistName.firstOrNull() } else { - simpleMediaServiceHandler.nowPlaying?.first()?.mediaMetadata?.artist + simpleMediaServiceHandler.nowPlaying.first()?.mediaMetadata?.artist ?: "" } mainRepository.getLyricsData( @@ -1349,7 +1349,7 @@ class SharedViewModel( song.toTrack().copy( durationSeconds = duration, ), - "${song.title} ${song.artistName?.firstOrNull() ?: simpleMediaServiceHandler.nowPlaying?.first()?.mediaMetadata?.artist ?: ""}", + "${song.title} ${song.artistName?.firstOrNull() ?: simpleMediaServiceHandler.nowPlaying.first()?.mediaMetadata?.artist ?: ""}", duration, ) } @@ -1362,7 +1362,7 @@ class SharedViewModel( song.toTrack().copy( durationSeconds = duration, ), - "${song.title} ${song.artistName?.firstOrNull() ?: simpleMediaServiceHandler.nowPlaying?.first()?.mediaMetadata?.artist ?: ""}", + "${song.title} ${song.artistName?.firstOrNull() ?: simpleMediaServiceHandler.nowPlaying.first()?.mediaMetadata?.artist ?: ""}", duration, ) } else { @@ -1535,7 +1535,7 @@ class SharedViewModel( } } else { mainRepository.removeFromYouTubeLiked( - simpleMediaServiceHandler.nowPlaying?.first()?.mediaId, + simpleMediaServiceHandler.nowPlaying.first()?.mediaId, ) .collect { if (it == 200) { diff --git a/gradle.properties b/gradle.properties index e435797d..017fe006 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,5 +18,5 @@ android.useAndroidX=true kotlin.code.style=official kotlin.jvm.target.validation.mode=IGNORE org.gradle.daemon=true -org.gradle.jvmargs=-Xmx1536M -Dkotlin.daemon.jvm.options\="-Xmx1536M" +org.gradle.jvmargs=-Xmx2560m org.gradle.unsafe.configuration-cache=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6be06664..6f027ce5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -50,7 +50,7 @@ insetsx = "0.1.0-alpha10" ktor = "2.3.12" brotli = "0.1.2" ksoup = "0.3.1" -desugaring = "2.1.2" +desugaring = "2.1.3" koin-bom = "4.0.0-RC1" koin-annotations = "1.4.0-RC4" diff --git a/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/YouTube.kt b/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/YouTube.kt index f696638c..e2263619 100644 --- a/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/YouTube.kt +++ b/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/YouTube.kt @@ -386,8 +386,8 @@ object YouTube { if (withSongs) { albumSongs( response.contents - ?.twoColumnBrowseResultsRenderer - ?.secondaryContents + .twoColumnBrowseResultsRenderer + .secondaryContents ?.sectionListRenderer ?.contents ?.firstOrNull() diff --git a/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/pages/ArtistPage.kt b/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/pages/ArtistPage.kt index 64d2b12d..2f678909 100644 --- a/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/pages/ArtistPage.kt +++ b/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/pages/ArtistPage.kt @@ -57,7 +57,11 @@ data class ArtistPage( fromMusicTwoRowItemRenderer(renderer) } }, - moreEndpoint = renderer.header.musicCarouselShelfBasicHeaderRenderer.moreContentButton?.buttonRenderer?.navigationEndpoint?.browseEndpoint + moreEndpoint = renderer.header.musicCarouselShelfBasicHeaderRenderer + .moreContentButton + ?.buttonRenderer + ?.navigationEndpoint + ?.browseEndpoint ) } @@ -125,8 +129,7 @@ data class ArtistPage( playlistId = renderer.thumbnailOverlay?.musicItemThumbnailOverlayRenderer?.content ?.musicPlayButtonRenderer?.playNavigationEndpoint ?.watchPlaylistEndpoint?.playlistId - ?: renderer.navigationEndpoint.browseEndpoint.browseId.removePrefix("VL") - ?: return null, + ?: renderer.navigationEndpoint.browseEndpoint.browseId.removePrefix("VL"), title = renderer.title.runs?.firstOrNull()?.text ?: return null, artists = null, year = renderer.subtitle?.runs?.lastOrNull()?.text?.toIntOrNull(), diff --git a/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/pages/RelatedPage.kt b/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/pages/RelatedPage.kt index 693ca241..8ad3335b 100644 --- a/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/pages/RelatedPage.kt +++ b/kotlinYtmusicScraper/src/main/java/com/maxrave/kotlinytmusicscraper/pages/RelatedPage.kt @@ -66,8 +66,7 @@ data class RelatedPage( ?: renderer.thumbnailOverlay?.musicItemThumbnailOverlayRenderer ?.content?.musicPlayButtonRenderer?.playNavigationEndpoint ?.watchEndpoint?.playlistId - ?: renderer.navigationEndpoint.browseEndpoint.browseId.removePrefix("VL") - ?: return null, + ?: renderer.navigationEndpoint.browseEndpoint.browseId.removePrefix("VL"), title = renderer.title.runs?.firstOrNull()?.text ?: return null, artists = null, year = renderer.subtitle?.runs?.lastOrNull()?.text?.toIntOrNull(),