Skip to content

Commit 3f71b66

Browse files
author
Jan Guegel
committed
fix catch files in hidden folders in recent tab
Signed-off-by: Jan Guegel <[email protected]>
1 parent 630d7b2 commit 3f71b66

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

app/src/main/kotlin/org/fossify/filemanager/fragments/RecentsFragment.kt

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import android.util.AttributeSet
88
import androidx.core.os.bundleOf
99
import org.fossify.commons.extensions.areSystemAnimationsEnabled
1010
import org.fossify.commons.extensions.beVisibleIf
11-
import org.fossify.commons.extensions.getDoesFilePathExist
1211
import org.fossify.commons.extensions.getFilenameFromPath
1312
import org.fossify.commons.extensions.getLongValue
1413
import org.fossify.commons.extensions.getStringValue
@@ -178,9 +177,12 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
178177
val name = cursor.getStringValue(FileColumns.DISPLAY_NAME) ?: path.getFilenameFromPath()
179178
val size = cursor.getLongValue(FileColumns.SIZE)
180179
val modified = cursor.getLongValue(FileColumns.DATE_MODIFIED) * 1000
181-
val fileDirItem = ListItem(path, name, false, 0, size, modified, false, false)
182-
if ((showHidden || !name.startsWith(".")) && activity?.getDoesFilePathExist(path) == true) {
180+
val isHiddenFile = name.startsWith(".")
181+
val isFileInHiddenFolder = isPathInHiddenFolder(path)
182+
val shouldShow = showHidden || (!isHiddenFile && !isFileInHiddenFolder)
183+
if (shouldShow) {
183184
if (wantedMimeTypes.any { isProperMimeType(it, path, false) }) {
185+
val fileDirItem = ListItem(path, name, false, 0, size, modified, false, false)
184186
listItems.add(fileDirItem)
185187
}
186188
}
@@ -196,6 +198,17 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage
196198
}
197199
}
198200

201+
private fun isPathInHiddenFolder(path: String): Boolean {
202+
val parts = path.split("/")
203+
for (i in 1 until parts.size - 1) {
204+
val segment = parts[i]
205+
if (segment.startsWith(".") && segment != "." && segment != ".." && segment.isNotEmpty()) {
206+
return true
207+
}
208+
}
209+
return false
210+
}
211+
199212
private fun getRecyclerAdapter() = binding.recentsList.adapter as? ItemsAdapter
200213

201214
override fun toggleFilenameVisibility() {

0 commit comments

Comments
 (0)