* Removed the unnecessary rule that was inverting the header image. Since the image was already inverted, there is no need to apply the filter again.
* The poster image was being inverted due to the first rule being applied to the poster element, which caused the image and video inside the poster to be inverted. To correct this, a CSS rule is added to prevent the inversion of the poster's image and video.
* Also, now we are not using fetch library anymore so we have removed this from our credits files.
* Removed the unused code from detekt_baseline.xml file.
* When there is no available connection that the user started the download with, the pause/resume button is disabled to prevent attempts to resume or pause the download, which would not work in this state.
* If the user attempts to resume the download but it does not resume due to some issue, the code will automatically try to resume the download. This ensures a smooth user experience.
* Proper pause reasons are displayed to the user, keeping them informed about the current state of the download.
* If a download fails for any reason, the pause/resume button is disabled. At this point, the pause/resume functionality is unnecessary and would not work, so the button is disabled to avoid confusion.
* To ensure clarity and understanding, we have added necessary comments on the method and conditions.
* For Android 11 and above, we now download ZIM files to the app-specific directory because the download manager does not allow downloads to custom paths. Therefore, ZIM files are now downloaded inside the app-specific directory for these versions.
* Removed the folder selection dialog from the application for selecting the SD card in non-Play Store variants on Android 11 and Android 12.
* For Android 10 and below, ZIM files are now downloading to the public directory on the SD card. This ensures that the files are not lost when the application is uninstalled, as they are stored in a public directory similar to internal storage on these versions.
* Also improved the showing pause reason on download screen when downloadManager is paused due to "PAUSED_WAITING_TO_RETRY" error so that user can know about the downloading state.
* This change ensures that the observable is only active when necessary, reducing unnecessary resource usage and avoiding redundant requests to the DownloadManager.
* Improved the updating status functionality.
* Cancelling the notification if any running and download is completed.
* Fixed TestModelFunctions build failure.
* Now all the downloading files will store in this public app-specific directory.
* Refactored the code to show this new location in storageSelection dialog for both internal and external storage.
* Updated the `README.md` file to educate user that how they can read already downloaded zim files in PS version.
* Refactored the test cases according to this change.
* Now, the storage selection (internal/external) is directly visible in the settings, allowing users to select storage without using a dialog box.
* The total and available space for each storage option is displayed.
* Additionally, the selected storage path is shown in the settings, so users know where the downloaded files will be saved.
* Now, it asks for an evaluation when the user has opened the application at least 20 times, has been using the application for the past two weeks, and has one or more ZIM files in their library.
* The issue was that we were writing the content on the IO thread using a coroutine, which was called from a `suspend` function. The function was suspended while loading the content, causing the `PipedOutputStream` to be flushed prematurely and resulting in the failure to render the remaining data.
* To fix this, we removed the content rendering from the coroutine and are now using `Completable` to render the content on the IO thread.