259 Commits

Author SHA1 Message Date
MohitMaliFtechiz
e472d11dc2 Refactored the java.util.Locale constructor, which is deprecated in Android 16. * Created to utilize the methods introduced in this Android version. * Upgraded AGP to , which supports Android 16. * Replaced targetSdkVersion and compileSdkVersion with targetSdkPreview and compileSdkPreview to add support for Android 16. * After upgrading the gradle lint showing some new errors so we have fixed those lint errors that required us to use the KTX extension functions, as they internally utilize the same functions we were using. 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
64db5ad3e5 Removed the unnecessary compose dependencies from project.
* Removed the unnecessary overriding of rows since we are not showing these rows in custom apps.
* Used `KiwixTheme` instead of hardcoded colors.
* Used the `KiwixAppBar` instead of manually created `AppBar`.
* Refined the `HelpScreen` for better readability and maintainability.
2025-03-28 13:02:20 +01:00
MohitMaliFtechiz
6aa0980e4d Fixed: Memory leak in CoreReaderFragment.
* Upgraded the leakCanary to `2.14`.
* Refactored the remaining test cases according to compose UI.
2025-03-24 15:55:38 +05:30
MohitMaliFtechiz
5ea7e86277 Refined the Compose dependencies.
* Refactored the dependencies to be included only in the modules where they are required.
* Removed unnecessary dependencies from the project.
2025-03-07 23:04:07 +01:00
MohitMaliFtechiz
1743d7b231 Added ErrorActivity UI test case for testing the compose UI.
* Removed the unused code from project.
2025-03-07 23:04:07 +01:00
MohitMaliFtechiz
55bcccce8c Migrating the ErrorActivity in jetpack.
* Added the jetpack compose libraries in project.
2025-03-07 23:04:07 +01:00
MohitMaliFtechiz
c5cc0cdd4c Migrated the deprecated detekt rules to new rules.
* Refactored the code according to the new rules of detekt.
2025-03-07 22:57:34 +01:00
MohitMaliFtechiz
6946dceeda Upgraded the kiwix version to 3.14.0. 2025-01-28 09:01:14 +01:00
MohitMaliFtechiz
2746533375 Using java-libkiwix 2.2.4 to fix native crashes happens while getting the getEntryByPath, and getData() methods. 2025-01-28 11:41:21 +05:30
MohitMaliFtechiz
12c0e17197 Changed the website, and Nightly APKs name.
* Before the name was `kiwix-3.13.0.apk` for the release APK(with app id org.kiwix.kiwixmobile app id) we were uploading on the website. But now, we are uploading the standalone APK on the website(with org.kiwix.kiwixmobile.standalone app id) it is a breaking change, and users are not aware of it. So we are changing the APK name so that users can understand this change.
* Renamed the nightly APK since there also we are uploading the standalone APK.
2025-01-19 16:20:53 +01:00
MohitMaliFtechiz
0ec90f06b0 Added logs to check whether the environment variable is set, for debugging purposes.
* Improved the ID of the "Retrieve date from git revision" job.
* Removed unnecessary conditions from the workflow.
2025-01-06 13:17:16 +05:30
MohitMaliFtechiz
ce830093f9 Made the LAST_DATE const so that it can not be changed. 2025-01-04 10:02:29 +05:30
MohitMaliFtechiz
caa45c5f51 Renamed the environment variable to KIWIX_ANDROID_RELEASE_DATE.
* Made `LAST_DATE` and `BASE_VERSION_CODE` constants, as these values are crucial for our app and should not be changed. We have marked them as constants and added comments to ensure they remain unchanged.
2025-01-04 10:01:40 +05:30
MohitMaliFtechiz
29616b1cf7 Fixed: Reproducible Builds.
* To generate the APK for a specific date, set the "RELEASE_DATE" environment variable in the format `YYYY-MM-DD`. The APK will be generated for the specified date. If the variable is not set, the APK will be generated for the current date.
2025-01-04 10:01:32 +05:30
MohitMaliFtechiz
53d773846c Fixed the compilation error after rebasing to the main branch. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
e35135fc91 Removed the excluding of dependency from fetch library as now our project has support for Android 15. 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
db41f1d876 Upgraded the Gradle version to 8.7.2 which is required for Android 15.
* Upgraded the `kotlin_coroutines` dependency to `1.10.1`.
* Upgraded the `espresso` dependency to `3.6.1`.
* Upgraded the `tracing` dependency to `1.2.0`.
* Upgraded the `espresso` dependency to `3.6.1`.
* Upgraded the `material` dependency to `1.12.0`.
* Upgraded the `webkit` dependency to `1.12.1`.
* Upgraded the `room` dependency to `2.6.1`.
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
3423bbf671 Added support for Android 15. 2025-01-03 17:06:48 +01:00
MohitMaliFtechiz
2e63d70e6c Fixed: Downloading starts very slowly on Android 14+.
* Upgraded Fetch to 3.4.1.
* Upgraded Kotlin kotlin-stdlib from JDK7 to JDK8.
* Upgraded Kotlin version to 2.0.0 to support the latest Fetch library.
* Upgraded Dagger to 2.53.1.
* Upgraded ObjectBox to 4.0.3.
* Notification now shows "Pause" and "Resume" buttons instead of "pause" and "resume".
* Fixed: Notification buttons were not working on Android 13 and above.
* Fixed: Downloading was not working in the background. Added a foreground service for Fetch so that downloading will continue in the background.
2024-12-23 18:46:32 +05:30
MohitMaliFtechiz
2ddc395267 Added OkHttpDownloader in Fetch. 2024-12-19 21:49:50 +05:30
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
e3396901c6 Added Fetch library in our project for downloading the ZIM files. 2024-12-19 11:39:55 +05:30
MohitMaliFtechiz
bd2e299548 Upgraded the kiwix version to .3.13.0. 2024-12-18 11:46:29 +01:00
CalebK
9b64e5d815 Fixed failing test cases. 2024-12-10 17:15:47 +01:00
MohitMaliFtechiz
1904b91da0 Upgraded the kiwix version to 3.12.0 2024-11-21 12:23:49 +05:30
MohitMaliFtechiz
33bd3397e3 Fixed: Move canReadFile() method to IO thread.
* Moved the file readability check to the IO thread to prevent ANR.
* Refactored the code to accommodate this change.
2024-10-21 10:55:12 +05:30
MohitMaliFtechiz
0dc7224c2a Upgraded the java-libkiwix to 2.2.3 to start using the libkiwix14. 2024-10-15 09:48:11 +05:30
MohitMaliFtechiz
10837aef76 Refactored our code to properly show the downloading online library progress.
* Added a head request to get the library length and showing the progress on behalf of that length.
* Improved the library loading process: previously, fetching the online library involved making two requests, which not only took more time to get a response from the server but also used twice the bandwidth. To address this, we have refactored our code to ensure that only one request is made at a time.
* Upgraded the retrofit, and interceptor dependencies to latest version.
2024-09-18 15:24:08 +05:30
MohitMaliFtechiz
3ab0dcd8b9 Fixed: AndroidXTracer: java.lang.NoSuchMethodError: No static method forceEnableAppTracing error in UI test cases. 2024-09-13 18:42:37 +05:30
MohitMaliFtechiz
0278fa8a0c Added test cases to the CI for testing the minified version of the application to prevent this type of error from happening in the future. 2024-09-13 16:59:01 +05:30
Emmanuel Engelhart
4b81c65e4a Use java-libkiwix 2.2.2 2024-08-29 15:52:52 +00:00
MohitMaliFtechiz
bcb4a46315 Fixed the JvmMockKGateway error in mock deps.
* Fixed the SearchStateTest test which sometimes failing.
2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
fce89ef2b3 Updated the CI to run on separate emulator for custom app test cases.
* Upgraded the `uiautomator` version to `2.3.0`.
* Upgraded the `appcompat` version to `1.7.0`.
* Upgraded the coroutines version to `1.8.1`.
* Upgraded the `androidx.test:runner` version to `1.6.1`.
* Upgraded the `androidx.test:core` version to `1.6.1`.
* Upgraded the `androidx.test:orchestrator` version to `1.5.0`.
* Upgraded the `io.mockk:mockk` version to `1.13.12`.
* Upgraded the `org.junit.jupiter:junit-jupiter` version to `5.11.0`.
* Upgraded the `org.assertj:assertj-core` version to `3.26.3`.
* Upgraded the `androidx.annotation:annotation` version to `1.6.0`.
* Improved the SearchStateTest.
* Fixed some deprecated code which is deprecated in new dependencies.
2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
8cd58a8136 Improved the tasks according to the new gradle. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
0b4bc66858 Fixed unit coverage test cases.
* Upgraded the jacoco dependency to `0.8.12`.
* Fixed StartSpeechInputTest was failing.
2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
b3dba69249 Upgraded the webView dependency to 1.11.0 to take advantage of new webView fixes/improvements. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
8c522daa07 Upgraded few dependencies. * Upgraded kotlin to to make it compatible with gradle . * Upgraded dagger to to make it compatible with gradle . * Removed from project since it is not maintained from 2020 and new gradle is not compatible with this library, so we have changed the it with binding. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
2a9bbe71b3 Resolve namespace issues for compatibility with Gradle 8.0 and above. * In compliance with the requirement to specify a namespace for each module, we have eliminated package names from manifests and introduced namespace declarations in the Gradle files. * Considering the presence of multiple apps in the custom app, we configured the namespace during the creation of product flavors. * To enhance clarity and understanding, comprehensive comments have been added. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
0f65ebeff9 Enabled BuildConfig file, since it is by default turened off in new gradle 2024-08-16 15:35:10 +00:00
MohitMali
f314e70d0c Upgraded Gradle to 8.1.3 * Added the namespace property in the build.gradle file because, in the newer Gradle version, it is necessary to specify the namespace in the build.gradle file instead of declaring it in the manifest file. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
88a83be01d Updated to Android 14 & refactored some methods inorder to compile with the SDK 14 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
88d828e5ce Removed the fetch library and its code from project.
* Fixed the Downloading for Authentication URL.
2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
a5284afce6 Better naming for for top level function class.
* Using top-level extension function instead of object class function.
2024-07-19 18:56:20 +05:30
MohitMaliFtechiz
e0731197fc Removed the testing date from code. 2024-07-19 18:55:56 +05:30
MohitMaliFtechiz
882784d0ea Fixed: Automatically publish to PlayStore for internal testing team.
* Implemented a method to automatically generate a unique version code by calculating the number of days from the reference date (July 17, 2024) to the current date and adding this value to the base version code (231101) from the last release.
* Added a workflow that automatically generates the bundle and uploads it to internal testing every Monday at 12:00. This workflow will also trigger under the `internal_testing` tag.
* Since we are implementing this, it is necessary to directly release the bundle to internal testing instead of placing it in draft (to eliminate manual steps), so we have refactored our code accordingly.
2024-07-19 18:55:48 +05:30
Kelson
48efdfa8c8
Merge pull request #3874 from shaunburch/feature/Issue#1553-share-url-by-qr
Feature: Share server URL by QR
2024-07-15 15:59:24 +02:00
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