SDK 30 changes

- handle SAF dialog on ViewPagerActivity before refreshing screen
This commit is contained in:
darthpaul 2022-03-19 20:30:59 +00:00
parent 4a3e502484
commit 399c8e241d
1 changed files with 32 additions and 20 deletions

View File

@ -1109,6 +1109,11 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
val fileDirItem = FileDirItem(path, path.getFilenameFromPath()) val fileDirItem = FileDirItem(path, path.getFilenameFromPath())
if (config.useRecycleBin && !getCurrentMedium()!!.getIsInRecycleBin()) { if (config.useRecycleBin && !getCurrentMedium()!!.getIsInRecycleBin()) {
handleSAFDialogSdk30(fileDirItem.path) {
if (!it) {
return@handleSAFDialogSdk30
}
mIgnoredPaths.add(fileDirItem.path) mIgnoredPaths.add(fileDirItem.path)
val media = mMediaFiles.filter { !mIgnoredPaths.contains(it.path) } as ArrayList<ThumbnailItem> val media = mMediaFiles.filter { !mIgnoredPaths.contains(it.path) } as ArrayList<ThumbnailItem>
runOnUiThread { runOnUiThread {
@ -1125,12 +1130,18 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
toast(R.string.unknown_error_occurred) toast(R.string.unknown_error_occurred)
} }
} }
}
} else { } else {
handleDeletion(fileDirItem) handleDeletion(fileDirItem)
} }
} }
private fun handleDeletion(fileDirItem: FileDirItem) { private fun handleDeletion(fileDirItem: FileDirItem) {
handleSAFDialogSdk30(fileDirItem.path) {
if (!it) {
return@handleSAFDialogSdk30
}
mIgnoredPaths.add(fileDirItem.path) mIgnoredPaths.add(fileDirItem.path)
val media = mMediaFiles.filter { !mIgnoredPaths.contains(it.path) } as ArrayList<ThumbnailItem> val media = mMediaFiles.filter { !mIgnoredPaths.contains(it.path) } as ArrayList<ThumbnailItem>
runOnUiThread { runOnUiThread {
@ -1142,6 +1153,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
deleteDirectoryIfEmpty() deleteDirectoryIfEmpty()
} }
} }
}
private fun isDirEmpty(media: ArrayList<Medium>): Boolean { private fun isDirEmpty(media: ArrayList<Medium>): Boolean {
return if (media.isEmpty()) { return if (media.isEmpty()) {