From b52e89512ef1ad7572516460b58ff958423040e2 Mon Sep 17 00:00:00 2001 From: machiav3lli Date: Sat, 24 Sep 2022 06:30:09 +0200 Subject: [PATCH] Add: Ascending (sort) argument to Product query builder --- .../com/machiav3lli/fdroid/database/dao/ProductDao.kt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/com/machiav3lli/fdroid/database/dao/ProductDao.kt b/src/main/kotlin/com/machiav3lli/fdroid/database/dao/ProductDao.kt index 5a2c0c2b..b373ff0f 100644 --- a/src/main/kotlin/com/machiav3lli/fdroid/database/dao/ProductDao.kt +++ b/src/main/kotlin/com/machiav3lli/fdroid/database/dao/ProductDao.kt @@ -125,6 +125,7 @@ interface ProductDao : BaseDao { searchQuery: String, section: Section, order: Order, + ascending: Boolean = false, numberOfItems: Int = 0, updateCategory: UpdateCategory = UpdateCategory.ALL ): SupportSQLiteQuery { @@ -220,10 +221,10 @@ interface ProductDao : BaseDao { if (searchQuery.isNotEmpty()) builder += """$ROW_MATCH_RANK DESC,""" when (order) { Order.NAME -> Unit - Order.DATE_ADDED -> builder += "$TABLE_PRODUCT.$ROW_ADDED DESC," - Order.LAST_UPDATE -> builder += "$TABLE_PRODUCT.$ROW_UPDATED DESC," + Order.DATE_ADDED -> builder += "$TABLE_PRODUCT.$ROW_ADDED ${if (ascending) "ASC" else "DESC"}," + Order.LAST_UPDATE -> builder += "$TABLE_PRODUCT.$ROW_UPDATED ${if (ascending) "ASC" else "DESC"}," }::class - builder += "$TABLE_PRODUCT.$ROW_LABEL COLLATE LOCALIZED ASC${if (numberOfItems > 0) " LIMIT $numberOfItems" else ""}" + builder += "$TABLE_PRODUCT.$ROW_LABEL COLLATE LOCALIZED ${if (!ascending && order == Order.NAME) "DESC" else "ASC"}${if (numberOfItems > 0) " LIMIT $numberOfItems" else ""}" return SimpleSQLiteQuery(builder.build(), builder.arguments.toTypedArray()) }