264 Commits

Author SHA1 Message Date
MohitMaliFtechiz
2d96cde064 Catching exceptions if any thrown by this method since we are throwing the error when there are corrupted database error and other type of error while getting the searchResult from libzim.
* Fixed the library version issue.
2024-07-09 22:12:57 +05:30
Emmanuel Engelhart
c969695139
Use java-libkiwix 2.2.1 2024-07-09 09:29:21 +02:00
Shaun Burch
3c8f5a44e9 #1553 Generate & show QR 2024-07-01 22:01:53 -04:00
MohitMaliFtechiz
4e96703b11 Upgrade the kiwix version to 3.11.1 2024-06-27 14:08:04 +02:00
MohitMaliFtechiz
a2ac6429a7 Fixed: A NotSerializableException was attached to the crash logs instead of the actual crash logs when there was an error in the coroutine.
* The serialization issue was fixed in coroutine version `1.7.0`, so we have upgraded the coroutine dependency to `1.7.0` to address this issue.
* In the new version of coroutines, `ConflatedBroadcastChannel` is replaced with `StateFlow`, so we have refactored our code to use `StateFlow`.
* Fixed some detekt issues which occurs after upgrading this dependency.
2024-06-27 14:50:23 +05:30
MohitMaliFtechiz
69a7099bc6 Fixed: Not able to upload 512MB+ custom apps anymore.
* Introduced the splitting zim file with 500MB for custom apps. Since the bundle has a limit for a file to upload it uses the play asset delivery mode, and for new custom apps, playStore does not allow to upload the apk (with apk we can upload more than 1GB file). So to address this issue we have introduced a feature in libzim where we can load the zim files via the fd list.

