* Fixed the fullScreen mode not properly working on Android 11 and above(It was showing the blue line on the top), and also not showing the navigation options so that the user can close the `fullScreenMode` while pressing the back button in the navigation. Now it started showing the `fullScreenMode` like in earlier version of kiwix.
* Also improved the `fullScreenMode` for lower versions of Android. We have created an extension function so that we can easily reuse the code when we open/close the `fullScreenMode` for a video.
* Fixed the BottomToolbar's options was showing when the application is in the background in `fullScreenMode` and the user opens again the application.
* When the application is running in the `fullScreenmode` and we close the `fullScreenMode` of a video so at that time BottomToolbar's option was showing. So we have fixed that.
* 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.
* Also, improved our `DownloadTest`, because after changing the language of the application online content will change according to the new language so now we are using a generic approach for downloading the zim file.
* It was due to we were using the hardcoded string for checking the pause state of downloading so pausing and resuming are working fine in the English version and do not work in other languages.
* Added test cases for checking this scenario so that we can avoid this type of errors in the future.
* Uploading nightly APK with a released signature so that APK can update, if a user downloads the new version of nightly like our released APK.
* Modified the nightly CI for this change.
* Corrected the deep linking for `content` type scheme.
* Improved the handling of zim files if user opens from the storage and our application is not in background.
* Improved the opening of Zim files when we open directly from storage.
* Also, added necessary comments on the changes to properly understand why we have done these changes.
* Added correct description to delete button on HistoryFragment, and NotesFragment.
* Refactored the test case according to this new change.
* Sometimes actionOnItemAtPosition method gives an internal error, and does not perform the desired operation and fails the NoteFragmentTest. So we have moved it inside the testFlakyView method so that if there is any internal error occurs it retries this action.
* Changed the background color of `ErrorActivity` and checkbox to resolve the issue.
* Added the background color in `IntroFragment` for resolving the issue, it is exact same design as previous.
* Changed the tint color of `ic_feedback_orange_24dp` image to resolve the low contrast issue.
* Changed the height of item_language item to wrap content instead of a fix height which prevent the expansion of layout if there is more content.
* Fixed the touch target issue occurring in the HelpFragment screen. Added the `minWidth` and `minHeight`. For manintaing the current design we have done some modification in this screen like adding the padding and `scaleType` otherwise the design was looking very bigger then previous.
* Changed the width of `page_switch` to `wrapContent` instead of fixed width which prevents to expansion of the view if there is more content to display.
* Increase the height of SearchView's editText to resolve the `Touch target issue`.
* Added the minHeight for `deviceName` to touch target issue. Also, added the contentDescription for this textView.
* Moved the "Device Name" string to strings.xml file since it was hardcoded here.
* Added `minHeight` for showing link textView in external link popup.
* Added the content description for `send report` image, and fixed the sizing issues of `send feedback` and `send report` textView so that user can easily click on these views.
* Added content description for `File transfer list recyclerview`.
* There is only one accessibility warning left which is `Multiple items have the same description` it is because recyclerview items have the same content description and we can ignore this type of error because 2 views can have the same content description because their functionality can be same.
* We are now creating the ZimFileReader object on the background thread to not block the UI thread which sometimes causing the ANR because UI was frozen due to creation of ZimFileReader with large file.
* Refactored our functionality to support this new change.
* Refactored the test cases according to this functionality.
* The error was occurring when launching the `KiwixMainActivity`. At this moment, `coreComponent` was in creation process so it is not initialized at this moment, and we are passing this component in our `KiwixMainActivity` through interface for injection of this activity. But we are not using `coreComponent` object in our `KiwixMainActivity` so passing it to the activity is unused because we are injecting this activity through `cachedComponent`, and this unused object causing the error. So we have removed this interface from our `BaseActivity` and directly injecting `KiwixMainActivity` in via `cachedComponent`.
* The allocated buffer size exceeded due to the retry policy of our test cases. When we retry a test, more objects are allocated to memory, causing this issue.
* When retrying a test case that failed initially, the "MANAGE_EXTERNAL_STORAGE" permission dialog appears on the window due to clearing the preferences in our test case. Therefore, we have removed that code from our test cases.
* Enhanced the test code to detect the views inside the dialogs since our test cases fail due to these dialog's views, which take a moment to appear on the window, making our test cases flaky on CI. This is also the reason for allocating more objects in memory when we retry the test case.
* Improved the `LocalFileTransferTest` as it sometimes fails on API level 33 due to the unavailability of WIFI. When WIFI is not available, the "Enable WIFI P2P" dialog appears on the window, causing our test case to fail. Subsequently, our RetryRule attempts to run this test case again, leading to the allocation of more objects in memory.
* Created a `testFlakyView` function this function is helpful in testing the flakyViews.
* Improved the `LanguageFragmentTest` slightly to wait for the searched language to appear at the top of the list.
* Running the CI on `aosp_atd` instead of `google_apis`.
* Closing the tabs if visible in `NavigationHistoryTest`, since sometimes tabs are visible in this test case, and the test case does not find the views and fails.
* Added wait before deleting the ZIM files in the local library screen since it takes a few seconds to load the ZIM files that are available in storage.
* We are clearing the data of application on 2nd and 3rd run, and the test cases are running normally so now we are clearing the application data on first run as well.
* Additionally, we've implemented drawer closure in `LanguageFragmentTest`, `LocalFileTransferTest`, and `NoteFragmentTest`. These tests sometimes encountered an open navigation drawer due to test failures or process crashes.
* Enhancements have been made to the `testShowCaseFeatureShowOnce` test case. It's now independent of other test cases, ensuring it remains unaffected in the event of a test process crash or failure.
* Removing the URL decoding to verify whether the query string is present in the URL or not. This is because we only need to append the query string for URLs that contain "?", not for those containing "%3F" (indicating direct paths to ZIM entries). We decoded the URL to evaluate this condition, which inadvertently added "?" at the end of the URL unnecessarily. This is redundant as we extract the query string only after "?", and encoded URLs do not include "?".
* Added more test cases for all the scenarios.
* Adding the bookmarks in libkiwix even if the bookmark related files exists or not in fileSystem. This will ensure all the bookmarks will show on the bookmark screen, and it will improve the user experience.
* Implemented test cases to verify this functionality and to test the migration for new custom apps.
* The issue occurs because we are not opening the zim file in the reader because it does not exist in the fileSystem but we are loading the saved URL in webView of that file which does not exist. So when we are switching between fragments then we are opening the previously saved zim file but with the wrong URL which leads to this unexpected behavior. So to fix this we are closing the previously opened book if the new zim file does not exist in the fileSystem.