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/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 f10cd49d8..dffc75fef 100644 --- a/app/src/main/kotlin/org/fossify/gallery/dialogs/ChangeSortingDialog.kt +++ b/app/src/main/kotlin/org/fossify/gallery/dialogs/ChangeSortingDialog.kt @@ -22,6 +22,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 +60,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 +85,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..38932ea6a 100644 --- a/app/src/main/kotlin/org/fossify/gallery/extensions/Context.kt +++ b/app/src/main/kotlin/org/fossify/gallery/extensions/Context.kt @@ -124,7 +124,7 @@ fun Context.getSortedDirectories(source: ArrayList): ArrayList + dirs.sortWith { o1, o2 -> o1 as Directory o2 as Directory @@ -170,6 +170,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 +179,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" /> + +