Fixed: Play Store reported a crash error when closing the tabs.

* This error was occurring due to the user frequently clicking the close icon of the same tab, in this situation first click closes the tab, and the second immediate click again triggers the `closeTab` function but recyclerView does not have the valid view for this position because it is in removing process so this makes this view invalid and recyclerView returns the `-1` index for invalid views. So this was the reason for this issue, to address this issue we have added a check in our `closeTab` method if the incoming index is `-1` then it will not execute the further code.
This commit is contained in:
MohitMaliFtechiz 2024-04-16 17:32:03 +05:30 committed by Kelson
parent cf745d3cad
commit dda2200a4b

View File

@ -1198,6 +1198,10 @@ abstract class CoreReaderFragment :
if (currentTtsWebViewIndex == index) {
onReadAloudStop()
}
// Check if the index is valid; RecyclerView gives the index -1 for already removed views.
// Address those issues when the user frequently clicks on the close icon of the same tab.
// See https://github.com/kiwix/kiwix-android/issues/3790 for more details.
if (index == RecyclerView.NO_POSITION) return
tempZimFileForUndo = zimReaderContainer?.zimFile
tempWebViewForUndo = webViewList[index]
webViewList.removeAt(index)