2424 Commits

Author SHA1 Message Date
MohitMali
f314e70d0c Upgraded Gradle to 8.1.3 * Added the namespace property in the build.gradle file because, in the newer Gradle version, it is necessary to specify the namespace in the build.gradle file instead of declaring it in the manifest file. 2024-08-16 15:35:10 +00:00
MohitMali
2b8f7300f6 Fixed detekt issues. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
88a83be01d Updated to Android 14 & refactored some methods inorder to compile with the SDK 14 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
68137fb363 Fixed: Dark mode failing on "Astrolabe" homepage.
* 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.
2024-08-14 12:59:58 +05:30
MohitMaliFtechiz
c9b43117e6 Removed the fetch library from README file.
* 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.
2024-08-12 17:15:42 +05:30
MohitMaliFtechiz
6b60a8c444 Removed the unnecessary variables and logs from code 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
df9bbb0ad3 Fixed the pause/resume functionality:
* 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.
2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
2c8a9a45f8 Fixed Downloading is not working on Android 11, and Android 12.
* 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.
2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
3e9ff05bd9 Disabled the controls in the notification when the download is in a paused state, as the pause state could occur if DownloadManager is waiting for WiFi.
* Fixed the user behavior when attempting to download the ZIM file only on WiFi, and added a proper message explaining why the download is paused.
2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
68b091ea6d Enabled the controls in the notification for pausing/canceling the downloads when the download is in a Queued state. 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
623d65e06f Fixed sometimes downloads remain on the "Download Screen" after successfully downloading.
* Improved the "DownloadTest".
2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
88d828e5ce Removed the fetch library and its code from project.
* Fixed the Downloading for Authentication URL.
2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
cb8829ea5f Fixed the resume is not working properly. 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
583038154b Fixing pause/resume functionlaity is not working on android 10 and above 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
b2d2c5c242 Fixed retry download is not working in some conditions 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
4fb53ed5df Fixed downloading progress is not showing after starting the download. 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
71db5fc7d1 Improved download monitoring efficiency by disposing observable when no downloads are ongoing.
* This change ensures that the observable is only active when necessary, reducing unnecessary resource usage and avoiding redundant requests to the DownloadManager.
2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
d398c47c3f Fixed: Notification "pause" text and notification icons.
* Improved variable naming and placed them in appropriate locations.
2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
9a2acea046 Implemented the retry download functionality.
* Removed unnecessary code.
2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
f640dd1c19 Improved the file opening while clicking the download notification, because two zim files can have the same title 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
6a16745920 Fixed: zim file was not opening when clicking on the notification after the zim file downloaded 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
a859da3192 Improved the moving books functionality after download.
* Improved the updating status functionality.
* Cancelling the notification if any running and download is completed.
* Fixed TestModelFunctions build failure.
2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
fa4f289511 Fixed remaining detekt and lint issues 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
9b091301bd Fixed some detekt and lint issues 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
3039232b2c Moving the downloads to library fragment after downloading 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
fdeb6bcbe6 Fixed: download is always cancelling when we click on the pause button in notification 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
28472c0988 Added RECEIVER_NOT_EXPORTED to all broadcasts to make the application compatiable with Android 14. Also, Fixed the clicking is not working in notification 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
8405c7c6d7 Improved the cancelling of downloads 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
6eab724e3d Calcelling notification when user canceled the downloads 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
30cf3c69ad Properly showing the notification for different downloads. Corrected the IN_PROGRESS showing in notification when downloading is in_progress state 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
d6a8ee9e24 Removed the default notification of download manager 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
ce275254b9 Added custom notification for showing the downloading progress with pause/resume functionality 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
ef2f50539b Not showing the eta time when download is paused 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
d394bb6078 Improved the eta time calculation. 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
7e79f288a5 Implemented the pause/resume functionality for downloads. 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
d67262224b Showing progress, eta time on download screen. 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
cebbbabbd8 Introduced Room database for managing the downloads. * Refactored the code to use the room database instead of objectbox database with fetch. 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
2616fa8565 Updating the current download item on OnlineLibraryScreen if a download completes or cancelled 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
5104c49f8e Replacing the fetch library with Android's DownloadManager. 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
4cc76fbd89 Added migration code to move from the internal app directory to the public app directory upon application update. This ensures that after updating, users will automatically start using the public directory for downloads without needing to configure storage settings. 2024-08-12 15:35:49 +05:30
MohitMaliFtechiz
7008e7b90b Created the public app-specific directory for existing users if they do not configure the storage, so that they can easily copy the zim files in this new public app directory. 2024-08-08 18:01:58 +05:30
MohitMaliFtechiz
34618aec05 Fixed: Download zim files in Android/media/org.kiwix/kiwixmobile/ folder instead of internal app-specific directory.
* 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.
2024-08-08 16:57:31 +05:30
MohitMaliFtechiz
65297a79d2 Enhanced RTL Support for Storage Path TextView.
* Ensured that the storage path and title are displayed correctly in both LTR and RTL layouts.
2024-08-08 11:08:02 +05:30
MohitMaliFtechiz
72fe21ba4c Changed the visual representation of storage selection.
* Now the storage path will show for non-selected storage as well.
* Improved the KiwixSettingsFragmentTest.
2024-08-07 17:32:37 +05:30
MohitMaliFtechiz
960189e68c Removed the dialog box to select the storage in settings.
* 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.
2024-08-06 21:52:44 +05:30
MohitMaliFtechiz
6cbdf0a2af Changed the criteria for requesting a Google Play Store evaluation.
* 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.
2024-08-05 23:12:25 +05:30
MohitMaliFtechiz
a0331da5d7 Fixed: Unable to render homepage of "Klimawandel".
* 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.
2024-08-01 08:54:23 +05:30
translatewiki.net
c840576813 Localisation updates from https://translatewiki.net. 2024-07-29 12:21:12 +05:30
MohitMaliFtechiz
0c0ddd3657 Added CoreComponentFactory to multidex-instrumentation-config.pro, and proGruard file 2024-07-26 13:08:15 +05:30
MohitMaliFtechiz
e88b426d49 added largeHeap to manifest 2024-07-26 13:07:32 +05:30