From 45c0af71621b95bdea3925b412f67c6d16ae1834 Mon Sep 17 00:00:00 2001 From: Siro Devs Date: Thu, 4 Dec 2025 11:43:45 +0300 Subject: [PATCH 1/5] remodularised --- ...otlin-compiler-18110105652542382796.salive | 0 .../{viewmodels => home}/HomeViewModel.kt | 26 ++++++++++++------- .../home/components/BottomNavBar.kt | 2 +- .../home/components/ChooseListingSheet.kt | 2 +- .../{screens => }/home/components/DialPad.kt | 2 +- .../home/components/HomeAppBar.kt | 4 +-- .../home/components/ListingsList.kt | 2 +- .../home/components/SongsList.kt | 4 +-- .../{screens/home => home/view}/HomeScreen.kt | 14 +++++----- .../home => home/view}/tabs/HomeLikes.kt | 6 ++--- .../home => home/view}/tabs/HomeListings.kt | 6 ++--- .../home => home/view}/tabs/HomeSearch.kt | 8 +++--- .../ListingViewModel.kt | 23 +++++++++------- .../listing => listing/view}/ListedSongs.kt | 2 +- .../listing => listing/view}/ListingScreen.kt | 4 +-- .../presentation/navigation/AppNavHost.kt | 9 ++++++- .../PresenterViewModel.kt | 25 +++++++++++------- .../components/PresenterIndicators.kt | 2 +- .../presenter/components/PresenterTabs.kt | 2 +- .../view}/PresenterScreen.kt | 4 +-- .../step1}/Step1ViewModel.kt | 24 +++++++++++------ .../selection/step1/components/Step1Fab.kt | 4 +-- .../step1/view}/Step1Content.kt | 2 +- .../step1/view}/Step1Screen.kt | 4 +-- .../step2}/Step2ViewModel.kt | 22 ++++++++++------ .../step2/view}/Step2Screen.kt | 4 +-- .../SettingsViewModel.kt | 4 +-- .../settings/components/SettingsDialogs.kt | 2 +- .../view}/SettingsScreen.kt | 4 +-- .../{viewmodels => splash}/SplashViewModel.kt | 16 +++++++----- .../components}/SplashComponents.kt | 3 +-- .../splash => splash/view}/SplashScreen.kt | 6 +++-- 32 files changed, 144 insertions(+), 98 deletions(-) delete mode 100644 .kotlin/sessions/kotlin-compiler-18110105652542382796.salive rename app/src/main/java/com/songlib/presentation/{viewmodels => home}/HomeViewModel.kt (90%) rename app/src/main/java/com/songlib/presentation/{screens => }/home/components/BottomNavBar.kt (96%) rename app/src/main/java/com/songlib/presentation/{screens => }/home/components/ChooseListingSheet.kt (98%) rename app/src/main/java/com/songlib/presentation/{screens => }/home/components/DialPad.kt (98%) rename app/src/main/java/com/songlib/presentation/{screens => }/home/components/HomeAppBar.kt (96%) rename app/src/main/java/com/songlib/presentation/{screens => }/home/components/ListingsList.kt (97%) rename app/src/main/java/com/songlib/presentation/{screens => }/home/components/SongsList.kt (96%) rename app/src/main/java/com/songlib/presentation/{screens/home => home/view}/HomeScreen.kt (90%) rename app/src/main/java/com/songlib/presentation/{screens/home => home/view}/tabs/HomeLikes.kt (95%) rename app/src/main/java/com/songlib/presentation/{screens/home => home/view}/tabs/HomeListings.kt (97%) rename app/src/main/java/com/songlib/presentation/{screens/home => home/view}/tabs/HomeSearch.kt (94%) rename app/src/main/java/com/songlib/presentation/{viewmodels => listing}/ListingViewModel.kt (82%) rename app/src/main/java/com/songlib/presentation/{screens/listing => listing/view}/ListedSongs.kt (97%) rename app/src/main/java/com/songlib/presentation/{screens/listing => listing/view}/ListingScreen.kt (97%) rename app/src/main/java/com/songlib/presentation/{viewmodels => presenter}/PresenterViewModel.kt (81%) rename app/src/main/java/com/songlib/presentation/{screens => }/presenter/components/PresenterIndicators.kt (97%) rename app/src/main/java/com/songlib/presentation/{screens => }/presenter/components/PresenterTabs.kt (97%) rename app/src/main/java/com/songlib/presentation/{screens/presenter => presenter/view}/PresenterScreen.kt (97%) rename app/src/main/java/com/songlib/presentation/{viewmodels => selection/step1}/Step1ViewModel.kt (88%) rename app/src/main/java/com/songlib/presentation/{screens => }/selection/step1/components/Step1Fab.kt (92%) rename app/src/main/java/com/songlib/presentation/{screens/selection/step1 => selection/step1/view}/Step1Content.kt (96%) rename app/src/main/java/com/songlib/presentation/{screens/selection/step1 => selection/step1/view}/Step1Screen.kt (97%) rename app/src/main/java/com/songlib/presentation/{viewmodels => selection/step2}/Step2ViewModel.kt (86%) rename app/src/main/java/com/songlib/presentation/{screens/selection/step2 => selection/step2/view}/Step2Screen.kt (94%) rename app/src/main/java/com/songlib/presentation/{viewmodels => settings}/SettingsViewModel.kt (96%) rename app/src/main/java/com/songlib/presentation/{screens => }/settings/components/SettingsDialogs.kt (95%) rename app/src/main/java/com/songlib/presentation/{screens/settings => settings/view}/SettingsScreen.kt (97%) rename app/src/main/java/com/songlib/presentation/{viewmodels => splash}/SplashViewModel.kt (81%) rename app/src/main/java/com/songlib/presentation/{screens/splash => splash/components}/SplashComponents.kt (95%) rename app/src/main/java/com/songlib/presentation/{screens/splash => splash/view}/SplashScreen.kt (92%) diff --git a/.kotlin/sessions/kotlin-compiler-18110105652542382796.salive b/.kotlin/sessions/kotlin-compiler-18110105652542382796.salive deleted file mode 100644 index e69de29..0000000 diff --git a/app/src/main/java/com/songlib/presentation/viewmodels/HomeViewModel.kt b/app/src/main/java/com/songlib/presentation/home/HomeViewModel.kt similarity index 90% rename from app/src/main/java/com/songlib/presentation/viewmodels/HomeViewModel.kt rename to app/src/main/java/com/songlib/presentation/home/HomeViewModel.kt index 7d2a43c..417c453 100644 --- a/app/src/main/java/com/songlib/presentation/viewmodels/HomeViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/home/HomeViewModel.kt @@ -1,17 +1,25 @@ -package com.songlib.presentation.viewmodels +package com.songlib.presentation.home import android.util.Log -import androidx.lifecycle.* +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope import com.songlib.core.utils.SongUtils -import com.songlib.data.models.* +import com.songlib.data.models.Book +import com.songlib.data.models.ListingUi +import com.songlib.data.models.Song import com.songlib.domain.entity.UiState -import com.songlib.domain.repository.* -import com.songlib.presentation.screens.home.components.HomeNavItem +import com.songlib.domain.repository.ListingRepository +import com.songlib.domain.repository.PreferencesRepository +import com.songlib.domain.repository.SongBookRepository +import com.songlib.presentation.home.components.HomeNavItem import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.flow.* -import kotlinx.coroutines.* +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import javax.inject.Inject -import kotlin.collections.* @HiltViewModel class HomeViewModel @Inject constructor( @@ -196,4 +204,4 @@ class HomeViewModel @Inject constructor( } } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/songlib/presentation/screens/home/components/BottomNavBar.kt b/app/src/main/java/com/songlib/presentation/home/components/BottomNavBar.kt similarity index 96% rename from app/src/main/java/com/songlib/presentation/screens/home/components/BottomNavBar.kt rename to app/src/main/java/com/songlib/presentation/home/components/BottomNavBar.kt index 1aa2588..8ef0226 100644 --- a/app/src/main/java/com/songlib/presentation/screens/home/components/BottomNavBar.kt +++ b/app/src/main/java/com/songlib/presentation/home/components/BottomNavBar.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.home.components +package com.songlib.presentation.home.components //noinspection UsingMaterialAndMaterial3Libraries import androidx.compose.material.* diff --git a/app/src/main/java/com/songlib/presentation/screens/home/components/ChooseListingSheet.kt b/app/src/main/java/com/songlib/presentation/home/components/ChooseListingSheet.kt similarity index 98% rename from app/src/main/java/com/songlib/presentation/screens/home/components/ChooseListingSheet.kt rename to app/src/main/java/com/songlib/presentation/home/components/ChooseListingSheet.kt index 9e78991..317a532 100644 --- a/app/src/main/java/com/songlib/presentation/screens/home/components/ChooseListingSheet.kt +++ b/app/src/main/java/com/songlib/presentation/home/components/ChooseListingSheet.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.home.components +package com.songlib.presentation.home.components import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* diff --git a/app/src/main/java/com/songlib/presentation/screens/home/components/DialPad.kt b/app/src/main/java/com/songlib/presentation/home/components/DialPad.kt similarity index 98% rename from app/src/main/java/com/songlib/presentation/screens/home/components/DialPad.kt rename to app/src/main/java/com/songlib/presentation/home/components/DialPad.kt index a739a49..5801e54 100644 --- a/app/src/main/java/com/songlib/presentation/screens/home/components/DialPad.kt +++ b/app/src/main/java/com/songlib/presentation/home/components/DialPad.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.home.components +package com.songlib.presentation.home.components import androidx.compose.foundation.layout.* import androidx.compose.foundation.shape.RoundedCornerShape diff --git a/app/src/main/java/com/songlib/presentation/screens/home/components/HomeAppBar.kt b/app/src/main/java/com/songlib/presentation/home/components/HomeAppBar.kt similarity index 96% rename from app/src/main/java/com/songlib/presentation/screens/home/components/HomeAppBar.kt rename to app/src/main/java/com/songlib/presentation/home/components/HomeAppBar.kt index ffbe25e..ab9a0e8 100644 --- a/app/src/main/java/com/songlib/presentation/screens/home/components/HomeAppBar.kt +++ b/app/src/main/java/com/songlib/presentation/home/components/HomeAppBar.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.home.components +package com.songlib.presentation.home.components import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.* @@ -9,7 +9,7 @@ import com.songlib.data.models.Song import com.songlib.domain.repository.PreferencesRepository import com.songlib.presentation.components.action.AppTopBar import com.songlib.presentation.components.general.QuickFormDialog -import com.songlib.presentation.viewmodels.HomeViewModel +import com.songlib.presentation.home.HomeViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/com/songlib/presentation/screens/home/components/ListingsList.kt b/app/src/main/java/com/songlib/presentation/home/components/ListingsList.kt similarity index 97% rename from app/src/main/java/com/songlib/presentation/screens/home/components/ListingsList.kt rename to app/src/main/java/com/songlib/presentation/home/components/ListingsList.kt index 5a35d13..97b936e 100644 --- a/app/src/main/java/com/songlib/presentation/screens/home/components/ListingsList.kt +++ b/app/src/main/java/com/songlib/presentation/home/components/ListingsList.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.home.components +package com.songlib.presentation.home.components import androidx.compose.foundation.* import androidx.compose.foundation.layout.* diff --git a/app/src/main/java/com/songlib/presentation/screens/home/components/SongsList.kt b/app/src/main/java/com/songlib/presentation/home/components/SongsList.kt similarity index 96% rename from app/src/main/java/com/songlib/presentation/screens/home/components/SongsList.kt rename to app/src/main/java/com/songlib/presentation/home/components/SongsList.kt index 31732ff..3d2c54f 100644 --- a/app/src/main/java/com/songlib/presentation/screens/home/components/SongsList.kt +++ b/app/src/main/java/com/songlib/presentation/home/components/SongsList.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.home.components +package com.songlib.presentation.home.components import androidx.compose.foundation.* import androidx.compose.foundation.layout.* @@ -15,7 +15,7 @@ import androidx.navigation.NavHostController import com.songlib.data.models.Song import com.songlib.presentation.components.listitems.* import com.songlib.presentation.navigation.Routes -import com.songlib.presentation.viewmodels.HomeViewModel +import com.songlib.presentation.home.HomeViewModel @Composable fun SongsList( diff --git a/app/src/main/java/com/songlib/presentation/screens/home/HomeScreen.kt b/app/src/main/java/com/songlib/presentation/home/view/HomeScreen.kt similarity index 90% rename from app/src/main/java/com/songlib/presentation/screens/home/HomeScreen.kt rename to app/src/main/java/com/songlib/presentation/home/view/HomeScreen.kt index 21735d4..5fff01c 100644 --- a/app/src/main/java/com/songlib/presentation/screens/home/HomeScreen.kt +++ b/app/src/main/java/com/songlib/presentation/home/view/HomeScreen.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.home +package com.songlib.presentation.home.view import androidx.compose.foundation.layout.* //noinspection UsingMaterialAndMaterial3Libraries @@ -8,16 +8,16 @@ import androidx.compose.material.icons.filled.EditNote import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.ui.* -import androidx.compose.ui.window.* import androidx.navigation.NavHostController -import com.revenuecat.purchases.ui.revenuecatui.* -import com.revenuecat.purchases.ui.revenuecatui.customercenter.CustomerCenter import com.songlib.domain.entity.UiState import com.songlib.presentation.components.indicators.* -import com.songlib.presentation.screens.home.tabs.* -import com.songlib.presentation.screens.home.components.* -import com.songlib.presentation.viewmodels.HomeViewModel +import com.songlib.presentation.home.HomeViewModel import com.songlib.presentation.components.indicators.ErrorState +import com.songlib.presentation.home.components.BottomNavBar +import com.songlib.presentation.home.components.HomeNavItem +import com.songlib.presentation.home.view.tabs.HomeLikes +import com.songlib.presentation.home.view.tabs.HomeListings +import com.songlib.presentation.home.view.tabs.HomeSearch import com.songlib.presentation.navigation.Routes @OptIn(ExperimentalMaterialApi::class) diff --git a/app/src/main/java/com/songlib/presentation/screens/home/tabs/HomeLikes.kt b/app/src/main/java/com/songlib/presentation/home/view/tabs/HomeLikes.kt similarity index 95% rename from app/src/main/java/com/songlib/presentation/screens/home/tabs/HomeLikes.kt rename to app/src/main/java/com/songlib/presentation/home/view/tabs/HomeLikes.kt index 61a5321..f8f8bd7 100644 --- a/app/src/main/java/com/songlib/presentation/screens/home/tabs/HomeLikes.kt +++ b/app/src/main/java/com/songlib/presentation/home/view/tabs/HomeLikes.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.home.tabs +package com.songlib.presentation.home.view.tabs import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons @@ -11,9 +11,9 @@ import com.songlib.data.models.Song import com.songlib.domain.entity.UiState import com.songlib.presentation.components.action.AppTopBar import com.songlib.presentation.components.indicators.* +import com.songlib.presentation.home.components.SongsList import com.songlib.presentation.navigation.Routes -import com.songlib.presentation.screens.home.components.* -import com.songlib.presentation.viewmodels.HomeViewModel +import com.songlib.presentation.home.HomeViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/com/songlib/presentation/screens/home/tabs/HomeListings.kt b/app/src/main/java/com/songlib/presentation/home/view/tabs/HomeListings.kt similarity index 97% rename from app/src/main/java/com/songlib/presentation/screens/home/tabs/HomeListings.kt rename to app/src/main/java/com/songlib/presentation/home/view/tabs/HomeListings.kt index c301a00..4fb5824 100644 --- a/app/src/main/java/com/songlib/presentation/screens/home/tabs/HomeListings.kt +++ b/app/src/main/java/com/songlib/presentation/home/view/tabs/HomeListings.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.home.tabs +package com.songlib.presentation.home.view.tabs import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons @@ -9,14 +9,14 @@ import androidx.compose.ui.* import androidx.compose.ui.window.* import androidx.navigation.NavHostController import com.revenuecat.purchases.ui.revenuecatui.* -import com.songlib.presentation.screens.home.components.ListingsList +import com.songlib.presentation.home.components.ListingsList import com.songlib.data.models.ListingUi import com.songlib.domain.entity.UiState import com.songlib.presentation.components.action.* import com.songlib.presentation.components.general.* import com.songlib.presentation.components.indicators.* import com.songlib.presentation.navigation.Routes -import com.songlib.presentation.viewmodels.HomeViewModel +import com.songlib.presentation.home.HomeViewModel import kotlin.collections.plus @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/src/main/java/com/songlib/presentation/screens/home/tabs/HomeSearch.kt b/app/src/main/java/com/songlib/presentation/home/view/tabs/HomeSearch.kt similarity index 94% rename from app/src/main/java/com/songlib/presentation/screens/home/tabs/HomeSearch.kt rename to app/src/main/java/com/songlib/presentation/home/view/tabs/HomeSearch.kt index d5c0a62..65417bd 100644 --- a/app/src/main/java/com/songlib/presentation/screens/home/tabs/HomeSearch.kt +++ b/app/src/main/java/com/songlib/presentation/home/view/tabs/HomeSearch.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.home.tabs +package com.songlib.presentation.home.view.tabs import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons @@ -11,7 +11,7 @@ import androidx.navigation.NavHostController import com.songlib.domain.entity.UiState import com.songlib.presentation.components.action.* import com.songlib.presentation.navigation.Routes -import com.songlib.presentation.viewmodels.HomeViewModel +import com.songlib.presentation.home.HomeViewModel import androidx.compose.ui.Modifier import androidx.compose.ui.window.Dialog import androidx.compose.ui.window.DialogProperties @@ -19,7 +19,9 @@ import com.revenuecat.purchases.ui.revenuecatui.Paywall import com.revenuecat.purchases.ui.revenuecatui.PaywallOptions import com.songlib.data.models.Song import com.songlib.presentation.components.indicators.EmptyState -import com.songlib.presentation.screens.home.components.* +import com.songlib.presentation.home.components.DialPad +import com.songlib.presentation.home.components.HomeSearchAppBar +import com.songlib.presentation.home.components.SongsList @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/com/songlib/presentation/viewmodels/ListingViewModel.kt b/app/src/main/java/com/songlib/presentation/listing/ListingViewModel.kt similarity index 82% rename from app/src/main/java/com/songlib/presentation/viewmodels/ListingViewModel.kt rename to app/src/main/java/com/songlib/presentation/listing/ListingViewModel.kt index 516c6d8..03ebcec 100644 --- a/app/src/main/java/com/songlib/presentation/viewmodels/ListingViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/listing/ListingViewModel.kt @@ -1,15 +1,20 @@ -package com.songlib.presentation.viewmodels +package com.songlib.presentation.listing import android.util.Log -import androidx.lifecycle.* -import com.songlib.data.models.* -import com.songlib.domain.entity.* -import com.songlib.domain.repository.* +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.songlib.data.models.ListingUi +import com.songlib.data.models.Song +import com.songlib.domain.entity.UiState +import com.songlib.domain.repository.ListingRepository +import com.songlib.domain.repository.SongBookRepository import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.* -import kotlinx.coroutines.flow.* +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.launch import javax.inject.Inject -import kotlin.collections.forEach @HiltViewModel class ListingViewModel @Inject constructor( @@ -86,4 +91,4 @@ class ListingViewModel @Inject constructor( } } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/songlib/presentation/screens/listing/ListedSongs.kt b/app/src/main/java/com/songlib/presentation/listing/view/ListedSongs.kt similarity index 97% rename from app/src/main/java/com/songlib/presentation/screens/listing/ListedSongs.kt rename to app/src/main/java/com/songlib/presentation/listing/view/ListedSongs.kt index e9aae50..99c1576 100644 --- a/app/src/main/java/com/songlib/presentation/screens/listing/ListedSongs.kt +++ b/app/src/main/java/com/songlib/presentation/listing/view/ListedSongs.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.listing +package com.songlib.presentation.listing.view import androidx.compose.foundation.* import androidx.compose.foundation.layout.* diff --git a/app/src/main/java/com/songlib/presentation/screens/listing/ListingScreen.kt b/app/src/main/java/com/songlib/presentation/listing/view/ListingScreen.kt similarity index 97% rename from app/src/main/java/com/songlib/presentation/screens/listing/ListingScreen.kt rename to app/src/main/java/com/songlib/presentation/listing/view/ListingScreen.kt index 16d3e91..a4756d2 100644 --- a/app/src/main/java/com/songlib/presentation/screens/listing/ListingScreen.kt +++ b/app/src/main/java/com/songlib/presentation/listing/view/ListingScreen.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.listing +package com.songlib.presentation.listing.view import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons @@ -13,7 +13,7 @@ import com.songlib.domain.entity.UiState import com.songlib.presentation.components.action.AppTopBar import com.songlib.presentation.components.general.* import com.songlib.presentation.components.indicators.* -import com.songlib.presentation.viewmodels.ListingViewModel +import com.songlib.presentation.listing.ListingViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/com/songlib/presentation/navigation/AppNavHost.kt b/app/src/main/java/com/songlib/presentation/navigation/AppNavHost.kt index a080851..33bf2e9 100644 --- a/app/src/main/java/com/songlib/presentation/navigation/AppNavHost.kt +++ b/app/src/main/java/com/songlib/presentation/navigation/AppNavHost.kt @@ -8,13 +8,20 @@ import androidx.navigation.* import androidx.navigation.compose.* import com.songlib.data.models.* import com.songlib.domain.repository.ThemeRepository -import com.songlib.presentation.screens.home.HomeScreen +import com.songlib.presentation.home.HomeViewModel +import com.songlib.presentation.home.view.HomeScreen +import com.songlib.presentation.listing.ListingViewModel +import com.songlib.presentation.presenter.PresenterViewModel import com.songlib.presentation.screens.settings.SettingsScreen import com.songlib.presentation.screens.presenter.PresenterScreen import com.songlib.presentation.screens.selection.step1.Step1Screen import com.songlib.presentation.screens.selection.step2.Step2Screen import com.songlib.presentation.screens.listing.ListingScreen import com.songlib.presentation.screens.splash.SplashScreen +import com.songlib.presentation.selection.step1.Step1ViewModel +import com.songlib.presentation.selection.step2.Step2ViewModel +import com.songlib.presentation.settings.SettingsViewModel +import com.songlib.presentation.splash.SplashViewModel import com.songlib.presentation.viewmodels.* @OptIn(ExperimentalComposeUiApi::class, ExperimentalFoundationApi::class) diff --git a/app/src/main/java/com/songlib/presentation/viewmodels/PresenterViewModel.kt b/app/src/main/java/com/songlib/presentation/presenter/PresenterViewModel.kt similarity index 81% rename from app/src/main/java/com/songlib/presentation/viewmodels/PresenterViewModel.kt rename to app/src/main/java/com/songlib/presentation/presenter/PresenterViewModel.kt index 7ce13d1..b90a831 100644 --- a/app/src/main/java/com/songlib/presentation/viewmodels/PresenterViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/presenter/PresenterViewModel.kt @@ -1,13 +1,18 @@ -package com.songlib.presentation.viewmodels - -import androidx.lifecycle.* -import com.songlib.core.utils.* -import com.songlib.data.models.* -import com.songlib.domain.entity.* -import com.songlib.domain.repository.* +package com.songlib.presentation.presenter + +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.songlib.core.utils.getSongVerses +import com.songlib.core.utils.songItemTitle +import com.songlib.data.models.Song +import com.songlib.domain.entity.UiState +import com.songlib.domain.repository.PreferencesRepository +import com.songlib.domain.repository.SongBookRepository import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.* -import kotlinx.coroutines.flow.* +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.launch import javax.inject.Inject @HiltViewModel @@ -81,4 +86,4 @@ class PresenterViewModel @Inject constructor( } } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/songlib/presentation/screens/presenter/components/PresenterIndicators.kt b/app/src/main/java/com/songlib/presentation/presenter/components/PresenterIndicators.kt similarity index 97% rename from app/src/main/java/com/songlib/presentation/screens/presenter/components/PresenterIndicators.kt rename to app/src/main/java/com/songlib/presentation/presenter/components/PresenterIndicators.kt index f16161a..459c7cd 100644 --- a/app/src/main/java/com/songlib/presentation/screens/presenter/components/PresenterIndicators.kt +++ b/app/src/main/java/com/songlib/presentation/presenter/components/PresenterIndicators.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.presenter.components +package com.songlib.presentation.presenter.components import androidx.compose.foundation.layout.* import androidx.compose.material3.* diff --git a/app/src/main/java/com/songlib/presentation/screens/presenter/components/PresenterTabs.kt b/app/src/main/java/com/songlib/presentation/presenter/components/PresenterTabs.kt similarity index 97% rename from app/src/main/java/com/songlib/presentation/screens/presenter/components/PresenterTabs.kt rename to app/src/main/java/com/songlib/presentation/presenter/components/PresenterTabs.kt index 256834a..c1df837 100644 --- a/app/src/main/java/com/songlib/presentation/screens/presenter/components/PresenterTabs.kt +++ b/app/src/main/java/com/songlib/presentation/presenter/components/PresenterTabs.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.presenter.components +package com.songlib.presentation.presenter.components import androidx.compose.foundation.layout.* import androidx.compose.material3.* diff --git a/app/src/main/java/com/songlib/presentation/screens/presenter/PresenterScreen.kt b/app/src/main/java/com/songlib/presentation/presenter/view/PresenterScreen.kt similarity index 97% rename from app/src/main/java/com/songlib/presentation/screens/presenter/PresenterScreen.kt rename to app/src/main/java/com/songlib/presentation/presenter/view/PresenterScreen.kt index 42fa62b..8ea4540 100644 --- a/app/src/main/java/com/songlib/presentation/screens/presenter/PresenterScreen.kt +++ b/app/src/main/java/com/songlib/presentation/presenter/view/PresenterScreen.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.presenter +package com.songlib.presentation.presenter.view import android.widget.Toast import androidx.compose.foundation.layout.* @@ -18,7 +18,7 @@ import com.songlib.domain.entity.UiState import com.songlib.presentation.components.action.AppTopBar import com.songlib.presentation.components.indicators.* import com.songlib.presentation.screens.presenter.components.* -import com.songlib.presentation.viewmodels.PresenterViewModel +import com.songlib.presentation.presenter.PresenterViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/com/songlib/presentation/viewmodels/Step1ViewModel.kt b/app/src/main/java/com/songlib/presentation/selection/step1/Step1ViewModel.kt similarity index 88% rename from app/src/main/java/com/songlib/presentation/viewmodels/Step1ViewModel.kt rename to app/src/main/java/com/songlib/presentation/selection/step1/Step1ViewModel.kt index 85124d9..216ad61 100644 --- a/app/src/main/java/com/songlib/presentation/viewmodels/Step1ViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/selection/step1/Step1ViewModel.kt @@ -1,13 +1,21 @@ -package com.songlib.presentation.viewmodels +package com.songlib.presentation.selection.step1 import android.util.Log -import androidx.lifecycle.* -import com.songlib.data.models.* -import com.songlib.domain.entity.* -import com.songlib.domain.repository.* +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.songlib.data.models.Book +import com.songlib.domain.entity.Selectable +import com.songlib.domain.entity.UiState +import com.songlib.domain.repository.PreferencesRepository +import com.songlib.domain.repository.SongBookRepository +import com.songlib.domain.repository.SubscriptionsRepository import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.flow.* -import kotlinx.coroutines.* +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.launch import retrofit2.HttpException import javax.inject.Inject @@ -142,4 +150,4 @@ class Step1ViewModel @Inject constructor( _pendingBookSelection.value = null } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/songlib/presentation/screens/selection/step1/components/Step1Fab.kt b/app/src/main/java/com/songlib/presentation/selection/step1/components/Step1Fab.kt similarity index 92% rename from app/src/main/java/com/songlib/presentation/screens/selection/step1/components/Step1Fab.kt rename to app/src/main/java/com/songlib/presentation/selection/step1/components/Step1Fab.kt index 9f7d170..0b05896 100644 --- a/app/src/main/java/com/songlib/presentation/screens/selection/step1/components/Step1Fab.kt +++ b/app/src/main/java/com/songlib/presentation/selection/step1/components/Step1Fab.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.selection.step1.components +package com.songlib.presentation.selection.step1.components import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.* @@ -6,7 +6,7 @@ import androidx.compose.material3.* import androidx.compose.runtime.* import com.songlib.data.models.Book import com.songlib.presentation.components.general.* -import com.songlib.presentation.viewmodels.Step1ViewModel +import com.songlib.presentation.selection.step1.Step1ViewModel @Composable fun Step1Fab( diff --git a/app/src/main/java/com/songlib/presentation/screens/selection/step1/Step1Content.kt b/app/src/main/java/com/songlib/presentation/selection/step1/view/Step1Content.kt similarity index 96% rename from app/src/main/java/com/songlib/presentation/screens/selection/step1/Step1Content.kt rename to app/src/main/java/com/songlib/presentation/selection/step1/view/Step1Content.kt index aa36cf3..1017553 100644 --- a/app/src/main/java/com/songlib/presentation/screens/selection/step1/Step1Content.kt +++ b/app/src/main/java/com/songlib/presentation/selection/step1/view/Step1Content.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.selection.step1 +package com.songlib.presentation.selection.step1.view import androidx.compose.foundation.background import androidx.compose.foundation.layout.* diff --git a/app/src/main/java/com/songlib/presentation/screens/selection/step1/Step1Screen.kt b/app/src/main/java/com/songlib/presentation/selection/step1/view/Step1Screen.kt similarity index 97% rename from app/src/main/java/com/songlib/presentation/screens/selection/step1/Step1Screen.kt rename to app/src/main/java/com/songlib/presentation/selection/step1/view/Step1Screen.kt index 9d7d80d..bbe8a61 100644 --- a/app/src/main/java/com/songlib/presentation/screens/selection/step1/Step1Screen.kt +++ b/app/src/main/java/com/songlib/presentation/selection/step1/view/Step1Screen.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.selection.step1 +package com.songlib.presentation.selection.step1.view import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons @@ -18,7 +18,7 @@ import com.songlib.presentation.components.action.AppTopBar import com.songlib.presentation.components.indicators.* import com.songlib.presentation.navigation.Routes import com.songlib.presentation.screens.selection.step1.components.Step1Fab -import com.songlib.presentation.viewmodels.Step1ViewModel +import com.songlib.presentation.selection.step1.Step1ViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/com/songlib/presentation/viewmodels/Step2ViewModel.kt b/app/src/main/java/com/songlib/presentation/selection/step2/Step2ViewModel.kt similarity index 86% rename from app/src/main/java/com/songlib/presentation/viewmodels/Step2ViewModel.kt rename to app/src/main/java/com/songlib/presentation/selection/step2/Step2ViewModel.kt index 263203c..e428568 100644 --- a/app/src/main/java/com/songlib/presentation/viewmodels/Step2ViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/selection/step2/Step2ViewModel.kt @@ -1,13 +1,19 @@ -package com.songlib.presentation.viewmodels +package com.songlib.presentation.selection.step2 import android.util.Log -import androidx.lifecycle.* -import com.songlib.data.models.* -import com.songlib.domain.entity.* -import com.songlib.domain.repository.* +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope +import com.songlib.data.models.Song +import com.songlib.domain.entity.UiState +import com.songlib.domain.repository.PreferencesRepository +import com.songlib.domain.repository.SongBookRepository import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.flow.* -import kotlinx.coroutines.* +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.catch +import kotlinx.coroutines.launch import retrofit2.HttpException import javax.inject.Inject @@ -94,4 +100,4 @@ class Step2ViewModel @Inject constructor( } } } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/songlib/presentation/screens/selection/step2/Step2Screen.kt b/app/src/main/java/com/songlib/presentation/selection/step2/view/Step2Screen.kt similarity index 94% rename from app/src/main/java/com/songlib/presentation/screens/selection/step2/Step2Screen.kt rename to app/src/main/java/com/songlib/presentation/selection/step2/view/Step2Screen.kt index eede92f..4e07020 100644 --- a/app/src/main/java/com/songlib/presentation/screens/selection/step2/Step2Screen.kt +++ b/app/src/main/java/com/songlib/presentation/selection/step2/view/Step2Screen.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.selection.step2 +package com.songlib.presentation.selection.step2.view import androidx.compose.foundation.background import androidx.compose.foundation.layout.* @@ -10,7 +10,7 @@ import androidx.navigation.NavHostController import com.songlib.domain.entity.UiState import com.songlib.presentation.components.indicators.* import com.songlib.presentation.navigation.Routes -import com.songlib.presentation.viewmodels.Step2ViewModel +import com.songlib.presentation.selection.step2.Step2ViewModel @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/com/songlib/presentation/viewmodels/SettingsViewModel.kt b/app/src/main/java/com/songlib/presentation/settings/SettingsViewModel.kt similarity index 96% rename from app/src/main/java/com/songlib/presentation/viewmodels/SettingsViewModel.kt rename to app/src/main/java/com/songlib/presentation/settings/SettingsViewModel.kt index 4f57de0..d5c69f8 100644 --- a/app/src/main/java/com/songlib/presentation/viewmodels/SettingsViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/settings/SettingsViewModel.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.viewmodels +package com.songlib.presentation.settings import androidx.compose.runtime.* import androidx.lifecycle.ViewModel @@ -37,4 +37,4 @@ class SettingsViewModel @Inject constructor( prefsRepo.selectedBooks = "" } } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/songlib/presentation/screens/settings/components/SettingsDialogs.kt b/app/src/main/java/com/songlib/presentation/settings/components/SettingsDialogs.kt similarity index 95% rename from app/src/main/java/com/songlib/presentation/screens/settings/components/SettingsDialogs.kt rename to app/src/main/java/com/songlib/presentation/settings/components/SettingsDialogs.kt index 7d339a5..78fedd7 100644 --- a/app/src/main/java/com/songlib/presentation/screens/settings/components/SettingsDialogs.kt +++ b/app/src/main/java/com/songlib/presentation/settings/components/SettingsDialogs.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.settings.components +package com.songlib.presentation.settings.components import androidx.compose.foundation.background import androidx.compose.foundation.layout.fillMaxWidth diff --git a/app/src/main/java/com/songlib/presentation/screens/settings/SettingsScreen.kt b/app/src/main/java/com/songlib/presentation/settings/view/SettingsScreen.kt similarity index 97% rename from app/src/main/java/com/songlib/presentation/screens/settings/SettingsScreen.kt rename to app/src/main/java/com/songlib/presentation/settings/view/SettingsScreen.kt index 718fc69..2126a0f 100644 --- a/app/src/main/java/com/songlib/presentation/screens/settings/SettingsScreen.kt +++ b/app/src/main/java/com/songlib/presentation/settings/view/SettingsScreen.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.settings +package com.songlib.presentation.settings.view import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* @@ -14,7 +14,7 @@ import com.songlib.domain.repository.appThemeName import com.songlib.presentation.components.action.AppTopBar import com.songlib.presentation.navigation.Routes import com.songlib.presentation.screens.settings.components.* -import com.songlib.presentation.viewmodels.SettingsViewModel +import com.songlib.presentation.settings.SettingsViewModel @Composable fun SettingsScreen( diff --git a/app/src/main/java/com/songlib/presentation/viewmodels/SplashViewModel.kt b/app/src/main/java/com/songlib/presentation/splash/SplashViewModel.kt similarity index 81% rename from app/src/main/java/com/songlib/presentation/viewmodels/SplashViewModel.kt rename to app/src/main/java/com/songlib/presentation/splash/SplashViewModel.kt index 4063856..3bbe7e7 100644 --- a/app/src/main/java/com/songlib/presentation/viewmodels/SplashViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/splash/SplashViewModel.kt @@ -1,13 +1,17 @@ -package com.songlib.presentation.viewmodels +package com.songlib.presentation.splash import android.content.Context -import androidx.lifecycle.* +import androidx.lifecycle.ViewModel +import androidx.lifecycle.viewModelScope import com.songlib.core.helpers.NetworkUtils -import com.songlib.domain.repository.* +import com.songlib.domain.repository.PreferencesRepository +import com.songlib.domain.repository.SubscriptionsRepository import com.songlib.presentation.navigation.Routes import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.flow.* -import kotlinx.coroutines.* +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.launch import javax.inject.Inject @HiltViewModel @@ -55,4 +59,4 @@ class SplashViewModel @Inject constructor( else -> Routes.HOME } } -} +} \ No newline at end of file diff --git a/app/src/main/java/com/songlib/presentation/screens/splash/SplashComponents.kt b/app/src/main/java/com/songlib/presentation/splash/components/SplashComponents.kt similarity index 95% rename from app/src/main/java/com/songlib/presentation/screens/splash/SplashComponents.kt rename to app/src/main/java/com/songlib/presentation/splash/components/SplashComponents.kt index de5f2cd..a0f743c 100644 --- a/app/src/main/java/com/songlib/presentation/screens/splash/SplashComponents.kt +++ b/app/src/main/java/com/songlib/presentation/splash/components/SplashComponents.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.splash +package com.songlib.presentation.splash.components import androidx.compose.foundation.layout.* import androidx.compose.material.icons.Icons @@ -9,7 +9,6 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.unit.sp -import com.songlib.presentation.theme.* @Composable diff --git a/app/src/main/java/com/songlib/presentation/screens/splash/SplashScreen.kt b/app/src/main/java/com/songlib/presentation/splash/view/SplashScreen.kt similarity index 92% rename from app/src/main/java/com/songlib/presentation/screens/splash/SplashScreen.kt rename to app/src/main/java/com/songlib/presentation/splash/view/SplashScreen.kt index 58ca93b..bad0057 100644 --- a/app/src/main/java/com/songlib/presentation/screens/splash/SplashScreen.kt +++ b/app/src/main/java/com/songlib/presentation/splash/view/SplashScreen.kt @@ -1,4 +1,4 @@ -package com.songlib.presentation.screens.splash +package com.songlib.presentation.splash.view import androidx.compose.foundation.* import androidx.compose.foundation.layout.* @@ -15,7 +15,9 @@ import androidx.compose.ui.unit.* import androidx.navigation.NavHostController import com.songlib.R import com.songlib.presentation.navigation.Routes -import com.songlib.presentation.viewmodels.SplashViewModel +import com.songlib.presentation.splash.components.AppDevelopersRow +import com.songlib.presentation.splash.components.WithLoveFromRow +import com.songlib.presentation.splash.SplashViewModel @Composable fun SplashScreen( From 53b2dd2ffd640f2dee8635edcff2df28ebd526b5 Mon Sep 17 00:00:00 2001 From: Siro Devs Date: Fri, 5 Dec 2025 11:43:45 +0300 Subject: [PATCH 2/5] remodularised repos --- app/src/main/java/com/songlib/core/di/AppModule.kt | 12 ++++++------ .../ListingRepository.kt => repos/ListingRepo.kt} | 2 +- .../PreferencesRepository.kt => repos/PrefsRepo.kt} | 2 +- .../SongBookRepository.kt => repos/SongBookRepo.kt} | 2 +- .../SubscriptionsRepository.kt => repos/SubsRepo.kt} | 2 +- .../ThemeRepository.kt => repos/ThemeRepo.kt} | 2 +- .../TrackingRepository.kt => repos/TrackingRepo.kt} | 2 +- .../com/songlib/presentation/home/HomeViewModel.kt | 12 ++++++------ .../presentation/home/components/HomeAppBar.kt | 4 ++-- .../songlib/presentation/listing/ListingViewModel.kt | 8 ++++---- .../presentation/presenter/PresenterViewModel.kt | 8 ++++---- .../presentation/selection/step1/Step1ViewModel.kt | 12 ++++++------ .../presentation/selection/step2/Step2ViewModel.kt | 8 ++++---- .../presentation/settings/SettingsViewModel.kt | 6 +++--- .../songlib/presentation/splash/SplashViewModel.kt | 11 ++++------- 15 files changed, 45 insertions(+), 48 deletions(-) rename app/src/main/java/com/songlib/domain/{repository/ListingRepository.kt => repos/ListingRepo.kt} (97%) rename app/src/main/java/com/songlib/domain/{repository/PreferencesRepository.kt => repos/PrefsRepo.kt} (98%) rename app/src/main/java/com/songlib/domain/{repository/SongBookRepository.kt => repos/SongBookRepo.kt} (98%) rename app/src/main/java/com/songlib/domain/{repository/SubscriptionsRepository.kt => repos/SubsRepo.kt} (93%) rename app/src/main/java/com/songlib/domain/{repository/ThemeRepository.kt => repos/ThemeRepo.kt} (98%) rename app/src/main/java/com/songlib/domain/{repository/TrackingRepository.kt => repos/TrackingRepo.kt} (97%) diff --git a/app/src/main/java/com/songlib/core/di/AppModule.kt b/app/src/main/java/com/songlib/core/di/AppModule.kt index d680fe1..2ebbace 100644 --- a/app/src/main/java/com/songlib/core/di/AppModule.kt +++ b/app/src/main/java/com/songlib/core/di/AppModule.kt @@ -16,35 +16,35 @@ class AppModule { @Singleton fun provideListingRepository( @ApplicationContext context: Context, - ): ListingRepository = ListingRepository(context) + ): ListingRepo = ListingRepo(context) @Provides @Singleton fun providePreferencesRepository( @ApplicationContext context: Context, - ): PreferencesRepository = PreferencesRepository(context) + ): PrefsRepo = PrefsRepo(context) @Provides @Singleton fun provideSongBookRepository( @ApplicationContext context: Context, apiService: ApiService, - ): SongBookRepository = SongBookRepository(context, apiService) + ): SongBookRepo = SongBookRepo(context, apiService) @Provides @Singleton fun provideSubscriptionRepository( - ): SubscriptionsRepository = SubscriptionsRepository() + ): SubsRepo = SubsRepo() @Provides @Singleton fun provideThemeRepository( - prefsRepo: PreferencesRepository, + prefsRepo: PrefsRepo, ): ThemeRepository = ThemeRepository(prefsRepo) @Provides @Singleton fun provideTrackingRepository( @ApplicationContext context: Context, - ): TrackingRepository = TrackingRepository(context) + ): TrackingRepo = TrackingRepo(context) } \ No newline at end of file diff --git a/app/src/main/java/com/songlib/domain/repository/ListingRepository.kt b/app/src/main/java/com/songlib/domain/repos/ListingRepo.kt similarity index 97% rename from app/src/main/java/com/songlib/domain/repository/ListingRepository.kt rename to app/src/main/java/com/songlib/domain/repos/ListingRepo.kt index bd278f9..b0bc184 100644 --- a/app/src/main/java/com/songlib/domain/repository/ListingRepository.kt +++ b/app/src/main/java/com/songlib/domain/repos/ListingRepo.kt @@ -9,7 +9,7 @@ import kotlinx.coroutines.* import javax.inject.* @Singleton -class ListingRepository @Inject constructor(context: Context) { +class ListingRepo @Inject constructor(context: Context) { private var listingDao: ListingDao? init { diff --git a/app/src/main/java/com/songlib/domain/repository/PreferencesRepository.kt b/app/src/main/java/com/songlib/domain/repos/PrefsRepo.kt similarity index 98% rename from app/src/main/java/com/songlib/domain/repository/PreferencesRepository.kt rename to app/src/main/java/com/songlib/domain/repos/PrefsRepo.kt index 71c8b44..005fb66 100644 --- a/app/src/main/java/com/songlib/domain/repository/PreferencesRepository.kt +++ b/app/src/main/java/com/songlib/domain/repos/PrefsRepo.kt @@ -7,7 +7,7 @@ import dagger.hilt.android.qualifiers.ApplicationContext import javax.inject.* @Singleton -class PreferencesRepository @Inject constructor( +class PrefsRepo @Inject constructor( @ApplicationContext context: Context ) { private val prefs = diff --git a/app/src/main/java/com/songlib/domain/repository/SongBookRepository.kt b/app/src/main/java/com/songlib/domain/repos/SongBookRepo.kt similarity index 98% rename from app/src/main/java/com/songlib/domain/repository/SongBookRepository.kt rename to app/src/main/java/com/songlib/domain/repos/SongBookRepo.kt index 7ec17aa..42d1e7a 100644 --- a/app/src/main/java/com/songlib/domain/repository/SongBookRepository.kt +++ b/app/src/main/java/com/songlib/domain/repos/SongBookRepo.kt @@ -10,7 +10,7 @@ import kotlinx.coroutines.flow.* import javax.inject.* @Singleton -class SongBookRepository @Inject constructor( +class SongBookRepo @Inject constructor( context: Context, private val apiService: ApiService, ) { diff --git a/app/src/main/java/com/songlib/domain/repository/SubscriptionsRepository.kt b/app/src/main/java/com/songlib/domain/repos/SubsRepo.kt similarity index 93% rename from app/src/main/java/com/songlib/domain/repository/SubscriptionsRepository.kt rename to app/src/main/java/com/songlib/domain/repos/SubsRepo.kt index e39ff06..ed4d31b 100644 --- a/app/src/main/java/com/songlib/domain/repository/SubscriptionsRepository.kt +++ b/app/src/main/java/com/songlib/domain/repos/SubsRepo.kt @@ -6,7 +6,7 @@ import com.songlib.core.utils.AppConstants import javax.inject.* @Singleton -class SubscriptionsRepository @Inject constructor() { +class SubsRepo @Inject constructor() { suspend fun isProUser(isOnline: Boolean, completion: (Boolean) -> Unit) { val fetchPolicy = if (isOnline) { CacheFetchPolicy.FETCH_CURRENT diff --git a/app/src/main/java/com/songlib/domain/repository/ThemeRepository.kt b/app/src/main/java/com/songlib/domain/repos/ThemeRepo.kt similarity index 98% rename from app/src/main/java/com/songlib/domain/repository/ThemeRepository.kt rename to app/src/main/java/com/songlib/domain/repos/ThemeRepo.kt index d266d63..ff6ee52 100644 --- a/app/src/main/java/com/songlib/domain/repository/ThemeRepository.kt +++ b/app/src/main/java/com/songlib/domain/repos/ThemeRepo.kt @@ -14,7 +14,7 @@ enum class ThemeMode { SYSTEM, LIGHT, DARK } @HiltViewModel class ThemeRepository @Inject constructor( - private val prefs: PreferencesRepository + private val prefs: PrefsRepo ) : ViewModel() { var selectedTheme by mutableStateOf(prefs.appThemeMode) private set diff --git a/app/src/main/java/com/songlib/domain/repository/TrackingRepository.kt b/app/src/main/java/com/songlib/domain/repos/TrackingRepo.kt similarity index 97% rename from app/src/main/java/com/songlib/domain/repository/TrackingRepository.kt rename to app/src/main/java/com/songlib/domain/repos/TrackingRepo.kt index 4005f50..42b7838 100644 --- a/app/src/main/java/com/songlib/domain/repository/TrackingRepository.kt +++ b/app/src/main/java/com/songlib/domain/repos/TrackingRepo.kt @@ -8,7 +8,7 @@ import kotlinx.coroutines.* import javax.inject.* @Singleton -class TrackingRepository @Inject constructor( +class TrackingRepo @Inject constructor( context: Context, ) { private var historyDao: HistoryDao? diff --git a/app/src/main/java/com/songlib/presentation/home/HomeViewModel.kt b/app/src/main/java/com/songlib/presentation/home/HomeViewModel.kt index 417c453..664df5a 100644 --- a/app/src/main/java/com/songlib/presentation/home/HomeViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/home/HomeViewModel.kt @@ -8,9 +8,9 @@ import com.songlib.data.models.Book import com.songlib.data.models.ListingUi import com.songlib.data.models.Song import com.songlib.domain.entity.UiState -import com.songlib.domain.repository.ListingRepository -import com.songlib.domain.repository.PreferencesRepository -import com.songlib.domain.repository.SongBookRepository +import com.songlib.domain.repository.ListingRepo +import com.songlib.domain.repository.PrefsRepo +import com.songlib.domain.repository.SongBookRepo import com.songlib.presentation.home.components.HomeNavItem import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers @@ -23,9 +23,9 @@ import javax.inject.Inject @HiltViewModel class HomeViewModel @Inject constructor( - private val prefsRepo: PreferencesRepository, - private val songbkRepo: SongBookRepository, - private val listRepo: ListingRepository, + private val prefsRepo: PrefsRepo, + private val songbkRepo: SongBookRepo, + private val listRepo: ListingRepo, ) : ViewModel() { private val _uiState: MutableStateFlow = MutableStateFlow(UiState.Loading) val uiState: StateFlow = _uiState.asStateFlow() diff --git a/app/src/main/java/com/songlib/presentation/home/components/HomeAppBar.kt b/app/src/main/java/com/songlib/presentation/home/components/HomeAppBar.kt index ab9a0e8..cdedd49 100644 --- a/app/src/main/java/com/songlib/presentation/home/components/HomeAppBar.kt +++ b/app/src/main/java/com/songlib/presentation/home/components/HomeAppBar.kt @@ -6,7 +6,7 @@ import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.ui.platform.LocalContext import com.songlib.data.models.Song -import com.songlib.domain.repository.PreferencesRepository +import com.songlib.domain.repository.PrefsRepo import com.songlib.presentation.components.action.AppTopBar import com.songlib.presentation.components.general.QuickFormDialog import com.songlib.presentation.home.HomeViewModel @@ -22,7 +22,7 @@ fun HomeSearchAppBar( onClearSelection: () -> Unit, ) { val context = LocalContext.current - val prefs = remember { PreferencesRepository(context) } + val prefs = remember { PrefsRepo(context) } var showAddDialog by remember { mutableStateOf(false) } var showListingSheet by remember { mutableStateOf(false) } val isProUser by viewModel.isProUser.collectAsState() diff --git a/app/src/main/java/com/songlib/presentation/listing/ListingViewModel.kt b/app/src/main/java/com/songlib/presentation/listing/ListingViewModel.kt index 03ebcec..5bff34a 100644 --- a/app/src/main/java/com/songlib/presentation/listing/ListingViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/listing/ListingViewModel.kt @@ -6,8 +6,8 @@ import androidx.lifecycle.viewModelScope import com.songlib.data.models.ListingUi import com.songlib.data.models.Song import com.songlib.domain.entity.UiState -import com.songlib.domain.repository.ListingRepository -import com.songlib.domain.repository.SongBookRepository +import com.songlib.domain.repository.ListingRepo +import com.songlib.domain.repository.SongBookRepo import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow @@ -18,8 +18,8 @@ import javax.inject.Inject @HiltViewModel class ListingViewModel @Inject constructor( - private val songbkRepo: SongBookRepository, - private val listRepo: ListingRepository, + private val songbkRepo: SongBookRepo, + private val listRepo: ListingRepo, ) : ViewModel() { private val _uiState: MutableStateFlow = MutableStateFlow(UiState.Loading) val uiState: StateFlow = _uiState.asStateFlow() diff --git a/app/src/main/java/com/songlib/presentation/presenter/PresenterViewModel.kt b/app/src/main/java/com/songlib/presentation/presenter/PresenterViewModel.kt index b90a831..0de2f65 100644 --- a/app/src/main/java/com/songlib/presentation/presenter/PresenterViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/presenter/PresenterViewModel.kt @@ -6,8 +6,8 @@ import com.songlib.core.utils.getSongVerses import com.songlib.core.utils.songItemTitle import com.songlib.data.models.Song import com.songlib.domain.entity.UiState -import com.songlib.domain.repository.PreferencesRepository -import com.songlib.domain.repository.SongBookRepository +import com.songlib.domain.repository.PrefsRepo +import com.songlib.domain.repository.SongBookRepo import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow @@ -17,8 +17,8 @@ import javax.inject.Inject @HiltViewModel class PresenterViewModel @Inject constructor( - private val songbkRepo: SongBookRepository, - private val prefsRepo: PreferencesRepository, + private val songbkRepo: SongBookRepo, + private val prefsRepo: PrefsRepo, ) : ViewModel() { private val _uiState: MutableStateFlow = MutableStateFlow(UiState.Loading) val uiState: StateFlow = _uiState.asStateFlow() diff --git a/app/src/main/java/com/songlib/presentation/selection/step1/Step1ViewModel.kt b/app/src/main/java/com/songlib/presentation/selection/step1/Step1ViewModel.kt index 216ad61..9badc9d 100644 --- a/app/src/main/java/com/songlib/presentation/selection/step1/Step1ViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/selection/step1/Step1ViewModel.kt @@ -6,9 +6,9 @@ import androidx.lifecycle.viewModelScope import com.songlib.data.models.Book import com.songlib.domain.entity.Selectable import com.songlib.domain.entity.UiState -import com.songlib.domain.repository.PreferencesRepository -import com.songlib.domain.repository.SongBookRepository -import com.songlib.domain.repository.SubscriptionsRepository +import com.songlib.domain.repository.PrefsRepo +import com.songlib.domain.repository.SongBookRepo +import com.songlib.domain.repository.SubsRepo import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow @@ -21,9 +21,9 @@ import javax.inject.Inject @HiltViewModel class Step1ViewModel @Inject constructor( - private val prefsRepo: PreferencesRepository, - private val subsRepo: SubscriptionsRepository, - private val songbkRepo: SongBookRepository, + private val prefsRepo: PrefsRepo, + private val subsRepo: SubsRepo, + private val songbkRepo: SongBookRepo, ) : ViewModel() { private val _uiState = MutableStateFlow(UiState.Loading) val uiState: StateFlow = _uiState.asStateFlow() diff --git a/app/src/main/java/com/songlib/presentation/selection/step2/Step2ViewModel.kt b/app/src/main/java/com/songlib/presentation/selection/step2/Step2ViewModel.kt index e428568..e4d88f2 100644 --- a/app/src/main/java/com/songlib/presentation/selection/step2/Step2ViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/selection/step2/Step2ViewModel.kt @@ -5,8 +5,8 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.songlib.data.models.Song import com.songlib.domain.entity.UiState -import com.songlib.domain.repository.PreferencesRepository -import com.songlib.domain.repository.SongBookRepository +import com.songlib.domain.repository.PrefsRepo +import com.songlib.domain.repository.SongBookRepo import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow @@ -19,8 +19,8 @@ import javax.inject.Inject @HiltViewModel class Step2ViewModel @Inject constructor( - private val prefsRepo: PreferencesRepository, - private val songbkRepo: SongBookRepository, + private val prefsRepo: PrefsRepo, + private val songbkRepo: SongBookRepo, ) : ViewModel() { private val _uiState: MutableStateFlow = MutableStateFlow(UiState.Loading) val uiState: StateFlow = _uiState.asStateFlow() diff --git a/app/src/main/java/com/songlib/presentation/settings/SettingsViewModel.kt b/app/src/main/java/com/songlib/presentation/settings/SettingsViewModel.kt index d5c69f8..ce2c6ef 100644 --- a/app/src/main/java/com/songlib/presentation/settings/SettingsViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/settings/SettingsViewModel.kt @@ -10,9 +10,9 @@ import javax.inject.Inject @HiltViewModel class SettingsViewModel @Inject constructor( - private val prefsRepo: PreferencesRepository, - private val songbkRepo: SongBookRepository, - private val listRepo: ListingRepository, + private val prefsRepo: PrefsRepo, + private val songbkRepo: SongBookRepo, + private val listRepo: ListingRepo, ) : ViewModel() { var horizontalSlides by mutableStateOf(prefsRepo.horizontalSlides) diff --git a/app/src/main/java/com/songlib/presentation/splash/SplashViewModel.kt b/app/src/main/java/com/songlib/presentation/splash/SplashViewModel.kt index 3bbe7e7..3e7c888 100644 --- a/app/src/main/java/com/songlib/presentation/splash/SplashViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/splash/SplashViewModel.kt @@ -4,8 +4,8 @@ import android.content.Context import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.songlib.core.helpers.NetworkUtils -import com.songlib.domain.repository.PreferencesRepository -import com.songlib.domain.repository.SubscriptionsRepository +import com.songlib.domain.repository.PrefsRepo +import com.songlib.domain.repository.SubsRepo import com.songlib.presentation.navigation.Routes import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableStateFlow @@ -16,12 +16,9 @@ import javax.inject.Inject @HiltViewModel class SplashViewModel @Inject constructor( - private val prefsRepo: PreferencesRepository, - private val subsRepo: SubscriptionsRepository, + private val prefsRepo: PrefsRepo, + private val subsRepo: SubsRepo, ) : ViewModel() { - private val _nextRoute = MutableStateFlow(Routes.SPLASH) - val nextRoute: StateFlow = _nextRoute.asStateFlow() - private val _isLoading = MutableStateFlow(true) val isLoading: StateFlow = _isLoading.asStateFlow() From 38cc361df3c7059f76021dfd22721cda927f4cd7 Mon Sep 17 00:00:00 2001 From: Siro Devs Date: Fri, 5 Dec 2025 11:43:45 +0300 Subject: [PATCH 3/5] remodularised repos --- .../presentation/navigation/AppNavHost.kt | 13 ++++++------ .../presentation/splash/view/SplashScreen.kt | 21 +++++++++++++------ 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/songlib/presentation/navigation/AppNavHost.kt b/app/src/main/java/com/songlib/presentation/navigation/AppNavHost.kt index 33bf2e9..e0d9161 100644 --- a/app/src/main/java/com/songlib/presentation/navigation/AppNavHost.kt +++ b/app/src/main/java/com/songlib/presentation/navigation/AppNavHost.kt @@ -11,18 +11,17 @@ import com.songlib.domain.repository.ThemeRepository import com.songlib.presentation.home.HomeViewModel import com.songlib.presentation.home.view.HomeScreen import com.songlib.presentation.listing.ListingViewModel +import com.songlib.presentation.listing.view.ListingScreen import com.songlib.presentation.presenter.PresenterViewModel -import com.songlib.presentation.screens.settings.SettingsScreen -import com.songlib.presentation.screens.presenter.PresenterScreen -import com.songlib.presentation.screens.selection.step1.Step1Screen -import com.songlib.presentation.screens.selection.step2.Step2Screen -import com.songlib.presentation.screens.listing.ListingScreen -import com.songlib.presentation.screens.splash.SplashScreen +import com.songlib.presentation.presenter.view.PresenterScreen import com.songlib.presentation.selection.step1.Step1ViewModel +import com.songlib.presentation.selection.step1.view.Step1Screen import com.songlib.presentation.selection.step2.Step2ViewModel +import com.songlib.presentation.selection.step2.view.Step2Screen import com.songlib.presentation.settings.SettingsViewModel +import com.songlib.presentation.settings.view.SettingsScreen import com.songlib.presentation.splash.SplashViewModel -import com.songlib.presentation.viewmodels.* +import com.songlib.presentation.splash.view.SplashScreen @OptIn(ExperimentalComposeUiApi::class, ExperimentalFoundationApi::class) @Composable diff --git a/app/src/main/java/com/songlib/presentation/splash/view/SplashScreen.kt b/app/src/main/java/com/songlib/presentation/splash/view/SplashScreen.kt index bad0057..01acefc 100644 --- a/app/src/main/java/com/songlib/presentation/splash/view/SplashScreen.kt +++ b/app/src/main/java/com/songlib/presentation/splash/view/SplashScreen.kt @@ -3,7 +3,6 @@ package com.songlib.presentation.splash.view import androidx.compose.foundation.* import androidx.compose.foundation.layout.* import androidx.compose.material3.* -import androidx.compose.material3.HorizontalDivider import androidx.compose.runtime.* import androidx.compose.ui.* import androidx.compose.ui.platform.LocalContext @@ -14,10 +13,11 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.* import androidx.navigation.NavHostController import com.songlib.R +import com.songlib.domain.repository.PrefsRepo import com.songlib.presentation.navigation.Routes -import com.songlib.presentation.splash.components.AppDevelopersRow -import com.songlib.presentation.splash.components.WithLoveFromRow +import com.songlib.presentation.splash.components.* import com.songlib.presentation.splash.SplashViewModel +import kotlinx.coroutines.delay @Composable fun SplashScreen( @@ -25,15 +25,24 @@ fun SplashScreen( viewModel: SplashViewModel, ) { val context = LocalContext.current - val nextRoute by viewModel.nextRoute.collectAsState() + val prefs = remember { PrefsRepo(context) } val isLoading by viewModel.isLoading.collectAsState() LaunchedEffect(Unit) { viewModel.initializeApp(context) } - LaunchedEffect(isLoading, nextRoute) { - if (!isLoading && nextRoute != Routes.SPLASH) { + LaunchedEffect(Unit) { + delay(3000) + + val nextRoute = when { + prefs.selectAfresh -> Routes.STEP_1 + prefs.isDataLoaded -> Routes.HOME + prefs.isDataSelected -> Routes.STEP_2 + else -> Routes.STEP_1 + } + + if (!isLoading) { navController.navigate(nextRoute) { popUpTo(Routes.SPLASH) { inclusive = true } } From c919e85bffd09985a2115095077c764001e66a42 Mon Sep 17 00:00:00 2001 From: Siro Devs Date: Sat, 6 Dec 2025 13:33:45 +0300 Subject: [PATCH 4/5] splashview model fixes --- .../presentation/splash/SplashViewModel.kt | 24 ++++--------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/songlib/presentation/splash/SplashViewModel.kt b/app/src/main/java/com/songlib/presentation/splash/SplashViewModel.kt index 3e7c888..7e1cd2c 100644 --- a/app/src/main/java/com/songlib/presentation/splash/SplashViewModel.kt +++ b/app/src/main/java/com/songlib/presentation/splash/SplashViewModel.kt @@ -1,16 +1,11 @@ package com.songlib.presentation.splash import android.content.Context -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope +import androidx.lifecycle.* import com.songlib.core.helpers.NetworkUtils -import com.songlib.domain.repository.PrefsRepo -import com.songlib.domain.repository.SubsRepo -import com.songlib.presentation.navigation.Routes +import com.songlib.domain.repository.* import dagger.hilt.android.lifecycle.HiltViewModel -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.StateFlow -import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch import javax.inject.Inject @@ -30,9 +25,9 @@ class SplashViewModel @Inject constructor( } else { checkSubscriptionAndTime(false) } - determineNextRoute() + _isLoading.value = false } catch (e: Exception) { - determineNextRoute() + _isLoading.value = false } finally { _isLoading.value = false } @@ -47,13 +42,4 @@ class SplashViewModel @Inject constructor( } prefsRepo.updateAppOpenTime() } - - private fun determineNextRoute() { - _nextRoute.value = when { - prefsRepo.selectAfresh -> Routes.STEP_1 - prefsRepo.isDataSelected && prefsRepo.isDataLoaded -> Routes.HOME - prefsRepo.isDataSelected && !prefsRepo.isDataLoaded -> Routes.STEP_2 - else -> Routes.HOME - } - } } \ No newline at end of file From e55258e776cefe3f894c6735731890aaf5abf234 Mon Sep 17 00:00:00 2001 From: Siro Devs Date: Sun, 7 Dec 2025 13:33:45 +0300 Subject: [PATCH 5/5] missing refs --- .kotlin/sessions/kotlin-compiler-4532920975854660223.salive | 0 .../songlib/presentation/presenter/view/PresenterScreen.kt | 2 +- .../songlib/presentation/selection/step1/view/Step1Screen.kt | 2 +- .../com/songlib/presentation/settings/view/SettingsScreen.kt | 3 ++- gradle/config/config.properties | 4 ++-- 5 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 .kotlin/sessions/kotlin-compiler-4532920975854660223.salive diff --git a/.kotlin/sessions/kotlin-compiler-4532920975854660223.salive b/.kotlin/sessions/kotlin-compiler-4532920975854660223.salive new file mode 100644 index 0000000..e69de29 diff --git a/app/src/main/java/com/songlib/presentation/presenter/view/PresenterScreen.kt b/app/src/main/java/com/songlib/presentation/presenter/view/PresenterScreen.kt index 8ea4540..c159c37 100644 --- a/app/src/main/java/com/songlib/presentation/presenter/view/PresenterScreen.kt +++ b/app/src/main/java/com/songlib/presentation/presenter/view/PresenterScreen.kt @@ -17,8 +17,8 @@ import com.songlib.data.sample.* import com.songlib.domain.entity.UiState import com.songlib.presentation.components.action.AppTopBar import com.songlib.presentation.components.indicators.* -import com.songlib.presentation.screens.presenter.components.* import com.songlib.presentation.presenter.PresenterViewModel +import com.songlib.presentation.presenter.components.* @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/com/songlib/presentation/selection/step1/view/Step1Screen.kt b/app/src/main/java/com/songlib/presentation/selection/step1/view/Step1Screen.kt index bbe8a61..62bd4b0 100644 --- a/app/src/main/java/com/songlib/presentation/selection/step1/view/Step1Screen.kt +++ b/app/src/main/java/com/songlib/presentation/selection/step1/view/Step1Screen.kt @@ -17,8 +17,8 @@ import com.songlib.domain.repository.* import com.songlib.presentation.components.action.AppTopBar import com.songlib.presentation.components.indicators.* import com.songlib.presentation.navigation.Routes -import com.songlib.presentation.screens.selection.step1.components.Step1Fab import com.songlib.presentation.selection.step1.Step1ViewModel +import com.songlib.presentation.selection.step1.components.Step1Fab @OptIn(ExperimentalMaterial3Api::class) @Composable diff --git a/app/src/main/java/com/songlib/presentation/settings/view/SettingsScreen.kt b/app/src/main/java/com/songlib/presentation/settings/view/SettingsScreen.kt index 2126a0f..cdacf8d 100644 --- a/app/src/main/java/com/songlib/presentation/settings/view/SettingsScreen.kt +++ b/app/src/main/java/com/songlib/presentation/settings/view/SettingsScreen.kt @@ -13,8 +13,9 @@ import com.songlib.domain.repository.* import com.songlib.domain.repository.appThemeName import com.songlib.presentation.components.action.AppTopBar import com.songlib.presentation.navigation.Routes -import com.songlib.presentation.screens.settings.components.* import com.songlib.presentation.settings.SettingsViewModel +import com.songlib.presentation.settings.components.ConfirmResetDialog +import com.songlib.presentation.settings.components.SettingsSectionTitle @Composable fun SettingsScreen( diff --git a/gradle/config/config.properties b/gradle/config/config.properties index 28cc3de..7073460 100644 --- a/gradle/config/config.properties +++ b/gradle/config/config.properties @@ -1,5 +1,5 @@ applicationId=com.songlib -versionName=1.0.820 -versionCode=820 +versionName=1.0.821 +versionCode=821 targetSdk=35 minSdk=24 \ No newline at end of file