8229 Commits

Author SHA1 Message Date
Kelson
6933feb9e1
Merge pull request #4179 from kiwix/Fixes#3531
Added a third intro screen to inform users about changing the storage location for downloading ZIM files.
2025-01-18 12:02:17 +01:00
MohitMaliFtechiz
8195194f48 Refactored the IntroFragmentTest to test this new screen. 2025-01-18 15:05:03 +05:30
MohitMaliFtechiz
75b63c069c Added a third intro screen to inform users about changing the storage location for downloading ZIM files. 2025-01-18 14:49:10 +05:30
Kelson
c069a129e8
Merge pull request #4177 from kiwix/improvement_in_showing_download_notification
Improved handling of completed and canceled download notifications(When app is in background or closed).
2025-01-18 08:15:45 +01:00
MohitMaliFtechiz
eb0f247ff0 Improved handling of completed and canceled download notifications.
* Fixed an issue where the notification for a completed download would disappear when the same notification ID was used for the foreground service.
* Enhanced the cancellation logic to immediately remove the ongoing download notification when the user cancels a download and no other downloads are active. This resolves the delay (2-3 seconds) that occurred when the notification was set as the foreground notification.
* Added the necessary comments in methods to understand this fix.
2025-01-16 18:08:27 +05:30
Kelson
bff8a97055
Merge pull request #4176 from kiwix/Fixes#4175
Fixed: The ZIM file was displayed on the library screen but failed to open (the ZIM file was located in the SD card's trash folder).
2025-01-16 10:10:58 +01:00
MohitMaliFtechiz
8ded3d350a Fixed: Failing unit test case.
* Added a new unit test to verify that books located in the trash folder do not appear on the library screen.
2025-01-16 11:41:06 +05:30
MohitMaliFtechiz
6c1b82da3d Fixed: The ZIM file was displayed on the library screen but failed to open (the ZIM file was located in the SD card's trash folder).
* Improved the scanning process for ZIM files to reduce scan time by excluding hidden folders, which are unnecessary and caused delays in scanning.
* Updated MediaStore to exclude ZIM files located in the SD card's trash folder, addressing the issue.
* Refactored the NewBookDao to remove any ZIM files from the library screen if they are located in the trash folder.
2025-01-15 20:46:23 +05:30
Kelson
283d845a6d
Merge pull request #4144 from kiwix/translatewiki
Localisation updates from https://translatewiki.net.
2025-01-07 07:45:25 +01:00
MohitMaliFtechiz
16ea590c8c Updated the documentation for pref_free_storage. 2025-01-07 11:36:02 +05:30
translatewiki.net
6e09c1a353 Localisation updates from https://translatewiki.net. 2025-01-07 11:35:15 +05:30
Kelson
1e5bc58f15
Merge pull request #4164 from kiwix/Fixes#4163
Fixed: Application crash caused by "Input dispatching timed out" while retrieving storageDeviceList information in the online library.
2025-01-06 20:38:00 +01:00
MohitMaliFtechiz
7f6f0d4347 Fixed: Application crash caused by "Input dispatching timed out" while retrieving storageDeviceList information in the online library.
* Moved the storage device retrieval to the IO thread.
* Updated the StorageDeviceUtils.getWritableStorage method to a suspend function to ensure execution on the IO thread.
* Refactored CopyMoveFileHandler, OnlineLibraryFragment, KiwixPrefsFragment, and LocalLibraryFragment to adapt to this change.
* Optimized storage device retrieval by caching it in the main activity and reusing it across fragments to enhance performance, especially with large SD cards.
* Refactored the CopyMoveFileHandlerTest.
* Improved the showing of storage device list.
2025-01-06 21:39:34 +05:30
Kelson
3c4614e3d7
Merge pull request #4156 from kiwix/Fixes#4120
Added functionality to generate APK for a specified date.
2025-01-06 13:26:19 +01:00
MohitMaliFtechiz
0ec90f06b0 Added logs to check whether the environment variable is set, for debugging purposes.
* Improved the ID of the "Retrieve date from git revision" job.
* Removed unnecessary conditions from the workflow.
2025-01-06 13:17:16 +05:30
MohitMaliFtechiz
befd7d389a The testing_release job is skipped, if the application is being uploaded with the same version as the previously uploaded one, and Play Store gives the error for same version code. This prevents the CD pipeline from failing due to this error, while for all other errors, the workflow will fail as expected. 2025-01-04 16:24:47 +05:30
MohitMaliFtechiz
66f3d4d7cd Refactored all CD pipelines to generate APKs and app bundles based on the relevant git revision.
* The date is extracted from the specified git revision and set in the `KIWIX_ANDROID_RELEASE_DATE` environment variable, and the version code is generated for that date.
* This feature has been added to the Release section in the README file.
2025-01-04 12:24:26 +05:30
MohitMaliFtechiz
ce830093f9 Made the LAST_DATE const so that it can not be changed. 2025-01-04 10:02:29 +05:30
MohitMaliFtechiz
40285a7cfd Documented this new feature in the README.md file so that this feature can be easily used. 2025-01-04 10:02:19 +05:30
MohitMaliFtechiz
a371ae6d67 We refactored our dummy_bundle.yml workflow to generate the dummy bundle and APKs based on a specified date, using a new tag format dummy_bundle_and_apk_v*, where * is replaced by the date in YYYY_MM_DD. This date is extracted and set as an environment variable to generate the app bundle and APK for that date, defaulting to the current date if no date is provided.
* Now, our `dummy_bundle.yml` will generate both the app bundle and APKs, so if we need the APK for a specified date, we can easily retrieve it.
* Added comments in both workflows to understand the flow of the workflows.
2025-01-04 10:02:05 +05:30
MohitMaliFtechiz
ae7988f112 Refactored testing_release CD workflow to generate and publish the application on the Play Store based on a specified date, using a new tag format internal_testing_v* where * is replaced by the date, which is extracted and set as an environment variable to generate the app bundle for that date, defaulting to the current date if no date is provided, and uploading the generated app bundle to the Play Store. 2025-01-04 10:01:55 +05:30
MohitMaliFtechiz
caa45c5f51 Renamed the environment variable to KIWIX_ANDROID_RELEASE_DATE.
* Made `LAST_DATE` and `BASE_VERSION_CODE` constants, as these values are crucial for our app and should not be changed. We have marked them as constants and added comments to ensure they remain unchanged.
2025-01-04 10:01:40 +05:30
MohitMaliFtechiz
29616b1cf7 Fixed: Reproducible Builds.
* To generate the APK for a specific date, set the "RELEASE_DATE" environment variable in the format `YYYY-MM-DD`. The APK will be generated for the specified date. If the variable is not set, the APK will be generated for the current date.
2025-01-04 10:01:32 +05:30
Kelson
359a1fc4bc
Merge pull request #4147 from kiwix/Fixes#3990
Added support for Android 15.
2025-01-03 17:07:24 +01:00
MohitMaliFtechiz
cd6d5e2604 Re-enabled the all emulators in CI. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
93f4a51013 Fixed the testOpeningFromFileManager was failing on Android 15. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
dfabe27a91 Added Android 15 emulator in CI to run the test cases on Android 15 device. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
60d1ee26c6 Fixed: PageViewModelTest which was failing. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
3b24308c92 Fixed: ZimManageViewModelTest, NewRecentSearchDaoTest, and SearchViewModelTest, etc, which were failing. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
77f67d4c8f Improved the edge to edge mode in landscape mode.
* It was showing the content behind the display cutout in landscape mode.
* Removed the unnecessary code from BaseFragment.
* Enhanced the applying edge to edge mode for lower devices(Before Android 10).
2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
e555e628bd Fixed: CoreReaderFragment's bottomBar going to up when closing the fullScreenMode in Android 8 and below. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
6d983bd6b1 Fixed: The transparent color showing in the statusBar on Android 15 and above devices.
* Added proper comments on methods why we are doing this.
2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
e6bdc0af0e Added backward compatibility for edgeToEdge mode to support all android versions.
* Removed the deprecated `FLAG_FULLSCREEN` from our project.
2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
d94ca866df Improved the full screen mode since the systemBars were visible in fullScreen mode. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
0c15a406f0 Fixed: All the screen which are overlapping with systemBars. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
84807a1930 Fixed: ErrorActivity buttons overlapping in navigation buttons. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
82ba9f3299 Fixed: The navigationView and rightDrawerView was overlapping on statusBar. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
53d773846c Fixed the compilation error after rebasing to the main branch. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
e35135fc91 Removed the excluding of dependency from fetch library as now our project has support for Android 15. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
4157903682 Fixed: The recyclerview content was going in the statusBar. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
ccfc896f02 Enabled EdgeToEdge mode in project to support latest windowInset API. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
db41f1d876 Upgraded the Gradle version to 8.7.2 which is required for Android 15.
* Upgraded the `kotlin_coroutines` dependency to `1.10.1`.
* Upgraded the `espresso` dependency to `3.6.1`.
* Upgraded the `tracing` dependency to `1.2.0`.
* Upgraded the `espresso` dependency to `3.6.1`.
* Upgraded the `material` dependency to `1.12.0`.
* Upgraded the `webkit` dependency to `1.12.1`.
* Upgraded the `room` dependency to `2.6.1`.
2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
811d74d155 Reverted the remaining automated changes in project.xml file. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
4d8e168255 Reverted the automated changes in project.xml file. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
08c054586a Upgraded the dagger version to 2.53.1.
* Upgraded the ksp version to `2.0.0-1.0.24`.
* Upgraded the kotlin version to `2.0.0`.
* Upgraded the objectbox version to `4.0.3`.
* Removed the deprecated `runBlockingTest` from test cases which was giving compilation error because it is permanently removed in this version of kotlin.
* Replaced some deprecated methods with new methods that is deprecated in latest version of gradle.
* Fixed some string lint issues.
2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
3423bbf671 Added support for Android 15. 2025-01-03 17:06:48 +01:00
Kelson
061249ad5f
Merge pull request #4158 from kiwix/Fixes#4157
Fixed: `Item.getSize` sometimes throwing exception and application crashses.
2025-01-03 14:08:02 +01:00
MohitMaliFtechiz
98f29b7757 Little improvement in comment of the extension function. 2025-01-03 18:29:46 +05:30
MohitMaliFtechiz
6e5d487d38 Fixed: A crash reported by Play Store for the org.kiwix.libzim.Item.getSize method.
* Created an extension function to safely retrieve the item's size and handle any potential errors within this function. This method was used in three places, and since we are already handling cases where this method returns null, the existing functionality remains unaffected.
2025-01-03 18:17:05 +05:30
Kelson
eddb78c355
Merge pull request #4057 from kiwix/disable_dependencies_block
Disabled the dependencies metadata from Singed APK for kiwix app.
2025-01-01 14:42:14 +01:00