From 140f876d13cb7acfcecb6d6b997a5214e3214f1c Mon Sep 17 00:00:00 2001 From: terofeev Date: Thu, 6 Mar 2025 23:09:31 +0400 Subject: [PATCH 1/3] Add sort by count. --- app/src/main/kotlin/org/fossify/gallery/Constants.kt | 3 +++ .../org/fossify/gallery/activities/MainActivity.kt | 2 +- .../fossify/gallery/dialogs/ChangeSortingDialog.kt | 4 ++++ .../kotlin/org/fossify/gallery/extensions/Context.kt | 12 ++++++++---- app/src/main/res/layout/dialog_change_sorting.xml | 6 ++++++ app/src/main/res/values/strings.xml | 3 +++ 6 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 app/src/main/kotlin/org/fossify/gallery/Constants.kt diff --git a/app/src/main/kotlin/org/fossify/gallery/Constants.kt b/app/src/main/kotlin/org/fossify/gallery/Constants.kt new file mode 100644 index 000000000..ad0a4d844 --- /dev/null +++ b/app/src/main/kotlin/org/fossify/gallery/Constants.kt @@ -0,0 +1,3 @@ +package org.fossify.gallery + +const val SORT_BY_COUNT = 524288 // TODO: Replace with Constants from Commons, then delete this file. diff --git a/app/src/main/kotlin/org/fossify/gallery/activities/MainActivity.kt b/app/src/main/kotlin/org/fossify/gallery/activities/MainActivity.kt index f9b1fda01..de2a8bead 100644 --- a/app/src/main/kotlin/org/fossify/gallery/activities/MainActivity.kt +++ b/app/src/main/kotlin/org/fossify/gallery/activities/MainActivity.kt @@ -1094,7 +1094,7 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener { taken = newDir.taken this@apply.size = newDir.size types = newDir.types - sortValue = getDirectorySortingValue(curMedia, path, name, size) + sortValue = getDirectorySortingValue(curMedia, path, name, size, mediaCnt) } setupAdapter(dirs) diff --git a/app/src/main/kotlin/org/fossify/gallery/dialogs/ChangeSortingDialog.kt b/app/src/main/kotlin/org/fossify/gallery/dialogs/ChangeSortingDialog.kt index f10cd49d8..e04690a84 100644 --- a/app/src/main/kotlin/org/fossify/gallery/dialogs/ChangeSortingDialog.kt +++ b/app/src/main/kotlin/org/fossify/gallery/dialogs/ChangeSortingDialog.kt @@ -5,6 +5,7 @@ import org.fossify.commons.activities.BaseSimpleActivity import org.fossify.commons.extensions.* import org.fossify.commons.helpers.* import org.fossify.gallery.R +import org.fossify.gallery.SORT_BY_COUNT import org.fossify.gallery.databinding.DialogChangeSortingBinding import org.fossify.gallery.extensions.config import org.fossify.gallery.helpers.SHOW_ALL @@ -22,6 +23,7 @@ class ChangeSortingDialog( init { currSorting = if (isDirectorySorting) config.directorySorting else config.getFolderSorting(pathToUse) binding = DialogChangeSortingBinding.inflate(activity.layoutInflater).apply { + sortingDialogRadioNumberOfItems.beVisibleIf(isDirectorySorting) sortingDialogOrderDivider.beVisibleIf(showFolderCheckbox || (currSorting and SORT_BY_NAME != 0 || currSorting and SORT_BY_PATH != 0)) sortingDialogNumericSorting.beVisibleIf(showFolderCheckbox && (currSorting and SORT_BY_NAME != 0 || currSorting and SORT_BY_PATH != 0)) @@ -59,6 +61,7 @@ class ChangeSortingDialog( val sortBtn = when { currSorting and SORT_BY_PATH != 0 -> binding.sortingDialogRadioPath currSorting and SORT_BY_SIZE != 0 -> binding.sortingDialogRadioSize + currSorting and SORT_BY_COUNT != 0 -> binding.sortingDialogRadioNumberOfItems currSorting and SORT_BY_DATE_MODIFIED != 0 -> binding.sortingDialogRadioLastModified currSorting and SORT_BY_DATE_TAKEN != 0 -> binding.sortingDialogRadioDateTaken currSorting and SORT_BY_RANDOM != 0 -> binding.sortingDialogRadioRandom @@ -83,6 +86,7 @@ class ChangeSortingDialog( R.id.sorting_dialog_radio_name -> SORT_BY_NAME R.id.sorting_dialog_radio_path -> SORT_BY_PATH R.id.sorting_dialog_radio_size -> SORT_BY_SIZE + R.id.sorting_dialog_radio_number_of_items -> SORT_BY_COUNT R.id.sorting_dialog_radio_last_modified -> SORT_BY_DATE_MODIFIED R.id.sorting_dialog_radio_random -> SORT_BY_RANDOM R.id.sorting_dialog_radio_custom -> SORT_BY_CUSTOM diff --git a/app/src/main/kotlin/org/fossify/gallery/extensions/Context.kt b/app/src/main/kotlin/org/fossify/gallery/extensions/Context.kt index a03a4f138..b8419b1c6 100644 --- a/app/src/main/kotlin/org/fossify/gallery/extensions/Context.kt +++ b/app/src/main/kotlin/org/fossify/gallery/extensions/Context.kt @@ -37,6 +37,7 @@ import org.fossify.commons.extensions.* import org.fossify.commons.helpers.* import org.fossify.commons.views.MySquareImageView import org.fossify.gallery.R +import org.fossify.gallery.SORT_BY_COUNT import org.fossify.gallery.asynctasks.GetMediaAsynctask import org.fossify.gallery.databases.GalleryDatabase import org.fossify.gallery.helpers.* @@ -124,7 +125,7 @@ fun Context.getSortedDirectories(source: ArrayList): ArrayList + dirs.sortWith { o1, o2 -> o1 as Directory o2 as Directory @@ -170,6 +171,7 @@ fun Context.getSortedDirectories(source: ArrayList): ArrayList (o1.sortValue.toLongOrNull() ?: 0).compareTo(o2.sortValue.toLongOrNull() ?: 0) + sorting and SORT_BY_COUNT != 0 -> (o1.sortValue.toLongOrNull() ?: 0).compareTo(o2.sortValue.toLongOrNull() ?: 0) sorting and SORT_BY_DATE_MODIFIED != 0 -> (o1.sortValue.toLongOrNull() ?: 0).compareTo(o2.sortValue.toLongOrNull() ?: 0) else -> (o1.sortValue.toLongOrNull() ?: 0).compareTo(o2.sortValue.toLongOrNull() ?: 0) } @@ -178,7 +180,7 @@ fun Context.getSortedDirectories(source: ArrayList): ArrayList, path: String, name: String, size: Long): String { +fun Context.getDirectorySortingValue(media: ArrayList, path: String, name: String, size: Long, count: Int): String { val sorting = config.directorySorting val sorted = when { sorting and SORT_BY_NAME != 0 -> return name sorting and SORT_BY_PATH != 0 -> return path sorting and SORT_BY_SIZE != 0 -> return size.toString() + sorting and SORT_BY_COUNT != 0 -> return count.toString() sorting and SORT_BY_DATE_MODIFIED != 0 -> media.sortedBy { it.modified } sorting and SORT_BY_DATE_TAKEN != 0 -> media.sortedBy { it.taken } else -> media diff --git a/app/src/main/res/layout/dialog_change_sorting.xml b/app/src/main/res/layout/dialog_change_sorting.xml index e3ec61ab2..fc87462a4 100644 --- a/app/src/main/res/layout/dialog_change_sorting.xml +++ b/app/src/main/res/layout/dialog_change_sorting.xml @@ -37,6 +37,12 @@ android:layout_height="wrap_content" android:text="@string/size" /> + + + + + Number of items From 047d0a658546694dba9f7987042498301477323e Mon Sep 17 00:00:00 2001 From: terofeev Date: Mon, 10 Mar 2025 11:55:09 +0400 Subject: [PATCH 2/3] Update commons lib. Remove temp code. --- app/src/main/kotlin/org/fossify/gallery/Constants.kt | 3 --- .../kotlin/org/fossify/gallery/activities/SimpleActivity.kt | 2 ++ .../kotlin/org/fossify/gallery/dialogs/ChangeSortingDialog.kt | 1 - app/src/main/kotlin/org/fossify/gallery/extensions/Context.kt | 1 - app/src/main/res/values/strings.xml | 3 --- gradle/libs.versions.toml | 4 ++-- 6 files changed, 4 insertions(+), 10 deletions(-) delete mode 100644 app/src/main/kotlin/org/fossify/gallery/Constants.kt diff --git a/app/src/main/kotlin/org/fossify/gallery/Constants.kt b/app/src/main/kotlin/org/fossify/gallery/Constants.kt deleted file mode 100644 index ad0a4d844..000000000 --- a/app/src/main/kotlin/org/fossify/gallery/Constants.kt +++ /dev/null @@ -1,3 +0,0 @@ -package org.fossify.gallery - -const val SORT_BY_COUNT = 524288 // TODO: Replace with Constants from Commons, then delete this file. diff --git a/app/src/main/kotlin/org/fossify/gallery/activities/SimpleActivity.kt b/app/src/main/kotlin/org/fossify/gallery/activities/SimpleActivity.kt index 4808dd8da..258692277 100644 --- a/app/src/main/kotlin/org/fossify/gallery/activities/SimpleActivity.kt +++ b/app/src/main/kotlin/org/fossify/gallery/activities/SimpleActivity.kt @@ -59,6 +59,8 @@ open class SimpleActivity : BaseSimpleActivity() { override fun getAppLauncherName() = getString(R.string.app_launcher_name) + override fun getRepositoryName() = "Gallery" + protected fun checkNotchSupport() { if (isPiePlus()) { val cutoutMode = when { diff --git a/app/src/main/kotlin/org/fossify/gallery/dialogs/ChangeSortingDialog.kt b/app/src/main/kotlin/org/fossify/gallery/dialogs/ChangeSortingDialog.kt index e04690a84..dffc75fef 100644 --- a/app/src/main/kotlin/org/fossify/gallery/dialogs/ChangeSortingDialog.kt +++ b/app/src/main/kotlin/org/fossify/gallery/dialogs/ChangeSortingDialog.kt @@ -5,7 +5,6 @@ import org.fossify.commons.activities.BaseSimpleActivity import org.fossify.commons.extensions.* import org.fossify.commons.helpers.* import org.fossify.gallery.R -import org.fossify.gallery.SORT_BY_COUNT import org.fossify.gallery.databinding.DialogChangeSortingBinding import org.fossify.gallery.extensions.config import org.fossify.gallery.helpers.SHOW_ALL diff --git a/app/src/main/kotlin/org/fossify/gallery/extensions/Context.kt b/app/src/main/kotlin/org/fossify/gallery/extensions/Context.kt index b8419b1c6..38932ea6a 100644 --- a/app/src/main/kotlin/org/fossify/gallery/extensions/Context.kt +++ b/app/src/main/kotlin/org/fossify/gallery/extensions/Context.kt @@ -37,7 +37,6 @@ import org.fossify.commons.extensions.* import org.fossify.commons.helpers.* import org.fossify.commons.views.MySquareImageView import org.fossify.gallery.R -import org.fossify.gallery.SORT_BY_COUNT import org.fossify.gallery.asynctasks.GetMediaAsynctask import org.fossify.gallery.databases.GalleryDatabase import org.fossify.gallery.helpers.* diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6d2a6de2b..56e1173af 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -289,7 +289,4 @@ Haven't found some strings? There's more at https://github.com/FossifyOrg/Commons/tree/master/commons/src/main/res --> - - - Number of items diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 923437df0..2dbe6e2ee 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,7 +13,7 @@ exif = "1.0.1" #Room room = "2.6.1" #Fossify -commons = "39c99b73c7" +commons = "9e28c573e8" #Gradle4 gradlePlugins-agp = "8.6.1" #Other @@ -55,7 +55,7 @@ androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = " androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" } androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" } #Fossify -fossify-commons = { module = "org.fossify:commons", version.ref = "commons" } +fossify-commons = { module = "com.github.FossifyOrg:Commons", version.ref = "commons" } #Other android-gif-drawable = { module = "pl.droidsonroids.gif:android-gif-drawable", version.ref = "androidGifDrawable" } android-image-cropper = { module = "com.vanniktech:android-image-cropper", version.ref = "androidImageCropper" } From 23e374c882867412f87d1f88f5c91c7a8c326c4c Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Tue, 11 Mar 2025 19:34:41 +0530 Subject: [PATCH 3/3] Update commons (again) Fixed jitpack build. --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2dbe6e2ee..dee1c1968 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,7 +13,7 @@ exif = "1.0.1" #Room room = "2.6.1" #Fossify -commons = "9e28c573e8" +commons = "3dd1f7f33e" #Gradle4 gradlePlugins-agp = "8.6.1" #Other @@ -55,7 +55,7 @@ androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = " androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" } androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" } #Fossify -fossify-commons = { module = "com.github.FossifyOrg:Commons", version.ref = "commons" } +fossify-commons = { module = "org.fossify:commons", version.ref = "commons" } #Other android-gif-drawable = { module = "pl.droidsonroids.gif:android-gif-drawable", version.ref = "androidGifDrawable" } android-image-cropper = { module = "com.vanniktech:android-image-cropper", version.ref = "androidImageCropper" }