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