Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add codemagic.yaml for CI/CD to publish app bundle to Google Play. Signed-off-by: Dmytro Turskyi <[email protected]> * Add scan page screenshot Signed-off-by: Dmytro Turskyi <[email protected]> * Update CI workflow and README badges Added a step to the Flutter CI workflow to generate Dart environment configuration files, ensuring that generated code is consistent with the CI environment. Also updated the README to include dynamic badges that reflect the code quality of the master branch after each push, providing better visibility into the project's health. Resolves ongoing build inconsistencies and improves project monitoring. * move usage of the dart command after flutter set up in CI Signed-off-by: Dmytro Turskyi <[email protected]> * Add new utility functions module Introduced a new 'util.dart' in the 'interface_adapters' library to house shared utility functions, laying the groundwork for centralized common operations which will enhance code reusability and maintenance. This move aligns with the modular design goals and prepares for future developments that require utility support. * Enhanced error handling and sponsor checks Updated the product info retrieval process to improve error handling with detailed logging and fallback product information creation based on input type. The retrieval now manages different input scenarios more robustly, including the possibility of FormatException. It also includes custom product info when specific patterns, such as websites or Amazon ASIN, are detected. The commit extends the functionality to check if product brands are associated with terrorism sponsors, strengthening the validation against a more comprehensive database. Additionally, the `Fields` class within the `russia_sponsors_response` model has been updated, making `name` a required field to ensure that only entries with a valid name are processed. It also now includes a `brands` field to accommodate multiple brands associated with a sponsor. To support the parsing of exception sources as HTML, the `html` dependency was added to the `pubspec.yaml`, facilitating the extraction of user-friendly error messages. Lastly, unnecessary data logging in `logging_interceptor_impl.dart` has been eliminated to streamline the code and reduce log verbosity. * Add downtime message extractor from HTML Implemented a function to parse HTML and extract downtime messages for user-facing platforms. The method searches for a specific element in the given HTML and returns its textual content. If the element is not found, a generic migration-related downtime message is returned. This ensures users receive clear communication regarding service availability during maintenance periods. * Refine label for war sponsorship & error handling enhancements - Updated the label in `ProductInfoKey` to more accurately reflect companies that sponsor war instead of terrorism. - Generalized error extraction function to handle all error messages consistently. - Incorporated functionality to address potential war sponsorship indication in the product info, enhancing user awareness with clickable links for more information. - Improved the reliability of the snow animation initiation in alignment with the widget lifecycle. - Optimized the remote data source handling to check for a specific brand as a war sponsor and to align checks with the updated `TerrorismSponsor` model. Resolves issues related to user clarity and engagement regarding product information, and enhances visual feature stability. * Updated Flutter Release APK Build and App Version to 0.0.5(5) Adjusted the Flutter CI workflow to include the `--no-tree-shake-icons` option during the APK build process, ensuring that all icons are preserved in the release build. This change resolves potential issues with missing icons that may appear after the tree shaking optimization. Additionally, the app version in `pubspec.yaml` has been incremented, signifying a new iteration of the application in preparation for the next release cycle. * Optimize Flutter APK build in CI Removed the `--no-tree-shake-icons` flag from the Flutter APK build step to reduce build time and potentially decrease the APK size. This change can result in a smaller set of icons being embedded in the APK, ensuring that only the icons used in the app are packaged. * Enhanced source attribution and clarified release flow Updated the README to include an additional data source on war sponsors and refined the language for clarity. Reformatted the release process description for more straightforward understanding. In the AndroidManifest, added comments to suppress lint warnings. Improved product brand comparison logic in the data source implementation to match brands more accurately by trimming whitespace. Resolves issues with data accuracy and maintainability. --------- Signed-off-by: Dmytro Turskyi <[email protected]>
- Loading branch information