8698 Commits

Author SHA1 Message Date
Kelson
e7d9f3c809
Merge pull request #4372 from kiwix/Fixes#4371
Migrated the `CustomDownloadFragment` to Jetpack Compose.
2025-08-08 09:46:14 +02:00
MohitMaliFtechiz
a9becb3803 Migrated the CustomDownloadFragment to jetpack compose.
* Refactored the code to use Jetpack Compose UI.
* Removed unused code from the project.
* Fixed: When there is no ZIM file available and navigating to `CustomDownloadFragment` application sometimes crashes.
* Fixed: "Open Library" button was shown even when no readable ZIM file was available.
2025-08-08 09:45:42 +02:00
Kelson
f2a875dc92
Merge pull request #4354 from kiwix/Fixes#4326
Migrated `KiwixMainActivity` and `CustomMainActivity` to Jetpack Compose.
2025-08-08 09:45:15 +02:00
MohitMaliFtechiz
3226709d77 Improved the NoteFragmentTest. 2025-08-07 17:53:01 +05:30
MohitMaliFtechiz
2ff002143c Added retry mechanism for flaky unit tests to improve test reliability. 2025-08-07 16:24:30 +05:30
MohitMaliFtechiz
dccecd8d50 Fixed: ZimManageViewModelTest which sometimes failing on CI. 2025-08-07 15:09:22 +05:30
MohitMaliFtechiz
9e7ccc8e16 Fixed: The books deletes entities whose file does not exist and Save uses active language unit test cases, which were occasionally failing on CI. 2025-08-07 02:13:27 +05:30
MohitMaliFtechiz
b12b654c6a Improved the updating bookmark list when saving/removing the bookmarks. 2025-08-07 00:01:06 +05:30
MohitMaliFtechiz
4f1a442854 Improved the NavigationHistoryTest, DeepLinksTest, NoteFragmentTest, and ZimFileReaderWithSplittedZimFileTest test cases. 2025-08-06 23:03:44 +05:30
MohitMaliFtechiz
8b446a5200 Refactored the OpenSearchItemTest unit test.
* Fixed: ZimHostFragmentTest UI test.
2025-08-06 17:37:30 +05:30
MohitMaliFtechiz
7b03c5da3e Fixed: DarkModeViewPainterTest which was failing on CI. 2025-08-06 16:40:43 +05:30
MohitMaliFtechiz
0dc94eaeaf Fixed: NavigationHistoryTest, CopyMoveFileHandlerTest, and LibkiwixBookmarkTest which were failing on CI. 2025-08-06 14:52:40 +05:30
MohitMaliFtechiz
19006f30b7 Refactored the bottomNavigation to properly show the current selected page.
* Fixed: `JNI DETECTED ERROR IN APPLICATION` when opening the ZIM file in lower devices.
2025-08-06 00:56:47 +05:30
MohitMaliFtechiz
03cd131b9b Fixed: The OpenFilesFromStorageTest. 2025-08-05 22:07:27 +05:30
MohitMaliFtechiz
f561e5247a Fixed: When opening the ZIM file from storage application crashing.
* Fixed: `DeepLinksTest`, `LibkiwixBookmarkTest`.
2025-08-05 17:31:12 +05:30
MohitMaliFtechiz
a7120603f9 Fixed: ZimFileReaderWithSplittedZimFileTest, SearchFragmentTest, KiwixSplashActivityTest, and KiwixSettingsFragmentTest. 2025-08-05 00:54:05 +05:30
MohitMaliFtechiz
35ae3733e7 Fixed: App was crashing when opening a ZIM file from storage if the application was not already running in the background.
* Fixed: TopLevelDestinationTest, GetContentShortcutTest, and NoteFragmentTest.
* Fixed: NavigationHistoryTest and KiwixReaderFragmentTest.
2025-08-05 00:22:33 +05:30
MohitMaliFtechiz
21debceb82 Fixed: CodeFactor issues.
* Fixed: The `DownloadTest`.
* Fixed: The `uiDevice.pressBack` was not working with compose UI so we have replaced it with `Espresso.pressBack`.
* Fixed: NoteFragmentTest.
2025-08-02 01:00:28 +05:30
MohitMaliFtechiz
8112632c80 Fixed: Pressing the back button no longer reopens the Search fragment when you’re on the Reader fragment and navigated there from Search (which was happening before).
* Fixed: Pressing the back button now correctly closes the left drawer when it’s open on the Local Library or Online fragments.
* Introduced: A common mechanism to support back press handling across all fragments and the activity, and added support for "Periodic back navigation".
2025-08-01 17:54:39 +05:30
MohitMaliFtechiz
51bd9e7908 Fixed: NavController adding multiple instances of the same fragment in backStack with causing issues when navigating.
* Refactored the `DarkModeViewPainterTest` with compose UI.
* Refactored the `CopyMoveFileHandlerTest` according to compose UI.
* Refactored the test cases to get the fragments in test cases according to compose based navigation.
* Refactored the `SearchFragmentTestForCustomApp` test case.
2025-08-01 00:57:03 +05:30
MohitMaliFtechiz
08880afa17 Fixed: Many UI test cases to work with the new Compose-based UI in MainActivity.
* Removed `kiwix_nav_graph` and `custom_nav_graph`, and refactored the remaining code that depended on them.
* Refactored `HotspotNotificationManager` to use the Compose-based navigation graph instead of the XML one.
2025-07-31 00:44:50 +05:30
MohitMaliFtechiz
23e1dcdbdc Refactored the UI test cases according to compose based navigation. 2025-07-30 15:10:11 +05:30
MohitMaliFtechiz
4d97eeebc8 Fixed: The system bar was not correctly showing the icons.
* Fixed: When scrolling, the BottomAppBar was appearing behind the navigation buttons.
* Fixed: The hint in the table of contents was not showing on first-time app install.
* Fixed: Pressing the back button was immediately exiting the app when the table of contents drawer was open.
* Created the `CustomNavGraph` for custom app navigation and refactored related code.
* Refactored the logic to dynamically disable the left drawer when a custom app is configured not to show it.
* Simplified the code for enabling/disabling the sidebar.
* Resolved all lint and Detekt errors.
2025-07-30 13:45:35 +05:30
MohitMaliFtechiz
8afaa8be52 Fixed: Clicking on a table of content item wasn’t scrolling the WebView to the selected section because the Compose ScrollState caused recomposition back to the previous scroll position — now replaced with a custom approach to smoothly scroll to the target section. * Fixed: The whole screen was scrolling when scrolling the table of contents.
* Fixed: App was crashing and not opening the intro screen on fresh install.
* Fixed: Design and appearance of the table of contents in dark mode.
2025-07-30 13:45:35 +05:30
MohitMaliFtechiz
f041ee9cf0 Added a Table of Contents drawer to the reader screen and refactored all related code. * Fixed: BottomAppBar was not showing when hiding the tab switcher (tabs view).
* Removed some unused code from the project.
* Fixed: Some lint, and detekt issues in kiwix app.
2025-07-30 13:45:35 +05:30
MohitMaliFtechiz
078ecb48cf Fixed: BottomAppBar was not scrolling when scrolling the WebView content on reader screen. * Fixed: Opening searched items was not working.
* Fixed: Flickering of the toolbar and BottomAppBar on the reader screen when scrolling the WebView slowly.
* Removed some unused code.
2025-07-30 13:45:35 +05:30
MohitMaliFtechiz
16c5cc78ee Fixed: WebView scrolling is lagging with compose UI. * Fixed: the bottomAppBar is not showing when closing the tabs. 2025-07-30 13:45:35 +05:30
MohitMaliFtechiz
877c4a7166 Introduced route-based navigation to pass arguments to fragments. * Removed some unused files. * Fixed: all library controls for navigation (e.g., sharing files, navigating to downloads, etc.).
* Fixed: Open library button not working.
* Fixed: opening ZIM file from storage (using the plus button) had too much bottom margin after migrating MainActivity to Compose.
* Added support for automatically hiding and showing the BottomAppBar while scrolling, using the Compose approach.
* Many other improvements in UI and logics.
* Show or hide the BottomAppBar when full screen mode is enabled/disabled or when tabs are visible.
* Disable the left drawer when opening full screen mode, tabs, etc.
2025-07-30 13:45:35 +05:30
MohitMaliFtechiz
edae60fa52 Added support to reflect locale changes: when the application language changes, all UI now updates automatically to the selected language in a Compose-friendly way. Introduced a Compose-based approach to enable or disable the left drawer, simplifying drawer state management. 2025-07-30 13:45:35 +05:30
MohitMaliFtechiz
a3d6ea49f9 Changed navigation to a Compose-based architecture using named routes instead of fragment IDs, and refactored all related code for both Kiwix and custom apps. 2025-07-30 13:45:35 +05:30
MohitMaliFtechiz
86d9b1266f Refactored left drawer to support Kiwix and custom apps dynamically; improved right drawer UI. 2025-07-30 13:45:35 +05:30
MohitMaliFtechiz
4e56c2c781 Created the KiwixNavGraph for Compose-based navigation. 2025-07-30 13:45:35 +05:30
MohitMaliFtechiz
095317e102 Migrated KiwixMainActivity and CustomMainActivity to Jetpack Compose. 2025-07-30 13:45:35 +05:30
Kelson
9853e0abd7
Merge pull request #4342 from kiwix/translatewiki
Localisation updates from https://translatewiki.net.
2025-07-28 19:06:24 +00:00
translatewiki.net
ba3e0648cb
Localisation updates from https://translatewiki.net. 2025-07-28 14:06:58 +02:00
Kelson
453ddb4adf
Merge pull request #4340 from kiwix/Fixes#2689
Fixed: Library language list is now retrieved dynamically from `libkiwix`.
2025-07-11 22:38:56 +02:00
MohitMaliFtechiz
a36447f968 Fixed: LanguageViewModelTest which was failing on CI but passing locally. 2025-07-11 19:15:15 +05:30
MohitMaliFtechiz
badddc8aab Refactored the remaining test cases of ZimManageViewModel to follow the new approach. Additionally, added new unit test cases to cover new functionalities such as pagination, fetching new content when changing language, searching, etc.
* Improved some unit test cases that sometimes failed on CI due to coroutine IO threading issues.
2025-07-11 04:23:08 +05:30
MohitMaliFtechiz
136052e0bb Refactored the ZimManageViewModelTest according to according to OPDS catalog fetching. 2025-07-10 00:48:31 +05:30
MohitMaliFtechiz
95dddd470a Refactored the LanguageFragmentTest UI test to properly verify that the language filter is applied correctly and that content is fetched for the selected language.
* Fixed: some lint warnings.
2025-07-09 23:40:29 +05:30
MohitMaliFtechiz
60aeaaa67d Refactored the LanguageViewModelTest unit test and added new test cases for testing the new scenarios.
* Removed the `DefaultLanguageProvider` since now it is unused according to this new approach.
* Refactored the `SaveLanguagesAndFinishTest` unit test according to this new approach.
2025-07-09 22:45:52 +05:30
MohitMaliFtechiz
d4cbaea0bb Improved the DownloadTest according to this new change. 2025-07-09 15:13:40 +05:30
MohitMaliFtechiz
2faf1b68ac Fixed: compilation error in UI test cases.
* Fixed: language filter was not applying after selecting the "All language".
2025-07-09 14:51:27 +05:30
MohitMaliFtechiz
c8b17b08e3 Fixed: Library items was not showing when applying the language filter.
* Improved the UI to show the selected language on `OnlineLibrary` screen to inform users which language they have selected for fetching the ZIM files.
* Refactored the code to apply the search filter same like kiwix server.
2025-07-08 00:47:46 +05:30
MohitMaliFtechiz
56cfa25d9f Fixed: remaining lint issues. 2025-07-07 16:13:14 +05:30
MohitMaliFtechiz
28523ca277 Improved the caching mechanism for the language list.
* Improved the language list UI according to new approach.
* Fixed: codeFactor and lint issues.
2025-07-07 16:10:53 +05:30
MohitMaliFtechiz
9d3db72aaa Refactored the UI of LanguageFragment to select single language so that language filter can apply on the online library same like kiwix server. 2025-07-05 18:24:54 +05:30
MohitMaliFtechiz
014ef2bcef Refactored the LanguageViewModel to fetch the language list from an online source. 2025-07-05 00:01:10 +05:30
MohitMaliFtechiz
8b02f96c1c Refactored the ZimManageViewModel to fetch the library reactively from the network and laid the groundwork for applying filters in network requests. 2025-07-04 00:47:20 +05:30
MohitMaliFtechiz
d9a10b30a6 Refactored the code to fetch the online library from OPDS same like Kiwix server, it first fetches the 50 items from the OPDS catelog, and load more when needed. 2025-07-03 00:40:57 +05:30