* We have modified our code to upload the files with 500MB chunks in the asset folder, and later we are accessing these files from the asset folder and creating the archive object with the help of the new libzim feature.
2024-06-13 17:36:15 +05:30
MohitMaliFtechiz
3a3f413c87 Use java-libkiwix 2.2.0 2024-06-07 12:48:06 +05:30
MohitMaliFtechiz
f58559ed17 Upgraded the kiwix version to 3.11.0. 2024-06-07 06:36:29 +02:00
MohitMaliFtechiz
cf58340ee8 Removed the BasePageDao and RoomPageDao.
* We have refactored our code to use PageDao for managing data related to Bookmarks, Notes, and History. With the ability to return Flowable from the Room database, the BasePageDao interface has become unnecessary. Consequently, we have removed BasePageDao and streamlined our code to use PageDao, providing a unified approach for these functionalities. This change reduces code complexity and enhances readability, making the codebase easier to understand and maintain.
2024-06-07 06:35:21 +02:00
MohitMaliFtechiz
4898bacbc5 Fixed history was not showing on the HistoryScreen. 2024-05-31 17:03:47 +05:30
MohitMaliFtechiz
c2446d27c4 Refactored the code for saving the history in room database. 2024-05-30 12:21:56 +05:30
MohitMaliFtechiz
0c26f6192d Added Room dependency. 2024-05-29 14:36:59 +05:30
MohitMaliFtechiz
ff5f9fe162 Added the androidx.test.espresso:espresso-accessibility dependency to test the accessibility issues in our application.
* This testing library only work with `ViewAction` like if we perform any click on any screen then it starts checking the accessibility issues, so we have modify our test cases according to this.
* Suppress a few known accessibility issue e.g. on `LocalFileTransfer` screen we have a `skip` text which we are not using but it is giving the error for that.
* Fixed the `TouchTargetIssue` in ZimHostFragment.
* Added the `contentDescription` to search recyclerView.
2024-05-20 12:05:13 +05:30
MohitMaliFtechiz
72d1ea3340 Introduced the ContentDescription lint check. 2024-05-20 11:59:06 +05:30
MohitMaliFtechiz
34928323d5 Updated minimum SDK version to 25.
* Updated the `README.md` file for this new change.
* Removed the API level 24 from CI and added the API level 25 since now our minimum SDK version is 25.
* Renamed CompatV24 file since we have upgraded the minimum SDK version so this fileName was irrelevant.
2024-05-13 13:03:21 +05:30
MohitMaliFtechiz
94dcebe25a Updated kiwix version to 3.10.1. 2024-05-08 16:59:08 +02:00
Emmanuel Engelhart
11e5bb3ed4
Use java-libkiwix 2.1.1 2024-05-03 22:38:34 +02:00
Emmanuel Engelhart
68dd59432c
Use libkiwix-java 2.1.0 2024-04-22 19:37:29 +02:00
MohitMaliFtechiz
cf6e2849fe Updated kiwix version to 3.10.0. 2024-03-22 03:21:58 +01:00
MohitMaliFtechiz
8828a8b917 Fixed: Lint Issue - Unconditional Logging.
* Re-enabled the `LogConditional` lint check.
* Introduced a `Log` class that exclusively handles logging operations in the debug variant.
* Removed unnecessary `if (BuildConfig.DEBUG)` conditions from the project.
2024-03-11 11:46:17 +05:30
MohitMaliFtechiz
f2e44e02c4 Upgraded many dependencies of our project.
* Upgraded test cases and project dependencies.
* Refactor test cases and project code according to the new changes in dependencies.
2024-03-04 21:18:04 +05:30
MohitMaliFtechiz
23ede348cc Upgraded java-libkiwix to 2.0.0
* A new version of java-libkiwix has been released so we are using the new version of java-libkiwix in our project.
2024-02-06 12:51:24 +05:30
MohitMaliFtechiz
fa031a4fde Fixed: Release versions are lower in the custom apps.
* Changed the date format from `YYDDD0` to `yyDDD0` to accurately calculate the version code for the last day of the year as well.
2024-01-30 12:12:46 +01:00
MohitMaliFtechiz
4796137fad Upgraded webkit version to latest to work with latest chromium dependencies.
* Upgraded the `WebKit` version to the latest (from 1.3.0 to 1.7.0) to leverage improvements and bug fixes. This update is essential to address the issue with the latest `chromium` dependency, as outlined in #3644.
* Additionally, elevated the `androidx.annotation:annotation` dependency from `1.1.0` to `1.2.0` to meet the requirements of the updated WebKit version.
2024-01-02 17:06:52 +05:30
Emmanuel Engelhart
bbc683da88
Bump-up version to 3.9.1 2023-12-25 15:09:18 +01:00
MohitMaliFtechiz
2423b6b683 * Fixed: Made a small improvement to the sidebar entries for "About the app" and "Support app."
* Introduced the 'Support kiwix' option, which is configurable in the navigation for custom apps. If the custom app is set to display the "Support" menu item in navigation, it will be shown; otherwise, it will be hidden from the app.
* Replaced the "kiwix" and "the" prefixes in "Support kiwix" and "About the app" with the app name in the navigation.
2023-12-15 16:44:25 +05:30
MohitMaliFtechiz
4fdbf540e4 Updated kiwix version to 3.9.0. 2023-12-14 15:00:57 +01:00
MohitMaliFtechiz
25eab4e5fb Introduced the 'About the app' option in the navigation for custom apps.
* If the custom app is configured to display the 'About the app' option in navigation, it will be visible. Clicking on it will redirect the user to the configured URL.
2023-12-14 12:44:05 +05:30
MohitMaliFtechiz
caf776a60d Introduced the disable external links option for custom apps.
* We have introduced the option to disable external links for custom apps. If a custom app is configured not to display the external links popup, it will both hide the external links preference from settings and refrain from showing the external link popup when opening external links. Additionally, we have included relevant comments within the methods and code to provide developers with a clear understanding of the reasons behind these changes.
2023-12-14 07:43:25 +01:00
MohitMaliFtechiz
f46f2f324b Introduced the disable title option for custom apps. 2023-12-06 16:00:07 +05:30
MohitMaliFtechiz
9d129d5a95 Updated kiwi version to 3.8.1 2023-12-01 21:03:28 +01:00
MohitMaliFtechiz
52fefe7df7 Moved version-related properties from individual build.gradle files to a common configuration file (Config.kt).
* The `Config.kt` now holds the version information we can directly change the versionCode here and it will automatically replace in both gradle files.
* Removed duplicate version configurations from build.gradle files.
2023-11-21 12:44:37 +05:30
MohitMali
a8b41f5b15 Introduce 'MaterialShowCase' feature to provide user education on the file transfer functionality. 2023-10-21 22:03:56 +02:00
MohitMali
53d4ac1847 Fixed version code not found exception while publishing bundle on play store 2023-10-17 15:13:09 +05:30
MohitMali
71f851821a Fixed, uploadBundle method to properly upload bundle on play console instead of APKs 2023-10-17 14:38:20 +05:30
MohitMali
1b87900695 Fixed zim file not found when we try to retrieve it from Play asset delivery to our application.
* We are now storing the zim file name in buildConfig file which we will use when we try to retrieve it later.
* Improved downloading functionality.
2023-10-17 12:28:42 +05:30
MohitMali
4c951de69e Fixed, Unable to upload APK on play store for new apps.
* We have implemented Play Asset Delivery to include the ZIM file within the Android App Bundle (AAB).
* To achieve this, we've created Gradle tasks to automatically download the ZIM file and place it inside the assets folder.
* In order to utilize this asset file, we've refactored our custom application code.
* We haven't removed the functionality of uploading the APK, as this approach remains static for now. Thus, we are retaining both codebases.
2023-10-17 11:07:45 +05:30
MohitMali
11c5b3caa2 Fixed URLConnection not adding headers to the request.
* In this update, we've replaced the `URLConnection` with the OkHttp library, and now headers are being correctly passed in the request. As a result, the Zim file is successfully downloading.
* To integrate OkHttp into our Gradle project, we've moved the OkHttp dependency to our `buildSrc` folder.
2023-10-14 12:48:02 +02:00
MohitMali
fff9196337 Started using new libkiwix from new maven repo org.kiwix/libkiwix. 2023-09-18 19:13:20 +02:00
MohitMali
f7517a2272 Minimum SDK version changed to 24: The NDK version in kiwix-build has been upgraded (as mentioned in https://github.com/kiwix/kiwix-build/issues/544). However, to make this upgrade compatible, the minimum SDK version had to be updated to 24 since the NDK version is not compatible with Android API levels below 24. The README.md file has been updated to reflect the new minimum Android support version, which is now Android 7, due to the change in the minimum SDK version. Since the project's minimum SDK version is now 24, some conditions related to Android 23 and 24 have become unused. These unused conditions have been removed, and along with that, the drawable-night-23 and drawable-23 launch_screen.xml files, which were no longer in use, have also been removed. 2023-09-18 19:13:20 +02:00
MohitMali
6e0336ebf7 Using newly published 'libkiwix 1.0.0' from maven 2023-09-18 19:13:20 +02:00
MohitMaliFtechiz
e69499fa03 Removed the relinker dependency from the project, since now we are loading the .so files on the libkiwix side. Enabled the loadICUData method, since now it is fixed on the libkiwix side. Search and server is now starting successfully, but need some refactoring, for that see next commit. 2023-09-18 19:13:20 +02:00
MohitMali
161337a818 Start using libkiwix 11.0.0 from maven, loading wrappers .so files for fixing the jni crash which we have missed loading in libkiwix 2023-09-18 19:13:20 +02:00
MohitMaliFtechiz
aa86a88acb Fixed Auth.kt file using some deprecated method 2023-06-28 18:27:50 +02:00
MohitMaliFtechiz
c18c9d7bba Fixes for some Lint options have been deprecated in newer Gradle versions.
We have introduced a new method, configureCommonExtension, in the AllProjectConfigurer.kt file since Lint is only available in CommonExtension. This allows us to configure Lint in one place for every module. Previously, we couldn't directly use Lint in the android-library project, but with this approach, we can now configure Lint for the android-library project as well.
2023-06-27 17:22:59 +02:00
MohitMaliFtechiz
f45816565e Fixed setting android:extractNativeLibs=false in manifest file is deprecated 2023-06-13 13:11:55 +02:00
Gouri Panda
50d0941fc3 Set playstore track from alpha to internal 2023-06-02 13:13:27 +02:00
MohitMaliFtechiz
2e4bb76cec Fixes of Better communication about min/max SDK/Android version supported 2023-06-01 16:56:52 +02:00
MohitMaliFtechiz
41ea7376c5 Replace deprecated exclude method with resources.excludes 2023-05-25 18:13:19 +03:00
MohitMaliFtechiz
093384d00f Upload apk on play store instead of uploading the app bundle 2023-05-25 17:18:18 +05:30