* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
* 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.
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.
* Upgraded espresso-contrib dependency from 3.3.0 to 3.5.1
* Upgraded espresso-core dependency from 3.5.0 to 3.5.1
* Upgraded espresso-intents dependency from 3.5.0 to 3.5.1
* Upgraded espresso-web dependency from 3.5.0 to 3.5.1
* Upgraded barista dependency from 4.0.0 to 4.3.0
* Upgraded mockk dependency from 1.13.4 to 1.13.5
* Upgraded uiautomator dependency from 2.2.0 to 2.3.0-alpha03
We have updated the release.yml file to use the new PLAYSTORE_JSON secret key instead of the google_json secret key that was previously used to get credentials. As part of this update, we have renamed the google.json file to playstore.json for better naming consistency with the new secret key.