diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 5a758167..880949c9 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -40,7 +40,6 @@ - actual constructor(actual var value: T) +actual class NativeAtomicReference actual constructor(actual var value: T) \ No newline at end of file diff --git a/common/data-models/src/main/res/drawable/ic_arrow.xml b/common/data-models/src/main/res/drawable/ic_arrow.xml new file mode 100644 index 00000000..0d138470 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_arrow.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_download_arrow.xml b/common/data-models/src/main/res/drawable/ic_download_arrow.xml new file mode 100644 index 00000000..deadedca --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_download_arrow.xml @@ -0,0 +1,26 @@ + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_error.xml b/common/data-models/src/main/res/drawable/ic_error.xml new file mode 100644 index 00000000..e2faa77e --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_error.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_gaana.xml b/common/data-models/src/main/res/drawable/ic_gaana.xml new file mode 100644 index 00000000..28d27c3c --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_gaana.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_github.xml b/common/data-models/src/main/res/drawable/ic_github.xml new file mode 100644 index 00000000..5eb8b1a0 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_github.xml @@ -0,0 +1,21 @@ + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_heart.xml b/common/data-models/src/main/res/drawable/ic_heart.xml new file mode 100644 index 00000000..92f9beb0 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_heart.xml @@ -0,0 +1,24 @@ + + + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_indian_rupee.xml b/common/data-models/src/main/res/drawable/ic_indian_rupee.xml new file mode 100644 index 00000000..637c6b56 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_indian_rupee.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_instagram.xml b/common/data-models/src/main/res/drawable/ic_instagram.xml new file mode 100644 index 00000000..1cd9bc2d --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_instagram.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_jio_saavn_logo.xml b/common/data-models/src/main/res/drawable/ic_jio_saavn_logo.xml new file mode 100644 index 00000000..1a84ca9a --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_jio_saavn_logo.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_linkedin.xml b/common/data-models/src/main/res/drawable/ic_linkedin.xml new file mode 100644 index 00000000..8b177562 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_linkedin.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_mug.xml b/common/data-models/src/main/res/drawable/ic_mug.xml new file mode 100644 index 00000000..c8260781 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_mug.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_musicplaceholder.xml b/common/data-models/src/main/res/drawable/ic_musicplaceholder.xml new file mode 100644 index 00000000..7d304388 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_musicplaceholder.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_opencollective_icon.xml b/common/data-models/src/main/res/drawable/ic_opencollective_icon.xml new file mode 100644 index 00000000..b1ac9100 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_opencollective_icon.xml @@ -0,0 +1,5 @@ + + + + diff --git a/common/data-models/src/main/res/drawable/ic_paypal_logo.xml b/common/data-models/src/main/res/drawable/ic_paypal_logo.xml new file mode 100644 index 00000000..933369b5 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_paypal_logo.xml @@ -0,0 +1,5 @@ + + + + diff --git a/common/data-models/src/main/res/drawable/ic_refreshgradient.xml b/common/data-models/src/main/res/drawable/ic_refreshgradient.xml new file mode 100644 index 00000000..47805ea8 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_refreshgradient.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_round_cancel_24.xml b/common/data-models/src/main/res/drawable/ic_round_cancel_24.xml new file mode 100644 index 00000000..a5eacb39 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_round_cancel_24.xml @@ -0,0 +1,26 @@ + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_share_open.xml b/common/data-models/src/main/res/drawable/ic_share_open.xml new file mode 100644 index 00000000..dbd7c1a4 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_share_open.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_song_placeholder.xml b/common/data-models/src/main/res/drawable/ic_song_placeholder.xml new file mode 100644 index 00000000..04a9c803 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_song_placeholder.xml @@ -0,0 +1,21 @@ + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_spotiflyer_logo.xml b/common/data-models/src/main/res/drawable/ic_spotiflyer_logo.xml new file mode 100644 index 00000000..bc68c3c7 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_spotiflyer_logo.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_spotify_logo.xml b/common/data-models/src/main/res/drawable/ic_spotify_logo.xml new file mode 100644 index 00000000..e773449a --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_spotify_logo.xml @@ -0,0 +1,20 @@ + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_tick.xml b/common/data-models/src/main/res/drawable/ic_tick.xml new file mode 100644 index 00000000..5b9e2e13 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_tick.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_youtube.xml b/common/data-models/src/main/res/drawable/ic_youtube.xml new file mode 100644 index 00000000..728779f1 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_youtube.xml @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/common/data-models/src/main/res/drawable/ic_youtube_music_logo.xml b/common/data-models/src/main/res/drawable/ic_youtube_music_logo.xml new file mode 100644 index 00000000..7e723917 --- /dev/null +++ b/common/data-models/src/main/res/drawable/ic_youtube_music_logo.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/common/data-models/src/main/res/drawable/music.xml b/common/data-models/src/main/res/drawable/music.xml new file mode 100644 index 00000000..04a9c803 --- /dev/null +++ b/common/data-models/src/main/res/drawable/music.xml @@ -0,0 +1,21 @@ + + + + + + diff --git a/common/data-models/src/main/res/font/montserrat_light.ttf b/common/data-models/src/main/res/font/montserrat_light.ttf new file mode 100644 index 00000000..990857de Binary files /dev/null and b/common/data-models/src/main/res/font/montserrat_light.ttf differ diff --git a/common/data-models/src/main/res/font/montserrat_medium.ttf b/common/data-models/src/main/res/font/montserrat_medium.ttf new file mode 100644 index 00000000..6e079f69 Binary files /dev/null and b/common/data-models/src/main/res/font/montserrat_medium.ttf differ diff --git a/common/data-models/src/main/res/font/montserrat_regular.ttf b/common/data-models/src/main/res/font/montserrat_regular.ttf new file mode 100644 index 00000000..8d443d5d Binary files /dev/null and b/common/data-models/src/main/res/font/montserrat_regular.ttf differ diff --git a/common/data-models/src/main/res/font/montserrat_semibold.ttf b/common/data-models/src/main/res/font/montserrat_semibold.ttf new file mode 100644 index 00000000..f8a43f2b Binary files /dev/null and b/common/data-models/src/main/res/font/montserrat_semibold.ttf differ diff --git a/common/data-models/src/main/res/font/pristine_script.ttf b/common/data-models/src/main/res/font/pristine_script.ttf new file mode 100644 index 00000000..e8d3e494 Binary files /dev/null and b/common/data-models/src/main/res/font/pristine_script.ttf differ diff --git a/common/preference/src/commonMain/kotlin/com/shabinder/common/preference/store/SpotiFlyerPreferenceStoreProvider.kt b/common/preference/src/commonMain/kotlin/com/shabinder/common/preference/store/SpotiFlyerPreferenceStoreProvider.kt index d27c6f57..fcb8168c 100644 --- a/common/preference/src/commonMain/kotlin/com/shabinder/common/preference/store/SpotiFlyerPreferenceStoreProvider.kt +++ b/common/preference/src/commonMain/kotlin/com/shabinder/common/preference/store/SpotiFlyerPreferenceStoreProvider.kt @@ -51,7 +51,7 @@ internal class SpotiFlyerPreferenceStoreProvider( override suspend fun executeAction(action: Unit, getState: () -> State) { dispatch(Result.AnalyticsToggled(analyticsManager.isTracking())) dispatch(Result.PreferredAudioQualityChanged(preferenceManager.audioQuality)) - dispatch(Result.DownloadPathSet(dir.defaultDir())) + dispatch(Result.DownloadPathSet(fileManager.defaultDir())) } override suspend fun executeIntent(intent: Intent, getState: () -> State) { diff --git a/console-app/build.gradle.kts b/console-app/build.gradle.kts index ce732f2e..c3da4280 100644 --- a/console-app/build.gradle.kts +++ b/console-app/build.gradle.kts @@ -52,7 +52,17 @@ dependencies { // testDeps testImplementation("org.jetbrains.kotlin:kotlin-test-junit:1.5.21") } - +tasks.withType().configureEach { + kotlinOptions { + jvmTarget = "1.8" + freeCompilerArgs = freeCompilerArgs.plus( + listOf( + "-P", + "plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true" + ) + ) + } +} tasks.test { useJUnit() } diff --git a/desktop/src/jvmMain/kotlin/Main.kt b/desktop/src/jvmMain/kotlin/Main.kt index cbcb52a6..1748b379 100644 --- a/desktop/src/jvmMain/kotlin/Main.kt +++ b/desktop/src/jvmMain/kotlin/Main.kt @@ -32,13 +32,13 @@ import com.arkivanov.essenty.lifecycle.LifecycleRegistry import com.arkivanov.mvikotlin.main.store.DefaultStoreFactory import com.shabinder.common.di.* import com.shabinder.common.core_components.analytics.AnalyticsManager +import com.shabinder.common.core_components.file_manager.DownloadProgressFlow import com.shabinder.common.core_components.file_manager.FileManager import com.shabinder.common.core_components.preference_manager.PreferenceManager import com.shabinder.common.core_components.utils.isInternetAccessible import com.shabinder.common.models.Actions import com.shabinder.common.models.PlatformActions import com.shabinder.common.models.TrackDetails -import com.shabinder.common.providers.DownloadProgressFlow import com.shabinder.common.providers.FetchPlatformQueryResult import com.shabinder.common.root.SpotiFlyerRoot import com.shabinder.common.translations.Strings diff --git a/ffmpeg-kit b/ffmpeg-kit index 46afc3f3..33c8cbe2 160000 --- a/ffmpeg-kit +++ b/ffmpeg-kit @@ -1 +1 @@ -Subproject commit 46afc3f34a91efffb3c2bc595d64e2d714d48245 +Subproject commit 33c8cbe27b8c99cedf795b54d7b76a28a2809df8 diff --git a/scripts/build-ffmpeg.sh b/scripts/build-ffmpeg.sh new file mode 100755 index 00000000..0f66eed3 --- /dev/null +++ b/scripts/build-ffmpeg.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +./../ffmpeg-kit/android.sh \ + --lts \ + --disable-everything \ + --disable-network \ + --disable-autodetect \ + --enable-small \ + --enable-decoder=aac*,ac3*,opus,vorbis \ + --enable-demuxer=mov,m4v,matroska \ + --enable-muxer=mp3,mp4 \ + --enable-protocol=file \ + --enable-encoder=mp3 \ + --enable-filter=aresample \ + --enable-gpl \ + --enable-version3 \ + --enable-cross-compile \ + --enable-pic \ + --enable-jni \ + --enable-optimizations \ + --enable-v4l2-m2m \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index e54a2fcb..77d4cc80 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -27,11 +27,10 @@ include( ":common:providers", ":common:core-components", ":common:dependency-injection", + ":ffmpeg-kit:android:ffmpeg-kit-android-lib", ":android", ":desktop", ":web-app", - ":console-app", + //":console-app", ":maintenance-tasks" ) -include("common:core-components") -findProject(":common:core-components")?.name = "core-components" diff --git a/web-app/build.gradle.kts b/web-app/build.gradle.kts index 22bb6190..c18bd2ea 100644 --- a/web-app/build.gradle.kts +++ b/web-app/build.gradle.kts @@ -40,6 +40,7 @@ dependencies { implementation(project(":common:list")) implementation(project(":common:database")) implementation(project(":common:data-models")) + implementation(project(":common:providers")) implementation(project(":common:core-components")) implementation(project(":common:dependency-injection")) implementation("co.touchlab:stately-common:1.1.7") diff --git a/web-app/src/main/kotlin/App.kt b/web-app/src/main/kotlin/App.kt index 138e2ff9..0f2ee177 100644 --- a/web-app/src/main/kotlin/App.kt +++ b/web-app/src/main/kotlin/App.kt @@ -21,8 +21,8 @@ import com.arkivanov.essenty.lifecycle.resume import com.arkivanov.mvikotlin.core.store.StoreFactory import com.arkivanov.mvikotlin.logging.store.LoggingStoreFactory import com.arkivanov.mvikotlin.main.store.DefaultStoreFactory -import com.shabinder.common.di.DownloadProgressFlow -import com.shabinder.common.di.preference.PreferenceManager +import com.shabinder.common.core_components.file_manager.DownloadProgressFlow +import com.shabinder.common.core_components.preference_manager.PreferenceManager import com.shabinder.common.models.Actions import com.shabinder.common.models.PlatformActions import com.shabinder.common.models.TrackDetails diff --git a/web-app/src/main/kotlin/client.kt b/web-app/src/main/kotlin/client.kt index a8d3e5ef..1efce0ae 100644 --- a/web-app/src/main/kotlin/client.kt +++ b/web-app/src/main/kotlin/client.kt @@ -15,11 +15,11 @@ */ import co.touchlab.kermit.Kermit -import com.shabinder.common.di.FetchPlatformQueryResult import com.shabinder.common.core_components.analytics.AnalyticsManager import com.shabinder.common.core_components.file_manager.FileManager +import com.shabinder.common.core_components.preference_manager.PreferenceManager import com.shabinder.common.di.initKoin -import com.shabinder.common.di.preference.PreferenceManager +import com.shabinder.common.providers.FetchPlatformQueryResult import kotlinx.browser.document import kotlinx.browser.window import org.koin.core.component.KoinComponent