* Improved the test case to remove the file from the emulator to free up device storage, as we do not have access to this file after running the test case, and it will remain in storage.
* When opening the ZIM file via file picker or deep linking, we were obtaining the file path using the getZimFileFromUri() method to perform the renaming for the move functionality. However, on Android 14 tablets, the URI was not resolved correctly by this method, leading to a "ZIM file not found" error.
* To fix this issue, we removed the dependency on the `getZimFileFromUri()` method in the Play Store variant, as future Android versions may handle URIs differently. We refactored our code so that the copy/move functionality works independently of this method and now works directly with Android's provided URI.
* The issue occurred because the logic for opening ZIM files was inside the KiwixReaderFragment, and if the user was on any other screen while using the application, this code was not triggered. As a result, the copy/move dialog was not shown. To resolve this, we moved the functionality to the KiwixMainActivity.
* Fixed an issue where the ZIM file would not load when opened directly from the file manager.
* Fixed the issue with opening a ZIM file from the browser's download screen.
* Added a head request to get the library length and showing the progress on behalf of that length.
* Improved the library loading process: previously, fetching the online library involved making two requests, which not only took more time to get a response from the server but also used twice the bandwidth. To address this, we have refactored our code to ensure that only one request is made at a time.
* Upgraded the retrofit, and interceptor dependencies to latest version.
* Since the online library file is 19MB large and on slow bandwidth devices it takes more time to fetch that file. Our current read timeout is 60 seconds which is not enough for reading this file on slow bandwidth devices. So we have increased it to 180 seconds.
* The issue arose after upgrading the Gradle version of our project (which introduced Android 14). The new Gradle version includes an updated minify tool that excludes SimpleXML attributes from the code. As a result, this error occurred. To resolve this, we added specific rules to the ProGuard file to ensure these attributes are retained in the release variant.
* Since we are now creating dynamic shortcuts for the application, the static shortcut is no longer required, so we have removed the static shortcut code from our implementation.
* The donation popup will be shown to the user every three months.
* If the user clicks the "Later" button, the popup will appear again after 3 days.
* The donation popup will only be shown when there is at least one book available in the library. If no ZIM file is present, it’s not ideal to ask for a donation, as the user has not yet used the application.
* The donation popup will only be shown for custom apps when the support_url is configured. If the support menu item is hidden in the sidebar (a feature we offer), the donation popup will not be displayed, as there is no support_url available for that custom app.