Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move all file opreation on IO thread. #4035

Open
MohitMaliFtechiz opened this issue Oct 15, 2024 · 2 comments
Open

Move all file opreation on IO thread. #4035

MohitMaliFtechiz opened this issue Oct 15, 2024 · 2 comments
Assignees
Milestone

Comments

@MohitMaliFtechiz
Copy link
Collaborator

Describe the bug
We have the FileExtension class. In this class, we perform file operations, e.g., exit (), freeSpace, and totalSpace etc. However, we are using the runBlocking method, which uses the mainThread. Due to this, performing these actions on large files can lead to a crash, just like #4031. However, for #4031 there are 4-5 crashes but the application should not crash.

It is a very big change for our application since we are using these file extensions in our whole project, and after purely moving these to the IO thread we have to handle the UI to reflect the file operation changes.

Expected behavior
All the file operations should be performed on the IO thread without affecting the existing functionality.

Environment

  • Version of Kiwix Android: 3.11.1
@kelson42
Copy link
Collaborator

@MohitMaliFtechiz I don't understand why only 1 issue of these 4 are on milestone 2.12?! I though this is a blocker to pass Google Play validation on Android 14?

@MohitMaliFtechiz
Copy link
Collaborator Author

@kelson42 These issues are linked to our reader functionality, and changing them to the IO thread needs proper testing and handling, which takes time since there are many changes like we have done in #4039. Also, the due date for uploading the application on PlayStore is approaching. That's why I have included other issues in the next milestone since the occurrences are very few, and we have some important tickets are left to do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants