mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 19:32:16 +00:00
Update: Convert latest view to LazyColumn
This commit is contained in:
parent
d79e5abb9f
commit
d31791ec02
@ -7,12 +7,12 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.isSystemInDarkTheme
|
import androidx.compose.foundation.isSystemInDarkTheme
|
||||||
import androidx.compose.foundation.layout.Column
|
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
import androidx.compose.foundation.layout.fillMaxWidth
|
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.layout.size
|
import androidx.compose.foundation.layout.size
|
||||||
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
|
import androidx.compose.foundation.lazy.items
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.rounded.Settings
|
import androidx.compose.material.icons.rounded.Settings
|
||||||
import androidx.compose.material.icons.rounded.Sync
|
import androidx.compose.material.icons.rounded.Sync
|
||||||
@ -38,8 +38,8 @@ import com.looker.droidify.database.entity.Repository
|
|||||||
import com.looker.droidify.service.SyncService
|
import com.looker.droidify.service.SyncService
|
||||||
import com.looker.droidify.ui.activities.PrefsActivityX
|
import com.looker.droidify.ui.activities.PrefsActivityX
|
||||||
import com.looker.droidify.ui.compose.ProductsHorizontalRecycler
|
import com.looker.droidify.ui.compose.ProductsHorizontalRecycler
|
||||||
import com.looker.droidify.ui.compose.ProductsVerticalRecycler
|
|
||||||
import com.looker.droidify.ui.compose.components.ExpandableSearchAction
|
import com.looker.droidify.ui.compose.components.ExpandableSearchAction
|
||||||
|
import com.looker.droidify.ui.compose.components.ProductsListItem
|
||||||
import com.looker.droidify.ui.compose.components.TopBar
|
import com.looker.droidify.ui.compose.components.TopBar
|
||||||
import com.looker.droidify.ui.compose.components.TopBarAction
|
import com.looker.droidify.ui.compose.components.TopBarAction
|
||||||
import com.looker.droidify.ui.compose.theme.AppTheme
|
import com.looker.droidify.ui.compose.theme.AppTheme
|
||||||
@ -109,12 +109,13 @@ class LatestFragment : MainNavFragmentX() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
) { padding ->
|
) { padding ->
|
||||||
Column(
|
LazyColumn(
|
||||||
Modifier
|
Modifier
|
||||||
.padding(padding)
|
.padding(padding)
|
||||||
.background(MaterialTheme.colorScheme.background)
|
.background(MaterialTheme.colorScheme.background)
|
||||||
.fillMaxSize()
|
.fillMaxSize(),
|
||||||
) {
|
) {
|
||||||
|
item {
|
||||||
Text(
|
Text(
|
||||||
text = stringResource(id = R.string.new_applications),
|
text = stringResource(id = R.string.new_applications),
|
||||||
modifier = Modifier.padding(8.dp)
|
modifier = Modifier.padding(8.dp)
|
||||||
@ -122,6 +123,8 @@ class LatestFragment : MainNavFragmentX() {
|
|||||||
ProductsHorizontalRecycler(secondaryList, repositories) { item ->
|
ProductsHorizontalRecycler(secondaryList, repositories) { item ->
|
||||||
mainActivityX.navigateProduct(item.packageName)
|
mainActivityX.navigateProduct(item.packageName)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
item {
|
||||||
Row(
|
Row(
|
||||||
modifier = Modifier.padding(horizontal = 8.dp, vertical = 4.dp),
|
modifier = Modifier.padding(horizontal = 8.dp, vertical = 4.dp),
|
||||||
verticalAlignment = Alignment.CenterVertically
|
verticalAlignment = Alignment.CenterVertically
|
||||||
@ -149,29 +152,30 @@ class LatestFragment : MainNavFragmentX() {
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
ProductsVerticalRecycler(
|
}
|
||||||
productsList = primaryList,
|
items(
|
||||||
repositories = repositories,
|
items = primaryList?.map { it.toItem() } ?: emptyList(),
|
||||||
favorites = favorites,
|
) { item ->
|
||||||
modifier = Modifier
|
ProductsListItem(
|
||||||
.fillMaxWidth()
|
item = item,
|
||||||
.weight(1f),
|
repo = repositories[item.repositoryId],
|
||||||
onUserClick = { item ->
|
isFavorite = favorites.contains(item.packageName),
|
||||||
mainActivityX.navigateProduct(item.packageName)
|
onUserClick = { mainActivityX.navigateProduct(it.packageName) },
|
||||||
},
|
onFavouriteClick = {
|
||||||
onFavouriteClick = { item ->
|
|
||||||
viewModel.setFavorite(
|
viewModel.setFavorite(
|
||||||
item.packageName,
|
it.packageName,
|
||||||
!favorites.contains(item.packageName)
|
!favorites.contains(it.packageName)
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
getInstalled = { installedList?.get(it.packageName) }
|
installed = installedList?.get(item.packageName),
|
||||||
) { item ->
|
onActionClick = {
|
||||||
val installed = installedList?.get(item.packageName)
|
val installed = installedList?.get(it.packageName)
|
||||||
if (installed != null && installed.launcherActivities.isNotEmpty())
|
if (installed != null && installed.launcherActivities.isNotEmpty())
|
||||||
requireContext().onLaunchClick(installed, childFragmentManager)
|
requireContext().onLaunchClick(installed, childFragmentManager)
|
||||||
else
|
else
|
||||||
mainActivityX.syncConnection.binder?.installApps(listOf(item))
|
mainActivityX.syncConnection.binder?.installApps(listOf(it))
|
||||||
|
}
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user