diff --git a/src/main/kotlin/com/looker/droidify/ui/compose/ItemRecyclers.kt b/src/main/kotlin/com/looker/droidify/ui/compose/ItemRecyclers.kt index 7d88dc9e..4d3b9bc3 100644 --- a/src/main/kotlin/com/looker/droidify/ui/compose/ItemRecyclers.kt +++ b/src/main/kotlin/com/looker/droidify/ui/compose/ItemRecyclers.kt @@ -29,11 +29,19 @@ import com.looker.droidify.ui.compose.components.RepositoryItem fun ProductsVerticalRecycler( productsList: List?, repositories: Map, - onUserClick: (ProductItem) -> Unit = {} + onUserClick: (ProductItem) -> Unit = {}, + onFavouriteClick: (ProductItem) -> Unit = {}, + onInstallClick: (ProductItem) -> Unit = {} ) { VerticalItemList(list = productsList) { it.item.let { item -> - ProductsListItem(item, repositories[item.repositoryId], onUserClick) + ProductsListItem( + item, + repositories[item.repositoryId], + onUserClick, + onFavouriteClick, + onInstallClick + ) } } } diff --git a/src/main/kotlin/com/looker/droidify/ui/compose/components/ProductsListItem.kt b/src/main/kotlin/com/looker/droidify/ui/compose/components/ProductsListItem.kt index e61eac8b..6e78ed66 100644 --- a/src/main/kotlin/com/looker/droidify/ui/compose/components/ProductsListItem.kt +++ b/src/main/kotlin/com/looker/droidify/ui/compose/components/ProductsListItem.kt @@ -28,7 +28,9 @@ import com.looker.droidify.ui.compose.utils.NetworkImage fun ProductsListItem( item: ProductItem, repo: Repository? = null, - onUserClick: (ProductItem) -> Unit = {} + onUserClick: (ProductItem) -> Unit = {}, + onFavouriteClick: (ProductItem) -> Unit = {}, + onInstallClick: (ProductItem) -> Unit = {} ) { val imageData by remember(item, repo) { mutableStateOf( @@ -45,7 +47,13 @@ fun ProductsListItem( ExpandableCard( modifier = Modifier.padding(horizontal = 8.dp, vertical = 8.dp), onClick = { onUserClick(item) }, - expandedContent = { ExpandedItemContent(item = item) } + expandedContent = { + ExpandedItemContent( + item = item, + onFavourite = onFavouriteClick, + onInstallClicked = onInstallClick + ) + } ) { Row( modifier = Modifier.fillMaxWidth(), diff --git a/src/main/kotlin/com/looker/droidify/ui/fragments/ExploreFragment.kt b/src/main/kotlin/com/looker/droidify/ui/fragments/ExploreFragment.kt index dfc67463..98ef88b1 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/ExploreFragment.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/ExploreFragment.kt @@ -57,10 +57,16 @@ class ExploreFragment : MainNavFragmentX() { } ) { Scaffold { _ -> - ProductsVerticalRecycler(it, repositories) { item -> - AppSheetX(item.packageName) - .showNow(parentFragmentManager, "Product ${item.packageName}") - } + ProductsVerticalRecycler(it, repositories, + onUserClick = { item -> + AppSheetX(item.packageName) + .showNow(parentFragmentManager, "Product ${item.packageName}") + }, + onFavouriteClick = {}, + onInstallClick = { + mainActivityX.syncConnection.binder?.installApps(listOf(it)) + } + ) } } } diff --git a/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt b/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt index 79c7cef5..09ab456d 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt @@ -56,10 +56,16 @@ class InstalledFragment : MainNavFragmentX() { } ) { Scaffold { _ -> - ProductsVerticalRecycler(it, repositories) { item -> - AppSheetX(item.packageName) - .showNow(parentFragmentManager, "Product ${item.packageName}") - } + ProductsVerticalRecycler(it, repositories, + onUserClick = { item -> + AppSheetX(item.packageName) + .showNow(parentFragmentManager, "Product ${item.packageName}") + }, + onFavouriteClick = {}, + onInstallClick = { + mainActivityX.syncConnection.binder?.installApps(listOf(it)) + } + ) } } } diff --git a/src/main/kotlin/com/looker/droidify/ui/fragments/LatestFragment.kt b/src/main/kotlin/com/looker/droidify/ui/fragments/LatestFragment.kt index 3120733b..a05d2c35 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/LatestFragment.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/LatestFragment.kt @@ -56,10 +56,16 @@ class LatestFragment : MainNavFragmentX() { } ) { Scaffold { _ -> - ProductsVerticalRecycler(it, repositories) { item -> - AppSheetX(item.packageName) - .showNow(parentFragmentManager, "Product ${item.packageName}") - } + ProductsVerticalRecycler(it, repositories, + onUserClick = { item -> + AppSheetX(item.packageName) + .showNow(parentFragmentManager, "Product ${item.packageName}") + }, + onFavouriteClick = {}, + onInstallClick = { + mainActivityX.syncConnection.binder?.installApps(listOf(it)) + } + ) } } }