8628 Commits

Author SHA1 Message Date
Kelson
d71c0ac0f0
Merge pull request #4315 from kiwix/Fixes#4310
Refactored `RxJava` to `coroutines` in `ZimFileReader`.
2025-05-13 13:34:27 +02:00
MohitMaliFtechiz
d62800b7b1 Refactored RxJava to coroutines in ZimFileReader.
* Migrated ZIM content loading logic from RxJava to Kotlin coroutines.
* The previous implementation used `RxJava` to stream content on the IO thread, but it was not lifecycle-aware. This caused the task to continue running even when the WebView navigated away or stopped rendering.
* Updated the implementation to use coroutines, ensuring that the task is lifecycle-aware and automatically cancels when the page changes or the user navigates away.
* This improves resource efficiency and prevents unnecessary background work during page transitions.
2025-05-13 13:34:10 +02:00
Kelson
b2a65323b7
Merge pull request #4314 from kiwix/Fixes#4304
Refactored the code to use coroutines instead of rxJava for saving/retrieving the bookmarks from libkiwix.
2025-05-13 11:27:03 +02:00
MohitMaliFtechiz
3e92cda80f Refactored the code to use coroutines instead of rxJava for saving/retrieving the bookmarks from libkiwix.
* Refactored the all unit and UI test cases according to it.
2025-05-13 12:34:29 +05:30
Kelson
d6ef855795
Merge pull request #4311 from kiwix/Fixes#4309
Refactored the `RxJava` to coroutines in retrieving the webView history.
2025-05-12 20:09:36 +02:00
MohitMaliFtechiz
2f06598006 Refactored the RxJava to coroutines in saving/retrieving the webView history.
* Refactored the code to use the coroutine flow instead of `RxJava` flowable.
2025-05-12 12:41:20 +05:30
Kelson
2f7cdef02d
Merge pull request #4289 from kiwix/translatewiki
Localisation updates from https://translatewiki.net.
2025-05-10 08:22:10 +02:00
translatewiki.net
10aac7acae Localisation updates from https://translatewiki.net. 2025-05-10 08:21:56 +02:00
Kelson
716788de14
Merge pull request #4301 from kiwix/Fixes#2505
Refactored `RxJava` to `coroutines` in FileSearching.
2025-05-10 08:20:58 +02:00
MohitMaliFtechiz
4af14d8c98 Introduced the turbine library for efficiently testing the coroutine flows.
* Removed the `TestObserver` since it was sometimes stucks on the execution.
* Refactored the test cases according to turbine library.
2025-05-09 21:39:47 +05:30
MohitMaliFtechiz
2f9439391a Fixed: the unit test cases which were failing on CI. 2025-05-09 18:41:21 +05:30
MohitMaliFtechiz
bfb209acd5 Improved the scanning of ZIM files from storage.
* Improved the `TestObserver` to properly to receive the test values.
2025-05-09 16:12:30 +05:30
MohitMaliFtechiz
bbae4dbd64 Fixed: CustomFileValidatorTest which was failing on the CI.
* Improved the detecting of files from media directory.
* Fixed: `CustomDownloadViewModelTest` which was failing on CI.
2025-05-09 13:31:51 +05:30
MohitMaliFtechiz
a6ed6ccc1d Created the TestObserver class for efficiently testing the coroutine flows.
* Fixed: FileSearchTest.
* Fixed: `SearchViewModelTest`.
* Fixed: `ZimManageViewModelTest`.
* Fixed: `StorageObserverTest`.
* Fixed: `FileSearchTest`.
* Fixed: `CustomDownloadViewModelTest`.
* Fixed: ZimFile was not opening when downloading via fallback system for custom app.
* Fixed: `CustomDownloadViewModelTest`.
2025-05-08 18:53:31 +05:30
MohitMaliFtechiz
5ee1fcdd2b Fixed all compilation errors in the project.
* Refactored `StartMultiSelection` to use coroutines instead of RxJava.
* Refactored `fileSelectActions` to use coroutines instead of RxJava.
* Refactored the `updateBookItems` to use coroutines instead of `rxJava`.
* Refactored `LocalLibraryFragment` to use coroutine flows instead of RxJava code.
* Improved the test code to validate coroutine flows.
* Refactored the `NewRecentSearchDaoTest` according to new flow test code.
* Refactored the `StorageObserverTest`.
* Refactored the `SearchViewModelTest`.
* Refactored the `FileSearchTest`.
2025-05-08 08:56:01 +05:30
MohitMaliFtechiz
8769d83e92 Refactored RxJava to coroutines in FileSearching 2025-05-08 08:56:01 +05:30
Kelson
cb52d2d80a
Merge pull request #4300 from kiwix/Fixes#4299
Migrated the `copy_move_progress_bar` to Jetpack Compose.
2025-05-06 17:07:19 +02:00
MohitMaliFtechiz
c9b94f50a8 Migrated the copy_move_progress_bar to Jetpack Compose.
* Improved `AlertDialogShower` to support bottom padding for customView, allowing design customization from the caller side.
* Removed unused code from the project.
* Refactored the UI, and unit test cases.
2025-05-06 16:41:16 +05:30
Kelson
99bcb5e836
Merge pull request #4297 from kiwix/Fixes#4247
Migrated the `OnlineLibraryFragment` to Jetpack Compose.
2025-05-06 03:05:43 +02:00
MohitMaliFtechiz
747e78b1e5 Changed the Snackbar button text from "Storage device selector" to "Change" when there isn't enough storage available on the device for downloading the ZIM file.
* Fixed: The online library download progress bar was not initially visible when the fragment was created.
* Refactored all UI test cases to align with the new Compose UI.
* Created an extension function for composeTestRule to wait for a specified duration until the UI becomes visible. This is similar to BaristaSleepInteractions. Since Compose does not provide a built-in wait mechanism, this custom implementation helps stabilize UI test cases.
2025-05-05 21:55:30 +05:30
MohitMaliFtechiz
90db76bad1 Created a ModifierExtension class to add custom extension functions for Modifier.
* Added `hideKeyboardOnLazyColumnScroll` extension function to hide the keyboard when scrolling a `LazyColumn`.
* Fixed: "Downloading library" message was not centered properly.
* Fixed: Unnecessary top margin appeared when the search view was active.
* Fixed: Search view did not display the entered text.
* Fixed: Search view did not restore the previously searched books when the device woke from sleep.
* Fixed: Search view did not close on back button press, causing previous search results to remain visible.
* Fixed: Various minor UI issues found while testing.
* Removed the unused code from project.
2025-05-04 20:17:58 +05:30
MohitMaliFtechiz
57a2942e21 Refactored the all functionality of OnlineLibraryFragment according to compose UI.
* Created `MutableStateExtensions` for state management.
2025-05-02 20:05:00 +05:30
MohitMaliFtechiz
9976f9249a Migrated the OnlineLibraryFragment to Jetpack Compose.
* Created `OnlineLibraryScreenState` to manage the UI state.
* Enhanced `ContentLoadingProgressBar` to allow setting the width of the circular progress bar from the calling site, enabling more flexible styling based on design requirements.
* Added `DownloadBookItem` composable for displaying download progress.
* Refactored `BookItem` by splitting the code into smaller, reusable composables, as several UI elements are shared across downloading, online, and downloaded books.
* Created OnlineBookItem for displaying online books.
2025-05-01 23:55:54 +05:30
Kelson
3c08501da6
Merge pull request #4296 from kiwix/Fixes#4295
Migrated the `NavigationHistoryDialog` to Jetpack Compose.
2025-04-30 18:20:14 +02:00
MohitMaliFtechiz
e6c6866898 Fixed: testUserCanSeeNotesForDeletedFiles, and testSavedBookmarksShowingOnBookmarkScreen which sometimes fails on API level 35 due to Waited for the root of the view hierarchy to have window focus and not request layout for 10 seconds. 2025-04-30 18:52:59 +05:30
MohitMaliFtechiz
ecd053e8b1 Removed unused PageAdapter. 2025-04-29 18:52:37 +05:30
MohitMaliFtechiz
9de216beec Migrated the NavigationHistoryDialog to Jetpack Compose.
* Created the `NavigationHistoryDialogScreen` using our app theme.
* Refactored the code according to comose UI.
* Refactored the UI test cases according to compose UI.
* Removed the unused code from project.
2025-04-29 18:52:37 +05:30
Kelson
5eabf29ed9
Merge pull request #4294 from kiwix/Fixes#4291
Migrated the `StorageSelectionDialog` to Jetpack Compose,
2025-04-29 14:02:49 +02:00
MohitMaliFtechiz
3eb1a05a6a Removed StorageAdapter. 2025-04-29 14:01:33 +02:00
MohitMaliFtechiz
1aefe8f70c Added missing class. 2025-04-29 14:01:33 +02:00
MohitMaliFtechiz
dba5d81bae Migrated the StorageSelectionDialog to Jetpack Compose,
* Created a reusable `StorageDeviceItem` composable, which will also be used on the settings screen.
* Refactored the code to use the new Compose-based UI.
* Updated the UI test cases to align with the Compose implementation.
* Removed unused code from the project.
2025-04-29 14:01:33 +02:00
Kelson
9cc49dcb02
Merge pull request #4285 from jackq97/#4254-migrate-intro-fragment-to-compose
Feat: Intro screen migration to Jetpack Compose
2025-04-29 13:31:57 +02:00
jaskaran
2e16ca8332 Feat: Migrate intro fragment to compose
- removed un-used import.
2025-04-28 13:40:13 +05:30
MohitMaliFtechiz
7e62aa2c2c Refactored IntroFragmentTest to align with the Compose UI.
* Fixed: `IntroFragmentTest`, `KiwixSettingsFragmentTest`, and `KiwixSplashActivityTest`.
* Resolved memory leaks in `IntroFragment` and `LanguageFragment`.
* Improved the `IntroScreen` code to fix lint errors.
2025-04-28 13:40:13 +05:30
jaskaran
0fbd54b6d1 Feat: Migrate intro fragment to compose
- added colors to colors class for headings text
2025-04-28 13:40:13 +05:30
jaskaran
c832778d06 Feat: Migrate intro fragment to compose
- debug code for tests
2025-04-28 13:40:13 +05:30
jaskaran
89a0a4a902 Feat: Migrate intro fragment to compose
- Removed redundant xml code from fragment
- added support for compose
- migrated intro screen to jetpack compose
2025-04-28 13:40:13 +05:30
Kelson
80c71607b2
Merge pull request #4292 from tepozoa/readme_izzy
Update IzzySoft package URL in README
2025-04-27 13:35:41 +02:00
tepozoa
c9717655cc update IzzySoft package URL 2025-04-25 09:11:23 -05:00
Kelson
7ab60f2330
Merge pull request #4290 from kiwix/Fixes#4269
Migrated `AlertDialogShower` to Jetpack Compose
2025-04-25 14:47:25 +02:00
MohitMaliFtechiz
9c04e2caff Fixed the testOpeningFileWithFilePicker which sometimes failing on Android 15. 2025-04-25 15:03:16 +05:30
MohitMaliFtechiz
119fed88d9 Fixed NoteFragmentTest which was failing on the Android 15 Emulator. 2025-04-25 14:36:00 +05:30
MohitMaliFtechiz
5e47526cae Fixed: The alert dialog was not taking appropriate width for alert dialog.
* Improved the dialog's button styling.
2025-04-24 23:20:02 +05:30
MohitMaliFtechiz
8bc7bcead4 Fixed the NoteFragmentTest, and some other test cases which were previously failing.
* Resolved the remaining accessibility issues.
* Fixed the issue where UnsupportedMimeTypeHandler and RateDialog were not showing.
* Added support for loading adaptive icons (from the mipmap folder) in the IconItem class.
2025-04-24 17:56:28 +05:30
MohitMaliFtechiz
cb05ffceee Refactored the UI test cases according to compose UI.
* Fixed: some accessibility issues reported by the test cases.
* Fixed: The dialog was not showing when a ZIM file was opened via deepLink.
2025-04-23 18:42:04 +05:30
MohitMaliFtechiz
3533187f43 Improved the overall design of alertDialog. 2025-04-22 19:13:30 +05:30
MohitMaliFtechiz
42ce63e9e7 Refactored the all unit test cases according to compose UI. 2025-04-22 18:35:58 +05:30
MohitMaliFtechiz
a63a8c08ab Improved the design of title, message, and buttons of AlertDialog. 2025-04-22 18:11:54 +05:30
MohitMaliFtechiz
a717b64f9e Refactored the all fragments, and classes to use the compose alertDialog. 2025-04-22 16:28:53 +05:30
MohitMaliFtechiz
aed6aa9814 Refactored AddNoteDialog, CoreReaderFragment, LocalFileTransferFragment, and OnlineLibraryFragment to use the Compose-based AlertDialogShower UI. 2025-04-22 13:30:11 +05:30