@@ -8,7 +8,6 @@ import android.util.AttributeSet
88import androidx.core.os.bundleOf
99import org.fossify.commons.extensions.areSystemAnimationsEnabled
1010import org.fossify.commons.extensions.beVisibleIf
11- import org.fossify.commons.extensions.getDoesFilePathExist
1211import org.fossify.commons.extensions.getFilenameFromPath
1312import org.fossify.commons.extensions.getLongValue
1413import 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