494 Commits

Author SHA1 Message Date
translatewiki.net
f2942d71b9 Localisation updates from https://translatewiki.net. 2025-06-07 20:35:34 +02:00
MohitMaliFtechiz
40edd03396 Fixed: Bookmarks were not showing for newly added books from the OPDS stream.
* Removed books from `library.xml` if they no longer have any associated bookmarks, as keeping them is unnecessary and wastes resources and memory, while also increasing the time needed to load the library from storage.
* Fixed: The downloading online library progress was showing incorrect.
* Refactored the all unit test cases according to the new changes.
2025-06-07 00:02:09 +05:30
MohitMaliFtechiz
7a10528d19 Added the com.squareup.retrofit2:converter-scalars converter to Retrofit to parse OPDS network responses.
* Created `LibkiwixBook` to wrap the `Book` class from `libkiwix`, allowing us to set custom values from the database and manage books received from the `OPDS` stream. This wrapper is necessary because the original Book class does not provide setters. We'll use `LibkiwixBook` throughout the codebase.
* Refactored the codebase to replace `LibraryNetworkEntity.Book` with `LibkiwixBook`.
2025-06-04 22:16:09 +05:30
MohitMaliFtechiz
164e38b113 Refactored the remaining functionality to use Jetpack Compose UI.
* Improved the design of the `Settings` screen to match the previous XML layout.
* Updated the ViewModel to handle user interactions following the MVVM pattern.
* Introduced `SettingScreenState` to manage the state of the settings screen.
* Removed `KiwixPrefsFragment`, `CustomPrefsFragment`, and `CorePrefsFragment` as they are no longer needed.
* Cleaned up unused code from the project.
2025-05-29 19:04:40 +05:30
MohitMaliFtechiz
6cae44821e Refactored RxJava to coroutines in ConnectivityBroadcastReceiver.
* Simplified the `combineToLanguageList` method and removed warnings.
* Refactored `ZimManageViewModelTest` to align with the changes.
* Removed unused `RxJava` code from the project.
* Removed all `RxJava` dependencies from the project.
* Updated the `README` file to reflect that `RxJava` is no longer used.
* Updated `credit.html` accordingly, similar to the `README`.
2025-05-27 17:48:28 +05:30
MohitMaliFtechiz
de807f2a51 Fixed: SearchFragmentTestForCustomApp which sometimes failing on API level 33 and above. 2025-05-27 12:33:51 +05:30
MohitMaliFtechiz
31cc84664c Improved the KiwixSearchView to handle the keyboard onDone button press. Now, when the user presses the Done button on the keyboard, it triggers the search and opens the first matching item, if available.
* Fixed: The `FIND_IN_PAGE` button was appearing when the search was opened from `FromTabView`.
* Fixed: The `FIND_IN_PAGE` button was not displaying properly (only half was visible).
* Improved: The `NavigationIcon` to better support test cases.
* Fixed: `VoiceSearch` was not working when launched from the `SearchWidget`.
* Refactored: `SearchFragmentTest` and `SearchFragmentTestForCustomApp` to align with the Compose UI.
* Removed: Additional unused code from the project.
2025-05-26 22:31:25 +05:30
MohitMaliFtechiz
701fffb758 Refactored RxJava to coroutines in OnlineLibrary 2025-05-20 08:46:39 +05:30
translatewiki.net
10aac7acae Localisation updates from https://translatewiki.net. 2025-05-10 08:21:56 +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
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
translatewiki.net
d9a60a6f23 Localisation updates from https://translatewiki.net. 2025-04-19 17:37:16 +02:00
MohitMaliFtechiz
d70f30b86e Fixed: Notification not showing when downloading ZIM files in custom apps.
* The issue occurred because the notification permission was not granted. On Android 13 and above, notifications won't appear without explicit permission.
* To fix this, we now properly request the notification permission on devices running Android 13 and above.
2025-04-10 18:40:29 +05:30
MohitMaliFtechiz
1d1c3f3f63 Fixed: AAB file was not found when uploading to Play Store for custom apps.
* Since we upgraded Gradle, we switched to using `layout.buildDirectory` instead of `buildDir`, as the latter is now deprecated. The new approach returns a DirectoryProperty object instead of a direct build directory path. This caused our custom apps' CD pipeline to be unable to locate the generated `.aab` file. We have now updated the code to correctly retrieve the directory path from the `DirectoryProperty` object.
2025-04-03 17:15:52 +05:30
MohitMaliFtechiz
05e231579b Fixed: Compilation issues in unit test cases. The issue was in Gradle itself, which was preventing us from merging or excluding duplicate META-INF files.
* Upgraded Gradle to `8.11.0-alpha03` for better support for Android 16.
* Upgraded the Gradle wrapper to `8.13`, the latest version.
* Fixed: Some deprecated methods in the custom app's Gradle. The new methods for registering tasks are better than the previous ones, which is why Gradle deprecated the older methods.
* Refactored the `createDynamically` task for custom apps according to new gradle.
* Fixed: Some lint and detekt issues.
2025-03-31 15:27:31 +05:30
MohitMaliFtechiz
f34d46cc7b Added target, compileSdkVersion versions since now there are sources available for SDK 36. 2025-03-31 12:11:09 +05:30
MohitMaliFtechiz
5d88048976 Upgraded the org.jetbrains.kotlinx:kotlinx-coroutines-rx3 to version 1.10.1.
* Upgraded the `androidx.test:orchestrator` to version `1.5.1`.
* Upgraded the `androidx.constraintlayout:constraintlayout` to version `2.2.0`.
* Fixed the last lint issue.
2025-03-31 12:11:09 +05:30
MohitMaliFtechiz
fbe7712b03 Added support for Android 16. * Upgraded the AGP to which supports Android 16.
* Replaced the  and  with , and  to add support for Android 16.
2025-03-31 12:11:09 +05:30
MohitMaliFtechiz
56b8a16328 Removed unused code from project. 2025-03-25 12:02:46 +05:30
MohitMaliFtechiz
00f79df953 Improved the selection and deselection of ZIM files for deletion.
* Fixed: A memory leak in `HelpFragment` which is showing after migrating the localLibrary fragment to compose.
2025-03-24 19:48:49 +05:30
translatewiki.net
b36e96e2ab
Localisation updates from https://translatewiki.net. 2025-03-06 13:05:53 +01:00
MohitMaliFtechiz
6e804384a9 Fixed: Remaining InjectDispatcher detekt issues. 2025-02-24 17:20:47 +05:30
MohitMaliFtechiz
10446b27b2 Simplified some other conditions which is reported by the detekt. 2025-02-24 16:36:38 +05:30
MohitMaliFtechiz
6721be1764 Upgraded detekt and ktlint libraries to latest version. 2025-02-21 19:05:43 +05:30
translatewiki.net
262e327f20 Localisation updates from https://translatewiki.net. 2025-02-13 14:41:40 +01:00
MohitMaliFtechiz
d974822481 Refactored the deprecated method used in our test cases. 2025-02-13 10:26:37 +01:00
MohitMaliFtechiz
af8ca7f620 Fixed: SearchFragmentTest for custom apps was failing. 2025-02-07 13:50:48 +05:30
MohitMaliFtechiz
83337ac5f1 Fixed: FindInPage functionality not working in Kiwix and custom apps. 2025-02-07 13:37:20 +05:30
MohitMaliFtechiz
67111ef848 Fixed: Searched item was not opening in custom apps. 2025-02-07 13:34:04 +05:30
MohitMaliFtechiz
2fb1896cea Fixed: Restore web view history in Kiwix app.
* Improved restoration of web view history after opening a searched article.
* Refactored `restoreViewStateOnValidJSON` and `restoreViewStateOnInvalidJSON` methods to save and retrieve web view history from the Room database.
* Added detailed comments to methods for better understanding, including guidance for developers to check subclass implementations before making modifications.
* Fixed the `static analysis` errors.
2025-02-07 13:29:01 +05:30
MohitMaliFtechiz
ee50417154 Implemented new approach to save and retrieve the webView history. 2025-02-07 13:28:33 +05:30
translatewiki.net
376c4d694d Localisation updates from https://translatewiki.net. 2025-02-01 12:10:30 +01:00
MohitMaliFtechiz
a9364d5881 Fixed: The SearchFragmentTestForCustomApp was failing sometimes. 2025-02-01 12:07:02 +01:00
MohitMaliFtechiz
5e05fe81d9 Added test cases for custom apps to cover this scenario and prevent future errors.
* Refactored some deprecated methods used in test cases.
2025-02-01 12:07:02 +01:00
MohitMaliFtechiz
1ed02e5ab0 Fixed: FIND_IN_PAGE feature only works with first tab page.
* The previously loaded article was not loading in custom apps when switching to another fragment and then returning to the reader screen. Instead, the home page of the ZIM file was loading. A fix has been implemented to resolve this issue.
2025-02-01 12:07:02 +01:00
MohitMaliFtechiz
08e004a819 Fixed: Application crash while adding application shortcuts.
* Using the `ShortcutManagerCompat` class to add dynamic shortcuts instead of directly using the `ShortcutManager` class, as it provides better handling for adding shortcuts.
* The issue occurred because these shortcuts were defined in the manifest, which treated them as immutable and unable to be updated. We removed them from the manifest and added them as dynamic shortcuts. On some devices (e.g., Honor devices), it takes time to remove these shortcuts from the static shortcut list after the user updates the app, causing them to be treated as immutable and unable to be updated. This led to the crash. To fix this, we updated our shortcut IDs so that when the previous static shortcuts are removed by the OS, it will not affect the creation of the new dynamic shortcuts.
* For previously added dynamic shortcuts on other devices, we implemented a removeOutdatedIdShortcuts() method, which removes the old dynamic shortcuts.
2025-01-19 17:06:09 +01:00
MohitMaliFtechiz
77f67d4c8f Improved the edge to edge mode in landscape mode.
* It was showing the content behind the display cutout in landscape mode.
* Removed the unnecessary code from BaseFragment.
* Enhanced the applying edge to edge mode for lower devices(Before Android 10).
2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
84807a1930 Fixed: ErrorActivity buttons overlapping in navigation buttons. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
82ba9f3299 Fixed: The navigationView and rightDrawerView was overlapping on statusBar. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
ccfc896f02 Enabled EdgeToEdge mode in project to support latest windowInset API. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
08c054586a Upgraded the dagger version to 2.53.1.
* Upgraded the ksp version to `2.0.0-1.0.24`.
* Upgraded the kotlin version to `2.0.0`.
* Upgraded the objectbox version to `4.0.3`.
* Removed the deprecated `runBlockingTest` from test cases which was giving compilation error because it is permanently removed in this version of kotlin.
* Replaced some deprecated methods with new methods that is deprecated in latest version of gradle.
* Fixed some string lint issues.
2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
3ecb55928f Reintroduced the Fetch Library for Downloading ZIM files.
* Removed the DownloadManager from our project.
* Refactored the code, and test cases to use the Fetch library.
2024-12-19 17:04:22 +05:30
MohitMaliFtechiz
ad28e09392 Added fetch library in credits.html, and README.md files. 2024-12-19 11:43:51 +05:30
ArctikCircle
393d645918 #4083 fixed external link popup not showing for external links not for donation 2024-12-12 16:53:41 +05:30