3444 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
42ce63e9e7 Refactored the all unit test cases according to compose UI. 2025-04-22 18:35:58 +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
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
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
MohitMaliFtechiz
7f0ffa7cc6 Improved the all text colors of LocalFileTransferScreen to match the XML-based design. 2025-04-19 17:37:47 +02:00
MohitMaliFtechiz
361fbbc0bd Refactored the LocalFileTransferFragment functionality to align with the Compose UI.
* Optimized the UI rendering logic to render only the necessary components, avoiding unnecessary recompositions.
* Utilized dimensions from `ComposeDimens` for better maintainability and consistency.
2025-04-19 17:37:47 +02:00
MohitMaliFtechiz
199f008811 Migrated the LocalFileTransferFragment to Jetpack Compose.
* Created the `LocalFileTransferScreen` composable to match the original XML-based design.
2025-04-19 17:37:47 +02:00
translatewiki.net
d9a60a6f23 Localisation updates from https://translatewiki.net. 2025-04-19 17:37:16 +02:00
MohitMaliFtechiz
d02ef05390 Refactored the NoteFragmentTest test according to compose UI. 2025-04-15 15:15:52 +05:30
MohitMaliFtechiz
bb8a78a620 Refactored the TopLevelDestinationTest test according to compose UI. 2025-04-15 13:44:27 +05:30
MohitMaliFtechiz
7764a6a207 Refactored the GetContentShortcutTest test according to compose UI. 2025-04-15 13:41:00 +05:30
MohitMaliFtechiz
12e17e4d87 Refactored the LibkiwixBookmarkTest test according to compose UI. 2025-04-15 13:03:28 +05:30
MohitMaliFtechiz
af94018285 Added support to hide the keyboard when scrolling the list, replicating the behavior from the XML-based implementation. 2025-04-14 18:39:11 +05:30
MohitMaliFtechiz
acbf1bfec3 Fixed: When selecting page items the changes are not reflecting in UI.
* Improved the clicking on page item.
* Fixed: Page items are not showing updating after deleting.
* Fixed: Switch was not disabling when selecting the page items.
* Added SearchView, navigationIcon, and menuItems to page fragment.
2025-04-14 18:39:11 +05:30
MohitMaliFtechiz
bceebd5de4 Migrated BookmarkFragment, HistoryFragment, and NotesFragment to Jetpack Compose.
* Created a `PageScreen` composable, which serves as the base screen for all these fragments. Each fragment can customize it as needed.
* Introduced a reusable `PageListItem` composable for consistent list item rendering.
* Added an extension function to convert the favicon to a Compose ImageBitmap. If no favicon is available, it falls back to the default ZIM icon, maintaining behavior from the XML-based UI.
2025-04-14 18:39:11 +05:30
jaskaran
852849389e feat: language fragment to jetpack compose
- used minimumInteractiveComponentSize() on the modifier to avoid "Touch target" accessibility issue.
- added compose dimes to previous missed elements.
- added content description for clear icon button in search view.
2025-04-02 15:20:13 +05:30
jaskaran
56e0c1c7b1 feat: language fragment to jetpack compose
- added orders to the test rule to avoid retries error in tests.
- renamed content lambda to "navigationIcon".
- removed redundant "Experimental api" from kiwixSearchView.
- added appropriate text size for kiwixSearchView.
2025-04-02 15:20:13 +05:30
jaskaran
90830da5ca feat: language fragment to jetpack compose
- added orders to the test rule to avoid retries error in tests.
- renamed content lambda to "navigationIcon".
- removed redundant "Experimental api" from kiwixSearchView.
- added appropriate text size for kiwixSearchView.
2025-04-02 15:20:13 +05:30