diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt index 0900b0808..abfcb9af6 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/ViewPagerActivity.kt @@ -70,6 +70,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View private var mMediaFiles = ArrayList() private var mFavoritePaths = ArrayList() + private var mIgnoredPaths = ArrayList() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -908,17 +909,22 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View if (config.useRecycleBin && !getCurrentMedium()!!.getIsInRecycleBin()) { movePathsInRecycleBin(arrayListOf(path)) { if (it) { - tryDeleteFileDirItem(fileDirItem, false, false) { - refreshViewPager() - } + handleDeletion(fileDirItem, false) } else { toast(R.string.unknown_error_occurred) } } } else { - tryDeleteFileDirItem(fileDirItem, false, true) { - refreshViewPager() - } + handleDeletion(fileDirItem, true) + } + } + + private fun handleDeletion(fileDirItem: FileDirItem, deleteFromDatabase: Boolean) { + mIgnoredPaths.add(fileDirItem.path) + val media = mMediaFiles.filter { !mIgnoredPaths.contains(it.path) } as ArrayList + gotMedia(media) + tryDeleteFileDirItem(fileDirItem, false, deleteFromDatabase) { + mIgnoredPaths.remove(fileDirItem.path) } } @@ -961,7 +967,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View } private fun gotMedia(thumbnailItems: ArrayList) { - val media = thumbnailItems.asSequence().filter { it is Medium }.map { it as Medium }.toMutableList() as ArrayList + val media = thumbnailItems.asSequence().filter { it is Medium && !mIgnoredPaths.contains(it.path) }.map { it as Medium }.toMutableList() as ArrayList if (isDirEmpty(media) || media.hashCode() == mPrevHashcode) { return }