Skip to content

Commit dedd811

Browse files
authored
Merge pull request #102 from swingmx/migrate-to-version-catalogs
Deprecate `FoldersAndTracks` in favor of Paginated Version
2 parents d64f9e8 + 5c310ed commit dedd811

File tree

11 files changed

+45
-661
lines changed

11 files changed

+45
-661
lines changed

app/src/main/java/com/android/swingmusic/presentation/activity/MainActivity.kt

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import android.content.ComponentName
55
import android.os.Bundle
66
import androidx.activity.ComponentActivity
77
import androidx.activity.compose.setContent
8-
import androidx.activity.enableEdgeToEdge
98
import androidx.activity.viewModels
109
import androidx.compose.animation.AnimatedVisibility
1110
import androidx.compose.animation.ExperimentalAnimationApi
@@ -52,7 +51,7 @@ import com.android.swingmusic.auth.presentation.screen.destinations.LoginWithQrC
5251
import com.android.swingmusic.auth.presentation.screen.destinations.LoginWithUsernameScreenDestination
5352
import com.android.swingmusic.auth.presentation.viewmodel.AuthViewModel
5453
import com.android.swingmusic.folder.presentation.event.FolderUiEvent
55-
import com.android.swingmusic.folder.presentation.screen.destinations.FoldersAndTracksPaginatedScreenDestination
54+
import com.android.swingmusic.folder.presentation.screen.destinations.FoldersAndTracksScreenDestination
5655
import com.android.swingmusic.folder.presentation.viewmodel.FoldersViewModel
5756
import com.android.swingmusic.player.presentation.screen.MiniPlayer
5857
import com.android.swingmusic.player.presentation.screen.destinations.NowPlayingScreenDestination
@@ -113,7 +112,6 @@ class MainActivity : ComponentActivity() {
113112
@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter")
114113
@OptIn(ExperimentalAnimationApi::class)
115114
override fun onCreate(savedInstanceState: Bundle?) {
116-
enableEdgeToEdge()
117115
super.onCreate(savedInstanceState)
118116

119117
if (BuildConfig.DEBUG && Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
@@ -153,7 +151,7 @@ class MainActivity : ComponentActivity() {
153151
// Map of BottomNavItem to their route prefixes
154152
val bottomNavRoutePrefixes = mapOf(
155153
// BottomNavItem.Home to listOf(HomeDestination.route),
156-
BottomNavItem.Folder to listOf(FoldersAndTracksPaginatedScreenDestination.route),
154+
BottomNavItem.Folder to listOf(FoldersAndTracksScreenDestination.route),
157155
BottomNavItem.Album to listOf(
158156
AllAlbumScreenDestination.route,
159157
AlbumWithInfoScreenDestination.route
@@ -241,7 +239,7 @@ class MainActivity : ComponentActivity() {
241239
}
242240

243241
// refresh folders starting from $home
244-
if (item.destination.route == FoldersAndTracksPaginatedScreenDestination.route) {
242+
if (item.destination.route == FoldersAndTracksScreenDestination.route) {
245243
foldersViewModel.onFolderUiEvent(
246244
FolderUiEvent.OnClickNavPath(
247245
folder = foldersViewModel.homeDir

app/src/main/java/com/android/swingmusic/presentation/navigator/BottomNavItem.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,20 @@ package com.android.swingmusic.presentation.navigator
33
import androidx.annotation.DrawableRes
44
import com.android.swingmusic.album.presentation.screen.destinations.AllAlbumScreenDestination
55
import com.android.swingmusic.artist.presentation.screen.destinations.AllArtistsScreenDestination
6-
import com.android.swingmusic.folder.presentation.screen.destinations.FoldersAndTracksPaginatedScreenDestination
6+
import com.android.swingmusic.folder.presentation.screen.destinations.FoldersAndTracksScreenDestination
77
import com.android.swingmusic.search.presentation.screen.destinations.SearchScreenDestination
88
import com.ramcosta.composedestinations.spec.DestinationSpec
99
import com.android.swingmusic.uicomponent.R as UiComponent
1010

1111
sealed class BottomNavItem(
1212
var title: String,
13-
@DrawableRes var icon: Int,
13+
@param:DrawableRes var icon: Int,
1414
var destination: DestinationSpec<*>
1515
) {
1616
data object Folder : BottomNavItem(
1717
title = "Folders",
1818
icon = UiComponent.drawable.folder_filled,
19-
destination = FoldersAndTracksPaginatedScreenDestination
19+
destination = FoldersAndTracksScreenDestination
2020
)
2121

2222
data object Album : BottomNavItem(

app/src/main/java/com/android/swingmusic/presentation/navigator/CoreNavigator.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import com.android.swingmusic.artist.presentation.screen.destinations.ViewAllScr
77
import com.android.swingmusic.auth.presentation.screen.destinations.LoginWithQrCodeDestination
88
import com.android.swingmusic.auth.presentation.screen.destinations.LoginWithUsernameScreenDestination
99
import com.android.swingmusic.common.presentation.navigator.CommonNavigator
10-
import com.android.swingmusic.folder.presentation.screen.destinations.FoldersAndTracksPaginatedScreenDestination
10+
import com.android.swingmusic.folder.presentation.screen.destinations.FoldersAndTracksScreenDestination
1111
import com.android.swingmusic.home.presentation.destinations.HomeDestination
1212
import com.android.swingmusic.player.presentation.screen.destinations.QueueScreenDestination
1313
import com.android.swingmusic.search.presentation.screen.destinations.ViewAllSearchResultsDestination
@@ -62,7 +62,7 @@ class CoreNavigator(
6262

6363
// Todo: Remove this after adding home content
6464
override fun gotoFolders() {
65-
val targetDestination = FoldersAndTracksPaginatedScreenDestination()
65+
val targetDestination = FoldersAndTracksScreenDestination()
6666

6767
navController.navigate(targetDestination) {
6868
launchSingleTop = true
@@ -140,7 +140,7 @@ class CoreNavigator(
140140
}
141141

142142
override fun gotoSourceFolder(name: String, path: String) {
143-
val targetDestination = FoldersAndTracksPaginatedScreenDestination(name, path)
143+
val targetDestination = FoldersAndTracksScreenDestination(name, path)
144144
navController.navigate(targetDestination) {
145145
launchSingleTop = true
146146
}

app/src/main/java/com/android/swingmusic/presentation/navigator/NavGraphs.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import com.android.swingmusic.artist.presentation.screen.destinations.ArtistInfo
77
import com.android.swingmusic.artist.presentation.screen.destinations.ViewAllScreenOnArtistDestination
88
import com.android.swingmusic.auth.presentation.screen.destinations.LoginWithQrCodeDestination
99
import com.android.swingmusic.auth.presentation.screen.destinations.LoginWithUsernameScreenDestination
10-
import com.android.swingmusic.folder.presentation.screen.destinations.FoldersAndTracksPaginatedScreenDestination
10+
import com.android.swingmusic.folder.presentation.screen.destinations.FoldersAndTracksScreenDestination
1111
import com.android.swingmusic.home.presentation.destinations.HomeDestination
1212
import com.android.swingmusic.player.presentation.screen.destinations.NowPlayingScreenDestination
1313
import com.android.swingmusic.player.presentation.screen.destinations.QueueScreenDestination
@@ -23,7 +23,7 @@ object NavGraphs {
2323

2424
// TODO: Use Home instead of Folder as the startRoute
2525
override val startRoute: Route =
26-
if (isUserLoggedIn) FoldersAndTracksPaginatedScreenDestination else LoginWithQrCodeDestination
26+
if (isUserLoggedIn) FoldersAndTracksScreenDestination else LoginWithQrCodeDestination
2727

2828
override val destinationsByRoute: Map<String, DestinationSpec<*>>
2929
get() {
@@ -35,7 +35,7 @@ object NavGraphs {
3535
val pastAuthDestSpec = listOf(
3636
// shown on bottom nav
3737
HomeDestination,
38-
FoldersAndTracksPaginatedScreenDestination,
38+
FoldersAndTracksScreenDestination,
3939
AllAlbumScreenDestination,
4040
AllArtistsScreenDestination,
4141
SearchScreenDestination,

feature/folder/src/main/java/com/android/swingmusic/folder/presentation/screen/FoldersAndTracksPaginated.kt renamed to feature/folder/src/main/java/com/android/swingmusic/folder/presentation/screen/FoldersAndTracks.kt

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import androidx.compose.foundation.layout.height
1414
import androidx.compose.foundation.layout.padding
1515
import androidx.compose.foundation.lazy.LazyColumn
1616
import androidx.compose.foundation.lazy.LazyRow
17-
import androidx.compose.foundation.lazy.items
1817
import androidx.compose.foundation.lazy.itemsIndexed
1918
import androidx.compose.foundation.lazy.rememberLazyListState
2019
import androidx.compose.material.icons.Icons
@@ -34,7 +33,6 @@ import androidx.compose.material3.pulltorefresh.rememberPullToRefreshState
3433
import androidx.compose.material3.rememberModalBottomSheetState
3534
import androidx.compose.runtime.Composable
3635
import androidx.compose.runtime.LaunchedEffect
37-
import androidx.compose.runtime.SideEffect
3836
import androidx.compose.runtime.collectAsState
3937
import androidx.compose.runtime.getValue
4038
import androidx.compose.runtime.mutableStateOf
@@ -52,19 +50,16 @@ import androidx.paging.compose.collectAsLazyPagingItems
5250
import com.android.swingmusic.album.presentation.event.AlbumWithInfoUiEvent
5351
import com.android.swingmusic.album.presentation.viewmodel.AlbumWithInfoViewModel
5452
import com.android.swingmusic.common.presentation.navigator.CommonNavigator
55-
import com.android.swingmusic.core.data.util.Resource
5653
import com.android.swingmusic.core.domain.model.BottomSheetItemModel
5754
import com.android.swingmusic.core.domain.model.Folder
5855
import com.android.swingmusic.core.domain.model.Track
5956
import com.android.swingmusic.core.domain.util.BottomSheetAction
6057
import com.android.swingmusic.core.domain.util.PlaybackState
6158
import com.android.swingmusic.core.domain.util.QueueSource
6259
import com.android.swingmusic.folder.presentation.event.FolderUiEvent
63-
import com.android.swingmusic.folder.presentation.state.FoldersWithPagingTracksState
6460
import com.android.swingmusic.folder.presentation.state.FoldersContentPagingState
6561
import com.android.swingmusic.folder.presentation.model.FolderContentItem
6662
import com.android.swingmusic.folder.presentation.viewmodel.FoldersViewModel
67-
import com.android.swingmusic.player.presentation.event.PlayerUiEvent
6863
import com.android.swingmusic.player.presentation.event.QueueEvent
6964
import com.android.swingmusic.player.presentation.viewmodel.MediaControllerViewModel
7065
import com.android.swingmusic.uicomponent.R
@@ -73,12 +68,11 @@ import com.android.swingmusic.uicomponent.presentation.component.FolderItem
7368
import com.android.swingmusic.uicomponent.presentation.component.PathIndicatorItem
7469
import com.android.swingmusic.uicomponent.presentation.component.TrackItem
7570
import com.ramcosta.composedestinations.annotation.Destination
76-
import kotlinx.coroutines.launch
7771
import java.util.Locale
7872

7973
@OptIn(ExperimentalFoundationApi::class, ExperimentalMaterial3Api::class)
8074
@Composable
81-
private fun FoldersAndTracksPaginated(
75+
private fun FoldersAndTracks(
8276
currentFolder: Folder,
8377
homeDir: Folder,
8478
foldersContentPagingState: FoldersContentPagingState,
@@ -483,7 +477,7 @@ private fun FoldersAndTracksPaginated(
483477
@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter")
484478
@Destination
485479
@Composable
486-
fun FoldersAndTracksPaginatedScreen(
480+
fun FoldersAndTracksScreen(
487481
foldersViewModel: FoldersViewModel,
488482
albumWithInfoViewModel: AlbumWithInfoViewModel = hiltViewModel(),
489483
mediaControllerViewModel: MediaControllerViewModel,
@@ -559,7 +553,7 @@ fun FoldersAndTracksPaginatedScreen(
559553
}
560554
}
561555

562-
FoldersAndTracksPaginated(
556+
FoldersAndTracks(
563557
currentFolder = currentFolder,
564558
homeDir = homeDir,
565559
foldersContentPagingState = foldersViewModel.foldersContentPaging.value,

0 commit comments

Comments
 (0)