8665 Commits

Author SHA1 Message Date
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
MohitMaliFtechiz
f7599f9b9d Fixed the icon was not showing properly in alertDialog. 2025-04-22 11:54:26 +05:30
MohitMaliFtechiz
3c729350f0 Improved the uri design in dialog. 2025-04-22 11:36:45 +05:30
MohitMaliFtechiz
15346d65f0 Migrated AlertDialogShower to Jetpack Compose
* Introduced a `DialogHost` to support both Compose and View-based dialog rendering.
* Refactored `AlertDialogShower` to use Jetpack Compose for building dialog UI.
* Updated `ZimHostFragment` to integrate and display Compose-based dialogs.
* Modified `KiwixDialog` to align with the Compose UI structure and support custom Composables.
2025-04-21 20:47:05 +05:30
benoit74
86daeeabd5
Fix funding-manifest-urls content 2025-04-20 17:23:11 +02:00
Kelson
8b499c6332
Merge pull request #4286 from kiwix/Fixes#4245
Migrated the `LocalFileTransferFragment` to Jetpack Compose.
2025-04-19 17:38:36 +02:00
MohitMaliFtechiz
2c562883a8 Fixed: LocalFileTransferRobot test. 2025-04-19 17:37:47 +02:00
MohitMaliFtechiz
50e628a2dd Refactored the LocalFileTransferTest, TopLevelDestinationTest, and GetContentShortcutTest test cases to align with the Compose UI. 2025-04-19 17:37:47 +02:00
MohitMaliFtechiz
33acbecb2d Remove the com.github.deano2390:MaterialShowcaseView library from project since now we have our own showcase view, and this library is only supports the XML based UI. 2025-04-19 17:37:47 +02:00
MohitMaliFtechiz
6e7c9c7d6a Removed the unused code from project to cleanup the code. 2025-04-19 17:37:47 +02:00
MohitMaliFtechiz
2d36f36aed Improved the appearance of KiwixShowCaseView. 2025-04-19 17:37:47 +02:00
MohitMaliFtechiz
8920372198 Fixed: The transferring progress was not showing when transferring the files. 2025-04-19 17:37:47 +02:00
MohitMaliFtechiz
0a1e5f36a1 Refactored KiwixShowCaseView to align with app theme and improve usability.
* Added animated pulse effect to highlight the selected view.
* Introduced support for custom width/height for the showcase circle, useful for large views that might otherwise extend off-screen. Defaults to the view's dimensions if not specified.
* Enhanced ShowCaseMessage to automatically position itself based on available space. It prefers the top, falls back to the bottom if needed, and uses left/right positioning when vertical space is insufficient — ensuring it always stays within screen bounds.
2025-04-19 17:37:47 +02:00
MohitMaliFtechiz
74216e8850 Created the KiwixShowCaseView to educate users about the app's functionalities. The previous library we were using supported a view-based UI, but since we are now using Jetpack Compose, we built our own showcase view. This will be helpful for future tickets where we need to educate users about the app's features. 2025-04-19 17:37:47 +02:00