diff --git a/src/main/kotlin/com/looker/droidify/database/entity/Product.kt b/src/main/kotlin/com/looker/droidify/database/entity/Product.kt index 1d4a6bc5..5c0235d4 100644 --- a/src/main/kotlin/com/looker/droidify/database/entity/Product.kt +++ b/src/main/kotlin/com/looker/droidify/database/entity/Product.kt @@ -47,18 +47,18 @@ open class Product { val versionCode: Long get() = selectedReleases.firstOrNull()?.versionCode ?: 0L - val item: ProductItem - get() = ProductItem( - repository_id, - package_name, + fun toItem(installed: Installed? = null): ProductItem = + ProductItem( + repositoryId, + packageName, name, summary, icon, metadataIcon, version, "", - compatible != 0, - false, + compatible, + canUpdate(installed), 0 ) } diff --git a/src/main/kotlin/com/looker/droidify/service/SyncService.kt b/src/main/kotlin/com/looker/droidify/service/SyncService.kt index 5179180b..453ad5e9 100644 --- a/src/main/kotlin/com/looker/droidify/service/SyncService.kt +++ b/src/main/kotlin/com/looker/droidify/service/SyncService.kt @@ -399,7 +399,7 @@ class SyncService : ConnectionService() { searchQuery = "", section = Section.All, order = Order.NAME - ).map { it.item } + ).map { it.toItem() } } .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) 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 464a8a72..4f409055 100644 --- a/src/main/kotlin/com/looker/droidify/ui/compose/ItemRecyclers.kt +++ b/src/main/kotlin/com/looker/droidify/ui/compose/ItemRecyclers.kt @@ -35,7 +35,7 @@ fun ProductsVerticalRecycler( onInstallClick: (ProductItem) -> Unit = {} ) { VerticalItemList(list = productsList) { - it.item.let { item -> + it.toItem().let { item -> ProductsListItem( item, repositories[item.repositoryId], @@ -58,7 +58,7 @@ fun ProductsHorizontalRecycler( horizontalArrangement = spacedBy(2.dp) ) { items(productsList ?: emptyList()) { product -> - product.item.let { item -> + product.toItem().let { item -> ProductCard(item, repositories[item.repositoryId], onUserClick) } } 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 5185415d..5f62b793 100644 --- a/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt +++ b/src/main/kotlin/com/looker/droidify/ui/fragments/InstalledFragment.kt @@ -108,7 +108,7 @@ class InstalledFragment : MainNavFragmentX() { } binding.buttonUpdateAll.setOnClickListener { viewModel.secondaryProducts.value?.let { - mainActivityX.syncConnection.binder?.updateApps(it.map(Product::item)) + mainActivityX.syncConnection.binder?.updateApps(it.map(Product::toItem)) } } mainActivityX.menuSetup.observe(viewLifecycleOwner) {