mirror of
https://github.com/FossifyOrg/Gallery.git
synced 2024-11-23 04:57:59 +01:00
fix subfolder counting at "Group direct subfolders"
This commit is contained in:
parent
5482059235
commit
98a5b7144b
1 changed files with 15 additions and 7 deletions
|
@ -967,19 +967,27 @@ class MainActivity : SimpleActivity(), DirectoryOperationsListener {
|
|||
val newDirs = dirs.filter { foldersToShow.contains(it.path) } as ArrayList<Directory>
|
||||
|
||||
// update the directory media counts, add all subfolder media counts to it
|
||||
dirs.forEach {
|
||||
val mainDir = it
|
||||
for (dir in dirs) {
|
||||
var longestSharedPath = ""
|
||||
newDirs.forEach {
|
||||
if (it.path != mainDir.path && mainDir.path.startsWith(it.path, true) && it.path.length > longestSharedPath.length) {
|
||||
it.subfoldersCount += 1
|
||||
longestSharedPath = it.path
|
||||
for (newDir in newDirs) {
|
||||
if (newDir.path == dir.path) {
|
||||
longestSharedPath = dir.path
|
||||
continue
|
||||
}
|
||||
|
||||
if (dir.path.startsWith(newDir.path, true) && newDir.path.length > longestSharedPath.length) {
|
||||
longestSharedPath = newDir.path
|
||||
}
|
||||
}
|
||||
|
||||
val parentFolder = newDirs.firstOrNull { it.path == longestSharedPath }
|
||||
parentFolder?.apply {
|
||||
subfoldersCount++
|
||||
}
|
||||
|
||||
val mainFolder = newDirs.firstOrNull { it.path == longestSharedPath }
|
||||
if (mainFolder != null) {
|
||||
mainFolder.subfoldersMediaCount += mainDir.mediaCnt
|
||||
mainFolder.subfoldersMediaCount += dir.mediaCnt
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue