8772 Commits

Author SHA1 Message Date
MohitMaliFtechiz
68470e44a1 Fixed: The LeftDrawer automatically opens when we rotate the screen.
* In Compose, when the screen rotates and the screen width is above `600dp`, the `drawerState` is automatically set to `open`. Because of this, the issue was happening.
* Now we are storing the `drawerState` and updating the `leftDrawerState` based on the previously saved value when the orientation changes.
* Fixed: `LongMethod` lint error.
2025-09-05 15:58:16 +05:30
Kelson
7915e6647d
Merge pull request #4415 from kiwix/Fixes#4349
Removed the full-screen mode from our application.
2025-09-04 18:15:59 +02:00
MohitMaliFtechiz
88b4d694fd Removed the full-screen mode from our application.
* Refactored all the code related to the full-screen mode.
* Removed unused translations from project which used in this feature.
2025-09-04 16:50:12 +05:30
Kelson
a612d91cd7
Merge pull request #4414 from kiwix/Fixes#4409
Fixed: Hotspot list of books appearing empty(when reopening the ZimHostScreen).
2025-09-03 15:59:43 +02:00
MohitMaliFtechiz
206469b2d6 Added testZIMFilesShowingOnZimHostScreen UI test case for testing this scenario so that we can avoid this type of errors in future. 2025-09-03 17:02:54 +05:30
MohitMaliFtechiz
76a70bed09 Fixed: Hotspot list of books appearing empty(when reopening the ZimHostScreen).
* The issue occurred when reopening the `ZimHostScreen`. The presenter was detaching the view of the previous `ZimHostScreen`, but since the presenter is a singleton, it also cleared the reference to the view attached to the new `ZimHostScreen`. As a result, the `ZimHostPresenter` could not post books because the view reference was null.
* Updated `BasePresenter` so that it only detaches the view if it matches the one currently attached, preventing accidental clearing of the new screen’s view.
2025-09-03 15:56:48 +05:30
Kelson
796ff4ccc0
Merge pull request #4413 from kiwix/Fixes#4411
Changed "ip" as "IP" in our string file.
2025-09-03 11:29:52 +02:00
MohitMaliFtechiz
10e92796eb Fixed: "ip" as "IP" in our string file. 2025-09-03 11:29:43 +02:00
Kelson
4673282bf1
Merge pull request #4405 from kiwix/update_readme_file_for_android_studio_version
Updated the `README` file to reflect the compatible version of Android Studio.
2025-09-03 10:28:32 +02:00
MohitMaliFtechiz
f8a339624a Improved the saving of tabs history.
* Fixed: `testPreviouslyLoadedArticleLoadsAgainWhenSwitchingToAnotherScreen` which sometimes failing on API level 33.
2025-09-03 12:00:47 +05:30
MohitMaliFtechiz
1824390703 Merge remote-tracking branch 'origin/update_readme_file_for_android_studio_version' into update_readme_file_for_android_studio_version 2025-09-03 11:10:56 +05:30
MohitMaliFtechiz
06b66ccccd Fixed: DefaultUncaughtExceptionDelegation lint error. 2025-09-02 21:47:03 +02:00
MohitMaliFtechiz
4c067afd4a Updated the README file to reflect the compatible version of Android Studio.
* There is now an official IDE that supports Android 16, so we updated our README file accordingly.
* Updated the Gradle version from `8.11.0-alpha03` to `8.11.1`, which is the stable release for Android 16.
2025-09-02 21:47:03 +02:00
Kelson
ef453cc7bf
Merge pull request #4408 from kiwix/fixed_many_scenario_of_reader_screen
Replaced the `navArgument` with `savedStateHandle` since they are immutable.
2025-09-02 21:46:46 +02:00
MohitMaliFtechiz
941a2e3adb Fixed: OpenSearchItemTest unit test. 2025-09-02 21:34:59 +05:30
MohitMaliFtechiz
40b8222308 Improved the retrieving of savedStateHandle. 2025-09-02 20:38:57 +05:30
MohitMaliFtechiz
8fa15c12bd Refactored the test cases according to savedStateHandle approach. 2025-09-02 19:04:58 +05:30
MohitMaliFtechiz
6f9a481a08 Fixed: testPreviouslyLoadedArticleLoadsAgainWhenSwitchingToAnotherScreen failing in Custom apps on API level 33. 2025-09-02 18:32:24 +05:30
MohitMaliFtechiz
05577a1570 Fixed: DefaultUncaughtExceptionDelegation lint error. 2025-09-02 18:30:11 +05:30
MohitMaliFtechiz
8204b8533b Updated the README file to reflect the compatible version of Android Studio.
* There is now an official IDE that supports Android 16, so we updated our README file accordingly.
* Updated the Gradle version from `8.11.0-alpha03` to `8.11.1`, which is the stable release for Android 16.
2025-09-02 18:30:11 +05:30
MohitMaliFtechiz
00e62eb807 Fixed: testPreviouslyLoadedArticleLoadsAgainWhenSwitchingToAnotherScreen failing in Custom apps.
* The failure was caused by immutable arguments in navBackStackEntry that could not be cleared. To work around this earlier, we replaced the reader fragment with a new one before navigating to another screen so that arguments could be reset. However, this approach had side effects: reopening the same fragment in the background triggered extra computation, since everything in the reader screen renders on the IO thread. As a result, the previously opened page was sometimes only partially rendered, and when the test navigated back, it failed to load correctly.
* To resolve this, we have completely removed the use of navArguments, as they made handling different scenarios more difficult. Instead, we now rely on the savedStateHandle and set arguments directly on the backStackEntry. These can be cleared immediately after use, ensuring they don’t affect other scenarios. This approach not only fixes the failing test but also eliminates redundant fragment rendering, reducing unnecessary work on the IO thread.
2025-09-02 18:29:16 +05:30
Kelson
28964f5a3e
Merge pull request #4397 from kiwix/Fixes#3651
Removed all ObjectBox code from every variant except the Play Store version.
2025-09-02 13:08:04 +02:00
MohitMaliFtechiz
f4247e4f66 Fixed: Jacoco report was not generating after adding the module based approach. 2025-08-29 17:14:48 +02:00
MohitMaliFtechiz
6564e5283e Fixed: Some test cases failing on CI. 2025-08-29 17:14:48 +02:00
MohitMaliFtechiz
107c96e5ff Fixed: LocalLibraryTest which was failing on CI. 2025-08-29 17:14:48 +02:00
MohitMaliFtechiz
101404068e Improved the including of modules in variant. 2025-08-29 17:14:48 +02:00
MohitMaliFtechiz
7e71dc44df Fixed: AAPT error in nightly, and standalone APK.
* Improved the including of modules in variant.
2025-08-29 17:14:48 +02:00
MohitMaliFtechiz
1d175b9437 Refactor migration tests by including MigrationModule to ensure migration runs during tests. 2025-08-29 17:14:48 +02:00
MohitMaliFtechiz
c3559bf641 Fixed: After migrating notes and history, they were not opening in the reader screen when accessed from the bookmarks or notes screens. 2025-08-29 17:14:48 +02:00
MohitMaliFtechiz
71b7083932 Fixed: Dagger was unable to inject sharedPreferenceUtil, kiwixDatabase, etc from core module to migration module.
* Fixed: Circular dependency in app and custom module.
2025-08-29 17:14:48 +02:00
MohitMaliFtechiz
157d572396 Fixed: All compilation errors in dagger.
* Properly included the migration module based on the build variant via dagger.
2025-08-29 17:14:48 +02:00
MohitMaliFtechiz
1d9633c6a4 Removed all ObjectBox code from every variant except the Play Store version. 2025-08-29 17:14:48 +02:00
Kelson
86fa171b50
Merge pull request #4401 from kiwix/Fixes#2574
Added pure white theme for light theme.
2025-08-29 17:09:22 +02:00
MohitMaliFtechiz
f720b6f675 Improved the design of the KiwixAppBar in the pure white theme. Previously, it looked too plain and not like a proper toolbar, so we added a shadow to enhance its appearance and improve the overall design of the application. 2025-08-29 17:01:02 +02:00
MohitMaliFtechiz
aae67533e3 Fixed: testZimFileRendering test due to URL mismatch.
* Improved in full screen mode navigationBar was showing(3 button navigationBar in bottom) on Android 9.
2025-08-29 17:01:02 +02:00
MohitMaliFtechiz
badd101177 Added pure white theme for light theme.
* Refactored the all UI to support pure white theme.
* Enhanced the `EdgeToEdge` mode for pure white theme.
2025-08-29 17:01:02 +02:00
Kelson
c25e98b043
Merge pull request #4403 from kiwix/Fixes#4402
Fixed: `Wikimedar` application crash caused by Input Dispatching Timed Out.
2025-08-29 16:59:48 +02:00
MohitMaliFtechiz
683c35d5ac Fixed: Wikimedar application crash caused by Input Dispatching Timed Out.
* Moved the file-scanning logic to the IO thread, allowing smooth directory scanning or ZIM file preparation from the asset directory while keeping the main thread free.
* Refactored `CustomFileValidatorTest` to align with this change.
* Corrected the ZIM URL in `testZimFileRendering` test.
* Improved the `manageExternalLaunchAndRestoringViewState` for thread safety.
2025-08-29 15:53:00 +05:30
Kelson
b827cfe542
Merge pull request #4396 from kiwix/remove_objectbox_code_from_project
Removed ObjectBox code from the project (except migration-related code).
2025-08-20 16:08:00 +02:00
MohitMaliFtechiz
cfbc880756 Removed the unused code from detekt_baseline. 2025-08-20 16:06:23 +02:00
MohitMaliFtechiz
6ca3e21171 Removed unused ObjectBox code from the project.
* Removed related test cases and refactored some unit tests to use Room and libkiwix-based classes for test operations.
* Refactored `DownloadRoomEntity` to use Room’s converters instead of ObjectBox.
* Did not remove the `ObjectBox` entity classes and dependencies, since both are still required for migration.
2025-08-20 16:06:23 +02:00
Kelson
3f1e3d7b71
Merge pull request #4395 from kiwix/Fixes#4394
Fixed: Online library sometimes automatically loaded more items without user input.
2025-08-20 16:05:58 +02:00
MohitMaliFtechiz
f990e1cffb Fixed: Online library sometimes automatically loaded more items without user input.
* Removed the code that auto-scrolled the list to show the progress bar. Now, users will see the progress bar only when they scroll down to load more items.
* Improved `isLoadingMoreItem` handling to avoid duplicate `loadMore` calls after appending items
2025-08-20 16:05:35 +02:00
Kelson
8462128b70
Merge pull request #4393 from kiwix/Fixes#4392
Fixed: Tabs not restoring in multiple navigation scenarios.
2025-08-20 16:05:13 +02:00
MohitMaliFtechiz
5b68238e96 Added UI test cases for these scenarios to avoid future bugs like these. 2025-08-19 18:42:07 +05:30
MohitMaliFtechiz
2e36a7f788 Fixed: Tabs not restoring in multiple navigation scenarios.
* Fixed: When opening a new ZIM file from the local library and pressing the back button repeatedly, the previously loaded empty ZIM file reappeared in the reader.
* Fixed: Cached book for bookmarks sometimes returned "null" because it wasn’t properly cleared when navigating to other screens.
* Fixed: Tabs were not restoring when navigating to another screen via the bottomAppBar.
* Refactored the "FIND_IN_PAGE" flow — since we can now directly set the result on the previous back stack entry, relaunching the reader screen is no longer required.
* Fixed: Tabs not restoring when returning from left drawer screens.
2025-08-19 17:14:57 +05:30
Kelson
ad3f60133e
Merge pull request #4391 from kiwix/Fixes#4390
Fixed: Opening bookmarks, notes, and history in the reader screen does not work.
2025-08-19 06:15:33 +02:00
MohitMaliFtechiz
48ec6a81c5 Fixed: testBookMarkPageOpenInReader which was failing on API level 25, and 30. 2025-08-19 06:15:10 +02:00
MohitMaliFtechiz
d2ce4a71a1 Added UI test cases for bookmarks and notes to verify that saved items open the exact page in the reader. 2025-08-19 06:15:10 +02:00
MohitMaliFtechiz
629a7f18dc Fixed: Opening bookmarks, notes, and history in the reader screen does not work.
* The issue occurred because the reader screen route was not being created properly, as both modules had different destination classes. We made the openPage method abstract so that each module can provide its own destination with arguments to correctly open pages.
* Improved WebView creation in Compose.
2025-08-19 06:15:10 +02:00