389 Commits

Author SHA1 Message Date
MohitMaliFtechiz
09070d187b Fixed Instrumentation test cases was failing. 2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
bfff033af8 Fixed app_name is not found in core module.
* Fixed some ids are not found in the project.
2024-08-16 15:35:10 +00:00
MohitMaliFtechiz
3cdb7d998d Fixed, ids and string are not found in app and custom module 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
c9b43117e6 Removed the fetch library from README file.
* Also, now we are not using fetch library anymore so we have removed this from our credits files.
* Removed the unused code from detekt_baseline.xml file.
2024-08-12 17:15:42 +05:30
MohitMaliFtechiz
775fab14bc Fixed unit coverage 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
9b091301bd Fixed some detekt and lint issues 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
cebbbabbd8 Introduced Room database for managing the downloads. * Refactored the code to use the room database instead of objectbox database with fetch. 2024-08-12 17:14:18 +05:30
MohitMaliFtechiz
34618aec05 Fixed: Download zim files in Android/media/org.kiwix/kiwixmobile/ folder instead of internal app-specific directory.
* Now all the downloading files will store in this public app-specific directory.
* Refactored the code to show this new location in storageSelection dialog for both internal and external storage.
* Updated the `README.md` file to educate user that how they can read already downloaded zim files in PS version.
* Refactored the test cases according to this change.
2024-08-08 16:57:31 +05:30
MohitMaliFtechiz
01cce5307e Refactored the test case to use the scientific-alliance zim file since this zim can reproduce this bug. 2024-07-03 18:09:30 +05:30
MohitMaliFtechiz
32e1ba69de Fixed the test cases failure. 2024-07-03 17:28:11 +05:30
MohitMaliFtechiz
2a4c9c51d4 Added test cases for custom apps so that we can avoid the error in search functionality of custom apps. 2024-07-03 16:25:41 +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
72d1ea3340 Introduced the ContentDescription lint check. 2024-05-20 11:59:06 +05:30
MohitMaliFtechiz
e193f10afd Fixed Search is not working in both modules.
* Fixed when we opens the `Note dialog` from Note screen and came back to reader screen then it was showing the blank screen.
2024-04-29 19:27:58 +05:30
MohitMaliFtechiz
ebfea07fd4 Fixed: PlayStore reported UninitializedPropertyAccessException when launching the KiwixMainActivity.
* 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`.
2024-04-17 20:33:09 +05:30
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
translatewiki.net
4f5d66dbd7 Localisation updates from https://translatewiki.net. 2024-03-07 13:07:14 +01:00
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
translatewiki.net
ebdc5443fe Localisation updates from https://translatewiki.net. 2024-02-22 19:04:26 +01:00
translatewiki.net
d733ee8812 Localisation updates from https://translatewiki.net. 2024-02-06 18:44:03 +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
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
3ca6a15058 Fixes the issue where the "Help" submenu in the sidebar is misleading in custom apps.
* We have hidden the help screen from our sidebar.
2023-12-14 07:45:15 +01:00
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
e391b407b2 Fixed the left margin on the placeholder to make it look nice on the phone. 2023-12-06 17:05:43 +05:30
MohitMaliFtechiz
bbcf8bea8c Added a placeholder for search in custom apps.
* Introduced a search placeholder for custom apps; if any custom app is configured not to show the title in the toolbar, it will display the search placeholder with a border. To implement this change, a layout has been added inside the toolbar.
* To enhance understanding of this change, proper comments have been added to the methods.
2023-12-06 16:00:35 +05:30
MohitMaliFtechiz
88475d8601 The app icon will no longer automatically be replaced with three lines after closing the tabs screen in custom apps when the custom app is configured not to show the title. 2023-12-06 16:00:28 +05:30
MohitMaliFtechiz
2c1c678819 Fixed code formatting issue. 2023-12-06 16:00:22 +05:30
MohitMaliFtechiz
cd7b988fe1 Adjusted the size of the hamburger icon. * To address unexpected behavior, where setting the icon directly to the hamburger resulted in it taking the full width and height of the toolbar, we resized the app icon and applied it to the hamburger icon. 2023-12-06 16:00:15 +05:30
MohitMaliFtechiz
f46f2f324b Introduced the disable title option for custom apps. 2023-12-06 16:00:07 +05:30
translatewiki.net
e2585529d2 Localisation updates from https://translatewiki.net. 2023-12-01 21:05:15 +01:00
MohitMaliFtechiz
68f811bd2c Fixed the issue by correctly setting up the bookmark disposable for the current ZIM file in custom apps when opening bookmarks for the currently opened book. 2023-11-22 11:32:18 +05:30
MohitMali
b75221959c Added comments to CustomReaderFragment to explain why we have overridden these methods and describe their functionality. 2023-11-16 19:10:26 +05:30
MohitMali
748f0c4d5f Moved openSearchItem, findInPage functionality to our CoreReaderFragment as we were using same code twice for these methods in app and custom module. 2023-11-16 19:10:02 +05:30
MohitMali
e0c4b453bd Removed unnecessary overriding of onBackPressed method. 2023-11-16 18:59:05 +05:30
MohitMali
132f376243 Fixed, Hitting back on the DWDS app exits it.
* We removed the activity finishing triggered by pressing the back button in the reader fragment. We initially added this when we were converting CustomReader to a fragment, as we encountered crashing issues at the time. However, it was quite some time ago, and we have since refactored our code. Now, it no longer crashes and functions smoothly without terminating the activity when the back button is pressed. We also made this change for when a user presses the back button from the download screen. This back button press is within the CustomReaderFragment, so it does not impact the functionality of the DownloadFragment.
2023-11-16 18:58:58 +05:30
MohitMali
8b1cb8bc7e We are temporary hiding the kiwixServer feature from Custom Apps.
* Since we are now using fd (FileDescriptor) to read the zim file from the asset folder. Currently, 'KiwixServer' is unable to host zim files via fd. This feature is temporarily hidden for custom apps. We will re-enable it for custom apps once the issue is resolved.
2023-11-12 18:06:05 +01:00
MohitMali
bdb00d7aae Fixed the issue where the Zim File was not displaying in the ZimHostFragment for custom apps.
* In `ZimHostFragment`, we show Zim files that are saved in the database. These files are typically saved when downloading Zim files. In a custom app, where Zim files are already included within the app and not downloaded separately that's why they are not showing on the `ZimHostFragment`, we have addressed this issue by saving the Zim files in the database to ensure they appear in the `ZimHostFragment`.
* Regarding the `FileDescriptor`, there are no file objects available because we read Zim files using `FileDescriptor`. To address this, we have created a `demo.zim` file to save it in the database so that it will be displayed in the `ZimHostFragment`. We handle this file within the `KiwixServer`. When the current Zim file is `demo.zim`, we create an `Archive` object with the `FileDescriptor` to host the Zim file on the `KiwixServer`.
2023-11-12 18:06:05 +01:00
MohitMali
f31535966b Using AssetFileDescriptor instead of ParcelFileDescriptor. 2023-11-12 18:06:05 +01:00
MohitMali
c8b98cc504 Using ParcelFileDescriptor instead of FileDescriptor.
* Telling android to not compress the `.zim` files in asset folder while building the apk/bundle.
2023-11-12 18:06:05 +01:00
MohitMali
99614ed88f Introducing reading zim file content through fileDescriptor instead of creating a file to avoid using storage twice for same zim file. 2023-11-12 18:06:05 +01:00
MohitMali
0b59d9c586 Fixed, the DWDS app is very slow when opening a search result.
* Now, `libkiwix` provides the `pageUrl` along with the `pageTitle` (searchTitle). Previously, we were not using this `pageUrl` provided by `libkiwix`. Instead, we were making another request for the `pageUrl` based on the `pageTitle`, which was slowing down the process. We have now started directly using the `pageUrl` provided by `libkiwix` during the search. This change has made the process much more efficient and faster.
* To ensure the previously saved searches still work as expected, we have implemented a condition.
* We have added a new column in RecentSearchEntity for saving the `pageUrl` that we will use when user clicks on the recentSearchHistory.
2023-10-31 13:29:36 +01:00
translatewiki.net
bf089fdea0 Localisation updates from https://translatewiki.net. 2023-10-30 13:09:52 +01:00
MohitMali
724f4a7ff4 Enhanced zim file loading functionality.
* We have corrected the order of obtaining ZIM files, specifically for the DWDS application. In this application, we retrieve the ZIM file from the asset folder, and there is no ZIM file inside the obb/files directory. This adjustment addresses an issue where a temporary file was mistakenly added to the files directory, causing the application to return an invalid file. By changing this order, it does not impact previous apps, as they do not have the ZIM file in the asset folder, allowing them to skip this part and function normally.
2023-10-20 14:41:35 +05:30
MohitMali
69ce81c175 Enhanced asset loading.
* Assets were always copied, even if they were already present in storage. This resulted in slow startup times, as the files were copied on each run. We now only write assets to a file when no file exists or corrupted.
2023-10-20 12:32:56 +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
41be43d292 Fixed ZimHostFragment Open Issue for Both App and Custom Modules.
* We moved our server functionality to the core module to enable its use in both our app and custom modules. However, this change posed a challenge. We had a functionality that, when the user clicks on a notification, it takes them to the hosted book screen. By moving this functionality to the core module, we lost direct access to the navigation graph and `KiwixMainActivity` or `CustomMainActivity`.
* To address this issue, we introduced some abstract variables, such as navGraphId and mainActivity, which we set from both `KiwixMainActivity` and `CustomMainActivity`. This allows us to retrieve the navigation graph ID and the main activity.
* Additionally, we implemented a new function in `CoreApp` to set the currently running `CoreMainActivity`, which we use to obtain the navigation graph ID and main activity to perform the user click on notification.
2023-10-14 09:59:39 +02:00
MohitMali
94d592f545 Reintroduce wifi hotspot feature in custom apps.
* Moved wifi hotspot related files to core module to use hotspot functionality in both app and custom module.
* Moved permission in core manifest to access them in both modules.
* Removed some unnecessary files which is now no longer in use.
2023-10-14 09:59:39 +02:00