From 1ec4bd46fa581047b120e904e4f9745e2c0d79ec Mon Sep 17 00:00:00 2001 From: Harshit Seksaria <37345795+letsintegreat@users.noreply.github.com> Date: Mon, 6 Mar 2023 11:31:02 +0530 Subject: [PATCH 01/19] Remove all instances of the last app name, changed to BLT --- .github/workflows/issue-assign.yml | 2 +- .metadata | 30 +- CONTRIBUTING.md | 18 +- README.md | 55 +-- android/app/build.gradle | 2 +- android/app/src/debug/AndroidManifest.xml | 2 +- android/app/src/main/AndroidManifest.xml | 4 +- .../blt}/MainActivity.kt | 2 +- .../res/drawable-v21/launch_background.xml | 2 +- .../app/src/main/res/drawable/blt_logo.xml | 69 ++++ .../src/main/res/drawable/bugheist_logo.xml | 15 - .../main/res/drawable/launch_background.xml | 2 +- android/app/src/profile/AndroidManifest.xml | 2 +- assets/TnC.md | 46 ++- assets/blt_logo.svg | 23 ++ assets/bugheist_logo.svg | 14 - assets/logo_white.svg | 35 +- assets/privacy_policy.md | 8 +- ios/.gitignore | 2 + ios/Flutter/AppFrameworkInfo.plist | 4 +- ios/Flutter/Debug.xcconfig | 1 - ios/Flutter/Release.xcconfig | 1 - ios/Podfile | 45 --- ios/Podfile.lock | 34 -- ios/Runner.xcodeproj/project.pbxproj | 304 +--------------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../contents.xcworkspacedata | 3 - .../Icon-App-1024x1024@1x.png | Bin 23337 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 525 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 1083 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 1753 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 766 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 1678 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 2682 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 1083 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 2405 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 3823 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 3823 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 5853 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 2260 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 4859 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 5327 -> 1418 bytes ios/Runner/Info.plist | 30 +- ios/Runner/Runner.entitlements | 14 - .../Base.lproj/MainInterface.storyboard | 24 -- ios/ShareExtension/Info.plist | 60 --- .../ShareExtension.entitlements | 10 - ios/ShareExtension/ShareViewController.swift | 342 ------------------ lib/main.dart | 4 +- lib/src/app.dart | 16 +- lib/src/components/appbar.dart | 4 +- .../onboarding/data/onboard_page_data.dart | 6 +- lib/src/components/onboarding/onboarding.dart | 2 +- lib/src/components/searchbar.dart | 2 +- lib/src/constants/about_constants.dart | 12 +- lib/src/global/variables.dart | 2 +- lib/src/models/company_model.dart | 2 +- lib/src/models/issue_model.dart | 2 +- lib/src/models/issuedata_model.dart | 2 +- lib/src/models/user_model.dart | 2 +- lib/src/pages/auth/forgot.dart | 2 +- lib/src/pages/auth/login.dart | 4 +- lib/src/pages/auth/signup.dart | 2 +- lib/src/pages/drawer/about.dart | 8 +- lib/src/pages/drawer/company_dashboard.dart | 8 +- lib/src/pages/drawer/legal.dart | 6 +- lib/src/pages/error.dart | 4 +- lib/src/pages/home/feed.dart | 4 +- lib/src/pages/home/home.dart | 18 +- lib/src/pages/home/issues.dart | 2 +- lib/src/pages/home/leaderboard.dart | 2 +- lib/src/pages/home/profile.dart | 4 +- lib/src/pages/home/report_bug.dart | 6 +- .../leaderboards/company_scoreboard.dart | 6 +- .../leaderboards/global_leaderboard.dart | 4 +- .../leaderboards/monthly_leaderboard.dart | 4 +- lib/src/pages/onboarding_main_page.dart | 2 +- lib/src/pages/welcome.dart | 2 +- lib/src/providers/authstate_provider.dart | 2 +- .../companyscoreboard_provider.dart | 6 +- .../globalleaderboard_povider.dart | 6 +- lib/src/providers/login_provider.dart | 2 +- lib/src/routes/routing.dart | 18 +- lib/src/util/api/auth_api.dart | 6 +- lib/src/util/api/company_api.dart | 2 +- lib/src/util/api/general_api.dart | 2 +- lib/src/util/api/issues_api.dart | 8 +- lib/src/util/api/leaderboard_api.dart | 2 +- lib/src/util/api/user_api.dart | 4 +- lib/src/util/endpoints/auth_endpoints.dart | 4 +- lib/src/util/endpoints/company_endpoints.dart | 4 +- lib/src/util/endpoints/general_endpoints.dart | 2 +- lib/src/util/endpoints/issue_endpoints.dart | 4 +- .../util/endpoints/leaderboard_endpoints.dart | 2 +- lib/src/util/endpoints/user_endpoints.dart | 4 +- pubspec.yaml | 4 +- test/widget_test.dart | 30 ++ web/favicon.png | Bin 0 -> 917 bytes web/icons/Icon-192.png | Bin 0 -> 5292 bytes web/icons/Icon-512.png | Bin 0 -> 8252 bytes web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes web/index.html | 59 +++ web/manifest.json | 35 ++ windows/.gitignore | 17 - windows/CMakeLists.txt | 95 ----- windows/flutter/CMakeLists.txt | 103 ------ .../flutter/generated_plugin_registrant.cc | 14 - windows/flutter/generated_plugin_registrant.h | 15 - windows/flutter/generated_plugins.cmake | 24 -- windows/runner/CMakeLists.txt | 17 - windows/runner/Runner.rc | 121 ------- windows/runner/flutter_window.cpp | 61 ---- windows/runner/flutter_window.h | 33 -- windows/runner/main.cpp | 43 --- windows/runner/resource.h | 16 - windows/runner/resources/app_icon.ico | Bin 33772 -> 0 bytes windows/runner/runner.exe.manifest | 20 - windows/runner/utils.cpp | 64 ---- windows/runner/utils.h | 19 - windows/runner/win32_window.cpp | 245 ------------- windows/runner/win32_window.h | 98 ----- 122 files changed, 444 insertions(+), 2118 deletions(-) rename android/app/src/main/kotlin/com/{example/flutter_bugheist => apps/blt}/MainActivity.kt (78%) create mode 100644 android/app/src/main/res/drawable/blt_logo.xml delete mode 100644 android/app/src/main/res/drawable/bugheist_logo.xml create mode 100644 assets/blt_logo.svg delete mode 100644 assets/bugheist_logo.svg delete mode 100644 ios/Podfile delete mode 100644 ios/Podfile.lock delete mode 100644 ios/Runner/Runner.entitlements delete mode 100644 ios/ShareExtension/Base.lproj/MainInterface.storyboard delete mode 100644 ios/ShareExtension/Info.plist delete mode 100644 ios/ShareExtension/ShareExtension.entitlements delete mode 100644 ios/ShareExtension/ShareViewController.swift create mode 100644 test/widget_test.dart create mode 100644 web/favicon.png create mode 100644 web/icons/Icon-192.png create mode 100644 web/icons/Icon-512.png create mode 100644 web/icons/Icon-maskable-192.png create mode 100644 web/icons/Icon-maskable-512.png create mode 100644 web/index.html create mode 100644 web/manifest.json delete mode 100644 windows/.gitignore delete mode 100644 windows/CMakeLists.txt delete mode 100644 windows/flutter/CMakeLists.txt delete mode 100644 windows/flutter/generated_plugin_registrant.cc delete mode 100644 windows/flutter/generated_plugin_registrant.h delete mode 100644 windows/flutter/generated_plugins.cmake delete mode 100644 windows/runner/CMakeLists.txt delete mode 100644 windows/runner/Runner.rc delete mode 100644 windows/runner/flutter_window.cpp delete mode 100644 windows/runner/flutter_window.h delete mode 100644 windows/runner/main.cpp delete mode 100644 windows/runner/resource.h delete mode 100644 windows/runner/resources/app_icon.ico delete mode 100644 windows/runner/runner.exe.manifest delete mode 100644 windows/runner/utils.cpp delete mode 100644 windows/runner/utils.h delete mode 100644 windows/runner/win32_window.cpp delete mode 100644 windows/runner/win32_window.h diff --git a/.github/workflows/issue-assign.yml b/.github/workflows/issue-assign.yml index 3d84c5b405..58b9368cac 100644 --- a/.github/workflows/issue-assign.yml +++ b/.github/workflows/issue-assign.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Assign Issues - uses: Bugheist/assign-issues-action@main + uses: OWASP/assign-issues-action@main with: repo-token: ${{ secrets.GITHUB_TOKEN }} repository: ${{ github.repository }} diff --git a/.metadata b/.metadata index 140b92946a..39fcc56ca5 100644 --- a/.metadata +++ b/.metadata @@ -1,10 +1,36 @@ # This file tracks properties of this Flutter project. # Used by Flutter tool to assess capabilities and perform upgrades etc. # -# This file should be version controlled and should not be manually edited. +# This file should be version controlled. version: - revision: 4d7946a68d26794349189cf21b3f68cc6fe61dcb + revision: 9944297138845a94256f1cf37beb88ff9a8e811a channel: stable project_type: app + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + - platform: android + create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + - platform: ios + create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + - platform: web + create_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + base_revision: 9944297138845a94256f1cf37beb88ff9a8e811a + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cdc181f4b4..7162dd9b74 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,18 +1,18 @@ # Contribution Guide -Thinking of contributing to BugHeist's mobile app? Here's a comprehensive guide to let you join in the fun of the open source world! +Thinking of contributing to BLT's mobile app? Here's a comprehensive guide to let you join in the fun of the open source world! ### Understanding BLT -To be able to contribute to the BugHeist app, you must understand the project, BLT first. To iterate the basics, BLT is a bug logging tool which enables the users (i.e., one of you!) to share the common bugs you find while you surf over the hundreds of different websites or apps. This knowledge of the presence of a bug enables the developers to fix them quickly and thus enhance your browsing experience on that website or that app. This is not the end, you also get rewarded for finding bugs and can also get rewarded in case you are on the top leaderboards of a bug hunt organized by various companies on BugHeist! +To be able to contribute to the BLT app, you must understand the project, BLT first. To iterate the basics, BLT is a bug logging tool which enables the users (i.e., one of you!) to share the common bugs you find while you surf over the hundreds of different websites or apps. This knowledge of the presence of a bug enables the developers to fix them quickly and thus enhance your browsing experience on that website or that app. This is not the end, you also get rewarded for finding bugs and can also get rewarded in case you are on the top leaderboards of a bug hunt organized by various companies on BLT! Open Source FTW! ### This Repository -All of the BugHeist app's code is in this repository. +All of the BLT app's code is in this repository. ### The BLT repository repository -To keep things mantaibale, the website's frontend, backend, and the API's code is in The [BLT repository.](https://www.bugheist.com) +To keep things mantaibale, the website's frontend, backend, and the API's code is in The [BLT repository.](https://github.com/OWASP/BLT) ### Time to contribute! Too much talkin', let's get to the business, yes? We welcome both developers and designers, so we have something for both of you! @@ -20,8 +20,8 @@ Too much talkin', let's get to the business, yes? We welcome both developers and #### _If you are a developer_ Follow the steps below, and you'll be able to set up the dev environment in no time! -- Go to the [BugHeist/Flutter](https://github.com/Bugheist/Flutter) repository. -- Clone the repository, run `git clone https://github.com/Bugheist/Flutter` (you can use any way of your choice). +- Go to the [OWASP/BLT-Flutter](https://github.com/OWASP/BLT-Flutter) repository. +- Clone the repository, run `git clone https://github.com/OWASP/BLT-Flutter` (you can use any way of your choice). - Open the project in an editor of your choice, and then run `flutter run` from the current working directory. ([Haven't installed flutter?](https://docs.flutter.dev/get-started/install) or are [new to flutter?](https://docs.flutter.dev/get-started/codelab)) If you were able to build the app, then you're all set! Check the next section on what to do next. @@ -35,12 +35,12 @@ We value a good user experience empowered by good design practices. You can view
-_Figma link: https://www.figma.com/file/NYD5WZzJywnO338lchnece/BugHeist?node-id=7%3A634_ +_Figma link: https://www.figma.com/file/NYD5WZzJywnO338lchnece/BLT?node-id=7%3A634&t=gjDWzr6qy82jpUQa-1_ ### Dev, Set, GO! -If you have set up the dev environment, what are you waiting for? You can do so much! Need a good starting point? Go through the list of [issues](https://github.com/Bugheist/Flutter/issues) on the repository! Have a great new idea that you implemented and want it in the app? [Make a PR](https://github.com/Bugheist/Flutter/pulls), and we'll be sure to consider it! One last thing, while suggesting a screen, please follow the design schemes in the above-shared design file, and make sure that   `flutter analyze` works before submitting that hard-worked pull request of yours! +If you have set up the dev environment, what are you waiting for? You can do so much! Need a good starting point? Go through the list of [issues](https://github.com/OWASP/BLT-Flutter/issues) on the repository! Have a great new idea that you implemented and want it in the app? [Make a PR](https://github.com/OWASP/BLT-Flutter/pulls), and we'll be sure to consider it! One last thing, while suggesting a screen, please follow the design schemes in the above-shared design file, and make sure that   `flutter analyze` works before submitting that hard-worked pull request of yours! #### _Looking forward to what you do!_ -

- The BugHeist Contributors

+

- The BLT Contributors

diff --git a/README.md b/README.md index a723142c0a..bf1dc6aba8 100644 --- a/README.md +++ b/README.md @@ -1,54 +1 @@ - -
- -
-

- -
- -## BugHeist Mobile App -`Report Issues, Win Prizes!` - -
-
-   -   -   -   -

-
- -### Check exiting issues. -Find the bugs and issues in current websites, maybe help fixing 'em too? - -### Report Bugs -Heist those sneaky bugs on different websites and apps & report them. Get rewards too, companies are held accountable! - -### Get Renowned -Fight with other like minded bug and bounty hunters across the word to get on top of the leaderboard! - -## About BugHeist -BugHeist is a bug-hunting & logging tool which allows you, the user or company to hunt for bugs, claim bug hounties and allow you to start bughunting spree/contest respectively. The best part? All of it is opensourced! - -## Contributing -We welcome any contributions big or small. To start contributing, start with anything like opening an issue, pull request, suggesting a documentation etc. - -__If you want to see a complete Contribution Guide, check it out [here.](./CONTRIBUTING.md)__ - -_Please make sure `flutter analyze` works before submitting the pull request._ - -- ### New to flutter? - A few resources to get you started: - - - [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) - - [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) - -- ### Are you a designer? - We got your back! If you want to help up with the UI mockups, design and prototyping refer the below links: - - - New Design file: https://www.figma.com/file/NYD5WZzJywnO338lchnece/BugHeist?node-id=7%3A634 - - Old design file: https://www.figma.com/file/s0xuxeU6O2guoWEfA9OElZ/Bugheist-Full-Design?node-id=513%3A771 - -
- -_Looking for the BugHeist website? Check it out [here](https://www.bugheist.com)!_ +https://owasp.org/www-project-bug-logging-tool/ \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle index 30f1857b8b..67fde91064 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -35,7 +35,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.apps.bugheist" + applicationId "com.apps.blt" minSdkVersion 18 targetSdkVersion 30 versionCode flutterVersionCode.toInteger() diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml index 3f0bd632a6..5ce955c628 100644 --- a/android/app/src/debug/AndroidManifest.xml +++ b/android/app/src/debug/AndroidManifest.xml @@ -1,5 +1,5 @@ + package="com.apps.blt"> diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index cecbcb8b0c..c5ea6bf85d 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ + package="com.apps.blt"> diff --git a/android/app/src/main/res/drawable/blt_logo.xml b/android/app/src/main/res/drawable/blt_logo.xml new file mode 100644 index 0000000000..fd12e6d390 --- /dev/null +++ b/android/app/src/main/res/drawable/blt_logo.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/app/src/main/res/drawable/bugheist_logo.xml b/android/app/src/main/res/drawable/bugheist_logo.xml deleted file mode 100644 index f0a5b1773e..0000000000 --- a/android/app/src/main/res/drawable/bugheist_logo.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml index 3120564598..af9dd43efb 100644 --- a/android/app/src/main/res/drawable/launch_background.xml +++ b/android/app/src/main/res/drawable/launch_background.xml @@ -5,6 +5,6 @@ diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml index 3f0bd632a6..5ce955c628 100644 --- a/android/app/src/profile/AndroidManifest.xml +++ b/android/app/src/profile/AndroidManifest.xml @@ -1,5 +1,5 @@ + package="com.apps.blt"> diff --git a/assets/TnC.md b/assets/TnC.md index 6a1886ac02..c27e3df688 100644 --- a/assets/TnC.md +++ b/assets/TnC.md @@ -1,10 +1,10 @@ -By using the Bugheist.com web site ("Service"), or any services of Bugheist ("Bugheist"), you are agreeing to be bound by the following terms and conditions ("Terms of Service"). IF YOU ARE ENTERING INTO THIS AGREEMENT ON BEHALF OF A COMPANY OR OTHER LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE AUTHORITY TO BIND SUCH ENTITY, ITS AFFILIATES AND ALL USERS WHO ACCESS OUR SERVICES THROUGH YOUR ACCOUNT TO THESE TERMS AND CONDITIONS, IN WHICH CASE THE TERMS "YOU" OR "YOUR" SHALL REFER TO SUCH ENTITY, ITS AFFILIATES AND USERS ASSOCIATED WITH IT. IF YOU DO NOT HAVE SUCH AUTHORITY, OR IF YOU DO NOT AGREE WITH THESE TERMS AND CONDITIONS, YOU MUST NOT ACCEPT THIS AGREEMENT AND MAY NOT USE THE SERVICES. +By using the blt.owasp.org web site ("Service"), or any services of BLT ("BLT"), you are agreeing to be bound by the following terms and conditions ("Terms of Service"). IF YOU ARE ENTERING INTO THIS AGREEMENT ON BEHALF OF A COMPANY OR OTHER LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE AUTHORITY TO BIND SUCH ENTITY, ITS AFFILIATES AND ALL USERS WHO ACCESS OUR SERVICES THROUGH YOUR ACCOUNT TO THESE TERMS AND CONDITIONS, IN WHICH CASE THE TERMS "YOU" OR "YOUR" SHALL REFER TO SUCH ENTITY, ITS AFFILIATES AND USERS ASSOCIATED WITH IT. IF YOU DO NOT HAVE SUCH AUTHORITY, OR IF YOU DO NOT AGREE WITH THESE TERMS AND CONDITIONS, YOU MUST NOT ACCEPT THIS AGREEMENT AND MAY NOT USE THE SERVICES. -Please note that if you are accessing any Bugheist service in your capacity as a government entity, there are special terms that may apply to you. +Please note that if you are accessing any BLT service in your capacity as a government entity, there are special terms that may apply to you. -If Bugheist makes material changes to these Terms, we will notify you by email or by posting a notice on our site before the changes are effective. Any new features that augment or enhance the current Service, including the release of new tools and resources, shall be subject to the Terms of Service. Continued use of the Service after any such changes shall constitute your consent to such changes. You can review the most current version of the Terms of Service at any time at: http://www.bugheist.com/terms +If BLT makes material changes to these Terms, we will notify you by email or by posting a notice on our site before the changes are effective. Any new features that augment or enhance the current Service, including the release of new tools and resources, shall be subject to the Terms of Service. Continued use of the Service after any such changes shall constitute your consent to such changes. You can review the most current version of the Terms of Service at any time at: https://www.blt.owasp.org//terms -Violation of any of the terms below will result in the termination of your Account. While Bugheist prohibits such conduct and Content on the Service, you understand and agree that Bugheist cannot be responsible for the Content posted on the Service and you nonetheless may be exposed to such materials. You agree to use the Service at your own risk. +Violation of any of the terms below will result in the termination of your Account. While BLT prohibits such conduct and Content on the Service, you understand and agree that BLT cannot be responsible for the Content posted on the Service and you nonetheless may be exposed to such materials. You agree to use the Service at your own risk. 1. You must be 13 years or older to use this Service. @@ -14,7 +14,7 @@ Violation of any of the terms below will result in the termination of your Accou 4. Your login may only be used by one person - a single login shared by multiple people is not permitted. You may create separate logins for as many people as your plan allows. -5. You are responsible for maintaining the security of your account and password. Bugheist cannot and will not be liable for any loss or damage from your failure to comply with this security obligation. +5. You are responsible for maintaining the security of your account and password. BLT cannot and will not be liable for any loss or damage from your failure to comply with this security obligation. 6. You are responsible for all Content posted and activity that occurs under your account (even when Content is posted by others who have accounts under your account). @@ -23,13 +23,13 @@ Violation of any of the terms below will result in the termination of your Accou 8. You may not use the Service for any illegal or unauthorized purpose. You must not, in the use of the Service, violate any laws in your jurisdiction (including but not limited to copyright or trademark laws). -Customers may access their Bugheist account data via an API (Application Program Interface). Any use of the API, including use of the API through a third-party product that accesses Bugheist, is bound by these Terms of Service plus the following specific terms: +Customers may access their BLT account data via an API (Application Program Interface). Any use of the API, including use of the API through a third-party product that accesses BLT, is bound by these Terms of Service plus the following specific terms: -1. You expressly understand and agree that Bugheist shall not be liable for any direct, indirect, incidental, special, consequential or exemplary damages, including but not limited to, damages for loss of profits, goodwill, use, data or other intangible losses (even if Bugheist has been advised of the possibility of such damages), resulting from your use of the API or third-party products that access data via the API. +1. You expressly understand and agree that BLT shall not be liable for any direct, indirect, incidental, special, consequential or exemplary damages, including but not limited to, damages for loss of profits, goodwill, use, data or other intangible losses (even if BLT has been advised of the possibility of such damages), resulting from your use of the API or third-party products that access data via the API. -2. Abuse or excessively frequent requests to Bugheist via the API may result in the temporary or permanent suspension of your account's access to the API. Bugheist, in its sole discretion, will determine abuse or excessive usage of the API. Bugheist will make a reasonable attempt via email to warn the account owner prior to suspension. +2. Abuse or excessively frequent requests to BLT via the API may result in the temporary or permanent suspension of your account's access to the API. BLT, in its sole discretion, will determine abuse or excessive usage of the API. BLT will make a reasonable attempt via email to warn the account owner prior to suspension. -3. Bugheist reserves the right at any time to modify or discontinue, temporarily or permanently, your access to the API (or any part thereof) with or without notice. +3. BLT reserves the right at any time to modify or discontinue, temporarily or permanently, your access to the API (or any part thereof) with or without notice. ``` ``` @@ -42,9 +42,9 @@ Customers may access their Bugheist account data via an API (Application Program 4. All fees are exclusive of all taxes, levies, or duties imposed by taxing authorities, and you shall be responsible for payment of all such taxes, levies, or duties, excluding only United States (federal or state) taxes. 5. For any upgrade or downgrade in plan level while on a monthly billing cycle, the credit card that you provided will automatically be charged the new rate on your next billing cycle. -For upgrades or downgrades while on a yearly plan, Bugheist will immediately charge or refund the difference in plan cost, prorated for the remaining time in your yearly billing cycle. +For upgrades or downgrades while on a yearly plan, BLT will immediately charge or refund the difference in plan cost, prorated for the remaining time in your yearly billing cycle. -6. Downgrading your Service may cause the loss of Content, features, or capacity of your Account. Bugheist does not accept any liability for such loss. +6. Downgrading your Service may cause the loss of Content, features, or capacity of your Account. BLT does not accept any liability for such loss. ``` ``` @@ -55,31 +55,31 @@ For upgrades or downgrades while on a yearly plan, Bugheist will immediately cha 3. If you cancel the Service before the end of your current paid up month, your cancellation will take effect immediately and you will not be charged again. -4. Bugheist, in its sole discretion, has the right to suspend or terminate your account and refuse any and all current or future use of the Service, or any other Bugheist service, for any reason at any time. Such termination of the Service will result in the deactivation or deletion of your Account or your access to your Account, and the forfeiture and relinquishment of all Content in your Account. Bugheist reserves the right to refuse service to anyone for any reason at any time. +4. BLT, in its sole discretion, has the right to suspend or terminate your account and refuse any and all current or future use of the Service, or any other BLT service, for any reason at any time. Such termination of the Service will result in the deactivation or deletion of your Account or your access to your Account, and the forfeiture and relinquishment of all Content in your Account. BLT reserves the right to refuse service to anyone for any reason at any time. ``` ``` 1. We claim no intellectual property rights over the material you provide to the Service. Your profile and materials uploaded remain yours. However, by setting your pages to be viewed publicly, you agree to allow others to view your Content. By setting your repositories to be viewed publicly, you agree to allow others to view and fork your repositories. -2. Bugheist does not pre-screen Content, but Bugheist and its designee have the right (but not the obligation) in their sole discretion to refuse or remove any Content that is available via the Service. +2. BLT does not pre-screen Content, but BLT and its designee have the right (but not the obligation) in their sole discretion to refuse or remove any Content that is available via the Service. -3. You shall defend Bugheist against any claim, demand, suit or proceeding made or brought against Bugheist by a third party alleging that Your Content, or Your use of the Service in violation of this Agreement, infringes or misappropriates the intellectual property rights of a third party or violates applicable law, and shall indemnify Bugheist for any damages finally awarded against, and for reasonable attorney’s fees incurred by, Bugheist in connection with any such claim, demand, suit or proceeding; provided, that Bugheist (a) promptly gives You written notice of the claim, demand, suit or proceeding; (b) gives You sole control of the defense and settlement of the claim, demand, suit or proceeding (provided that You may not settle any claim, demand, suit or proceeding unless the settlement unconditionally releases Bugheist of all liability); and (c) provides to You all reasonable assistance, at Your expense. +3. You shall defend BLT against any claim, demand, suit or proceeding made or brought against BLT by a third party alleging that Your Content, or Your use of the Service in violation of this Agreement, infringes or misappropriates the intellectual property rights of a third party or violates applicable law, and shall indemnify BLT for any damages finally awarded against, and for reasonable attorney’s fees incurred by, BLT in connection with any such claim, demand, suit or proceeding; provided, that BLT (a) promptly gives You written notice of the claim, demand, suit or proceeding; (b) gives You sole control of the defense and settlement of the claim, demand, suit or proceeding (provided that You may not settle any claim, demand, suit or proceeding unless the settlement unconditionally releases BLT of all liability); and (c) provides to You all reasonable assistance, at Your expense. ``` ``` 1. Your use of the Service is at your sole risk. The service is provided on an "as is" and "as available" basis. -2. Support for Bugheist services is only available in English, via email. +2. Support for BLT services is only available in English, via email. -3. You understand that Bugheist uses third party vendors and hosting partners to provide the necessary hardware, software, networking, storage, and related technology required to run the Service. +3. You understand that BLT uses third party vendors and hosting partners to provide the necessary hardware, software, networking, storage, and related technology required to run the Service. -4. You must not modify, adapt or hack the Service or modify another website so as to falsely imply that it is associated with the Service, Bugheist, or any other Bugheist service. +4. You must not modify, adapt or hack the Service or modify another website so as to falsely imply that it is associated with the Service, BLT, or any other BLT service. 5. We may, but have no obligation to, remove Content and Accounts containing Content that we determine in our sole discretion are unlawful, offensive, threatening, libelous, defamatory, pornographic, obscene or otherwise objectionable or violates any party's intellectual property or these Terms of Service. -6. Verbal, physical, written or other abuse (including threats of abuse or retribution) of any Bugheist customer, employee, member, or officer will result in immediate account termination. +6. Verbal, physical, written or other abuse (including threats of abuse or retribution) of any BLT customer, employee, member, or officer will result in immediate account termination. 7. You understand that the technical processing and transmission of the Service, including your Content, may be transfered unencrypted and involve (a) transmissions over various networks; and (b) changes to conform and adapt to technical requirements of connecting networks or devices. @@ -87,12 +87,10 @@ For upgrades or downgrades while on a yearly plan, Bugheist will immediately cha 9. You must not transmit any worms or viruses or any code of a destructive nature. -10. If your bandwidth usage significantly exceeds the average bandwidth usage (as determined solely by Bugheist) of other Bugheist customers, we reserve the right to immediately disable your account or throttle your file hosting until you can reduce your bandwidth consumption. +10. If your bandwidth usage significantly exceeds the average bandwidth usage (as determined solely by BLT) of other BLT customers, we reserve the right to immediately disable your account or throttle your file hosting until you can reduce your bandwidth consumption. -11. Bugheist does not warrant that (i) the service will meet your specific requirements, (ii) the service will be uninterrupted, timely, secure, or error-free, (iii) the results that may be obtained from the use of the service will be accurate or reliable, (iv) the quality of any products, services, information, or other material purchased or obtained by you through the service will meet your expectations, and (v) any errors in the Service will be corrected. +11. BLT does not warrant that (i) the service will meet your specific requirements, (ii) the service will be uninterrupted, timely, secure, or error-free, (iii) the results that may be obtained from the use of the service will be accurate or reliable, (iv) the quality of any products, services, information, or other material purchased or obtained by you through the service will meet your expectations, and (v) any errors in the Service will be corrected. -12. You expressly understand and agree that Bugheist shall not be liable for any direct, indirect, incidental, special, consequential or exemplary damages, including but not limited to, damages for loss of profits, goodwill, use, data or other intangible losses (even if Bugheist has been advised of the possibility of such damages), resulting from: (i) the use or the inability to use the service; (ii) the cost of procurement of substitute goods and services resulting from any goods, data, information or services purchased or obtained or messages received or transactions entered into through or from the service; (iii) unauthorized access to or alteration of your transmissions or data; (iv) statements or conduct of any third party on the service; (v) or any other matter relating to the service. +12. You expressly understand and agree that BLT shall not be liable for any direct, indirect, incidental, special, consequential or exemplary damages, including but not limited to, damages for loss of profits, goodwill, use, data or other intangible losses (even if BLT has been advised of the possibility of such damages), resulting from: (i) the use or the inability to use the service; (ii) the cost of procurement of substitute goods and services resulting from any goods, data, information or services purchased or obtained or messages received or transactions entered into through or from the service; (iii) unauthorized access to or alteration of your transmissions or data; (iv) statements or conduct of any third party on the service; (v) or any other matter relating to the service. -13. The failure of Bugheist to exercise or enforce any right or provision of the Terms of Service shall not constitute a waiver of such right or provision. The Terms of Service constitutes the entire agreement between you and Bugheist and govern your use of the Service, superseding any prior agreements between you and Bugheist (including, but not limited to, any prior versions of the Terms of Service). You agree that these Terms of Service and Your use of the Service are governed under California law. - -14. Questions about the Terms of Service should be sent to support@bugheist.com. +13. The failure of BLT to exercise or enforce any right or provision of the Terms of Service shall not constitute a waiver of such right or provision. The Terms of Service constitutes the entire agreement between you and BLT and govern your use of the Service, superseding any prior agreements between you and BLT (including, but not limited to, any prior versions of the Terms of Service). You agree that these Terms of Service and Your use of the Service are governed under California law. diff --git a/assets/blt_logo.svg b/assets/blt_logo.svg new file mode 100644 index 0000000000..8b6f61f5c7 --- /dev/null +++ b/assets/blt_logo.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/bugheist_logo.svg b/assets/bugheist_logo.svg deleted file mode 100644 index 828c278bc0..0000000000 --- a/assets/bugheist_logo.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/assets/logo_white.svg b/assets/logo_white.svg index 635a91fe4b..91cb1470c0 100644 --- a/assets/logo_white.svg +++ b/assets/logo_white.svg @@ -1,14 +1,23 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/privacy_policy.md b/assets/privacy_policy.md index 29d8e79492..3aa3bda2f7 100644 --- a/assets/privacy_policy.md +++ b/assets/privacy_policy.md @@ -1,6 +1,6 @@ # Privacy Policy -We want to make sure you, as a Customer or Finder, understand what information we collect from you and why. We also want you to know about our information use practices so that you can make good decisions about how you use Bugheist. +We want to make sure you, as a Customer or Finder, understand what information we collect from you and why. We also want you to know about our information use practices so that you can make good decisions about how you use BLT. This Privacy Policy explains what information we collect from and about you, (collectively, "Your Information") and what we do with it. @@ -8,10 +8,10 @@ _Please read this Privacy Policy carefully._ ## Information Collection - __Direct Collection__ - - When you create an account with Bugheist, you are required to provide us with profile information, including your name, company name (if applicable), username, password, and email address. Bugheist stores this information to help identify you when you log in. + - When you create an account with BLT, you are required to provide us with profile information, including your name, company name (if applicable), username, password, and email address. BLT stores this information to help identify you when you log in. - __Indirect Collection__ - - We receive some information automatically when you visit Bugheist. This includes information about the device, browser, and operating system you use when accessing our site and Services and your IP address. If you visit Bugheist when you are logged into your account, we also collect the user identification number we assign you when you open your account. + - We receive some information automatically when you visit BLT. This includes information about the device, browser, and operating system you use when accessing our site and Services and your IP address. If you visit BLT when you are logged into your account, we also collect the user identification number we assign you when you open your account. - __Cookie Policy__ - - When you log in to your account, Bugheist will place cookie(s) for the purpose of creating the session, knowing when you're logged in, and recognizing you as the same authenticated user across accounts. These cookie(s) contain an encrypted user identifier. + - When you log in to your account, BLT will place cookie(s) for the purpose of creating the session, knowing when you're logged in, and recognizing you as the same authenticated user across accounts. These cookie(s) contain an encrypted user identifier. diff --git a/ios/.gitignore b/ios/.gitignore index e96ef602b8..7a7f9873ad 100644 --- a/ios/.gitignore +++ b/ios/.gitignore @@ -1,3 +1,4 @@ +**/dgph *.mode1v3 *.mode2v3 *.moved-aside @@ -18,6 +19,7 @@ Flutter/App.framework Flutter/Flutter.framework Flutter/Flutter.podspec Flutter/Generated.xcconfig +Flutter/ephemeral/ Flutter/app.flx Flutter/app.zip Flutter/flutter_assets/ diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist index bce9839ecb..9625e105df 100644 --- a/ios/Flutter/AppFrameworkInfo.plist +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -7,7 +7,7 @@ CFBundleExecutable App CFBundleIdentifier - com.apps.bugheist.flutter + io.flutter.flutter.app CFBundleInfoDictionaryVersion 6.0 CFBundleName @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 9.0 + 11.0 diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig index ec97fc6f30..592ceee85b 100644 --- a/ios/Flutter/Debug.xcconfig +++ b/ios/Flutter/Debug.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig index c4855bfe20..592ceee85b 100644 --- a/ios/Flutter/Release.xcconfig +++ b/ios/Flutter/Release.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Podfile b/ios/Podfile deleted file mode 100644 index 8db0384910..0000000000 --- a/ios/Podfile +++ /dev/null @@ -1,45 +0,0 @@ -# Uncomment this line to define a global platform for your project -platform :ios, '12.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - target.build_configurations.each do |config| - config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0' - config.build_settings['ENABLE_BITCODE'] = 'NO' - end - end -end diff --git a/ios/Podfile.lock b/ios/Podfile.lock deleted file mode 100644 index bbf532e091..0000000000 --- a/ios/Podfile.lock +++ /dev/null @@ -1,34 +0,0 @@ -PODS: - - Flutter (1.0.0) - - image_picker (0.0.1): - - Flutter - - receive_sharing_intent (0.0.1): - - Flutter - - shared_preferences_ios (0.0.1): - - Flutter - -DEPENDENCIES: - - Flutter (from `Flutter`) - - image_picker (from `.symlinks/plugins/image_picker/ios`) - - receive_sharing_intent (from `.symlinks/plugins/receive_sharing_intent/ios`) - - shared_preferences_ios (from `.symlinks/plugins/shared_preferences_ios/ios`) - -EXTERNAL SOURCES: - Flutter: - :path: Flutter - image_picker: - :path: ".symlinks/plugins/image_picker/ios" - receive_sharing_intent: - :path: ".symlinks/plugins/receive_sharing_intent/ios" - shared_preferences_ios: - :path: ".symlinks/plugins/shared_preferences_ios/ios" - -SPEC CHECKSUMS: - Flutter: 50d75fe2f02b26cc09d224853bb45737f8b3214a - image_picker: 50e7c7ff960e5f58faa4d1f4af84a771c671bc4a - receive_sharing_intent: c0d87310754e74c0f9542947e7cbdf3a0335a3b1 - shared_preferences_ios: 548a61f8053b9b8a49ac19c1ffbc8b92c50d68ad - -PODFILE CHECKSUM: 4e8f8b2be68aeea4c0d5beb6ff1e79fface1d048 - -COCOAPODS: 1.10.1 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 65c22ec82f..f51413a7f9 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -3,44 +3,19 @@ archiveVersion = 1; classes = { }; - objectVersion = 51; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 27C23E12D0EF074F57012BC4 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A891DF077FC246BD2F6C2BFF /* Pods_Runner.framework */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 408939F426297DBD0078BC16 /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 408939F326297DBD0078BC16 /* ShareViewController.swift */; }; - 408939F726297DBD0078BC16 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 408939F526297DBD0078BC16 /* MainInterface.storyboard */; }; - 408939FB26297DBD0078BC16 /* ShareExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 408939F126297DBD0078BC16 /* ShareExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - 408939F926297DBD0078BC16 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 97C146E61CF9000F007C117D /* Project object */; - proxyType = 1; - remoteGlobalIDString = 408939F026297DBD0078BC16; - remoteInfo = ShareExtension; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXCopyFilesBuildPhase section */ - 408939FC26297DBD0078BC16 /* Embed App Extensions */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 13; - files = ( - 408939FB26297DBD0078BC16 /* ShareExtension.appex in Embed App Extensions */, - ); - name = "Embed App Extensions"; - runOnlyForDeploymentPostprocessing = 0; - }; 9705A1C41CF9048500538489 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; @@ -56,14 +31,7 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 3416B132902F68664AE6BF93 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 408939F126297DBD0078BC16 /* ShareExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = ShareExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; }; - 408939F326297DBD0078BC16 /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = ""; }; - 408939F626297DBD0078BC16 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = ""; }; - 408939F826297DBD0078BC16 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 40893A02262983D30078BC16 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; - 40893A03262985530078BC16 /* ShareExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = ShareExtension.entitlements; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; @@ -74,59 +42,19 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A20069F6EBCE1B02DD12C2E7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - A36576DA9B8785EE67BF9F65 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - A891DF077FC246BD2F6C2BFF /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 408939EE26297DBD0078BC16 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 27C23E12D0EF074F57012BC4 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 2220C6D2234CE65D6B8E3C3F /* Frameworks */ = { - isa = PBXGroup; - children = ( - A891DF077FC246BD2F6C2BFF /* Pods_Runner.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 408939F226297DBD0078BC16 /* ShareExtension */ = { - isa = PBXGroup; - children = ( - 40893A03262985530078BC16 /* ShareExtension.entitlements */, - 408939F326297DBD0078BC16 /* ShareViewController.swift */, - 408939F526297DBD0078BC16 /* MainInterface.storyboard */, - 408939F826297DBD0078BC16 /* Info.plist */, - ); - path = ShareExtension; - sourceTree = ""; - }; - 446705EAA7C34A79D184F0B2 /* Pods */ = { - isa = PBXGroup; - children = ( - A20069F6EBCE1B02DD12C2E7 /* Pods-Runner.debug.xcconfig */, - A36576DA9B8785EE67BF9F65 /* Pods-Runner.release.xcconfig */, - 3416B132902F68664AE6BF93 /* Pods-Runner.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -143,10 +71,7 @@ children = ( 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, - 408939F226297DBD0078BC16 /* ShareExtension */, 97C146EF1CF9000F007C117D /* Products */, - 446705EAA7C34A79D184F0B2 /* Pods */, - 2220C6D2234CE65D6B8E3C3F /* Frameworks */, ); sourceTree = ""; }; @@ -154,7 +79,6 @@ isa = PBXGroup; children = ( 97C146EE1CF9000F007C117D /* Runner.app */, - 408939F126297DBD0078BC16 /* ShareExtension.appex */, ); name = Products; sourceTree = ""; @@ -162,7 +86,6 @@ 97C146F01CF9000F007C117D /* Runner */ = { isa = PBXGroup; children = ( - 40893A02262983D30078BC16 /* Runner.entitlements */, 97C146FA1CF9000F007C117D /* Main.storyboard */, 97C146FD1CF9000F007C117D /* Assets.xcassets */, 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, @@ -178,41 +101,20 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 408939F026297DBD0078BC16 /* ShareExtension */ = { - isa = PBXNativeTarget; - buildConfigurationList = 40893A0026297DBD0078BC16 /* Build configuration list for PBXNativeTarget "ShareExtension" */; - buildPhases = ( - 408939ED26297DBD0078BC16 /* Sources */, - 408939EE26297DBD0078BC16 /* Frameworks */, - 408939EF26297DBD0078BC16 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = ShareExtension; - productName = ShareExtension; - productReference = 408939F126297DBD0078BC16 /* ShareExtension.appex */; - productType = "com.apple.product-type.app-extension"; - }; 97C146ED1CF9000F007C117D /* Runner */ = { isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - ABCEC53F654D8310A188C6C5 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 408939FC26297DBD0078BC16 /* Embed App Extensions */, - EA5080D10BF2AB42928EFF2F /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); dependencies = ( - 408939FA26297DBD0078BC16 /* PBXTargetDependency */, ); name = Runner; productName = Runner; @@ -225,13 +127,9 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1240; LastUpgradeCheck = 1300; ORGANIZATIONNAME = ""; TargetAttributes = { - 408939F026297DBD0078BC16 = { - CreatedOnToolsVersion = 12.4; - }; 97C146ED1CF9000F007C117D = { CreatedOnToolsVersion = 7.3.1; LastSwiftMigration = 1100; @@ -252,20 +150,11 @@ projectRoot = ""; targets = ( 97C146ED1CF9000F007C117D /* Runner */, - 408939F026297DBD0078BC16 /* ShareExtension */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 408939EF26297DBD0078BC16 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 408939F726297DBD0078BC16 /* MainInterface.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 97C146EC1CF9000F007C117D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -282,6 +171,7 @@ /* Begin PBXShellScriptBuildPhase section */ 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -296,6 +186,7 @@ }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -308,56 +199,9 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - ABCEC53F654D8310A188C6C5 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - EA5080D10BF2AB42928EFF2F /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 408939ED26297DBD0078BC16 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 408939F426297DBD0078BC16 /* ShareViewController.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 97C146EA1CF9000F007C117D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -369,23 +213,7 @@ }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - 408939FA26297DBD0078BC16 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 408939F026297DBD0078BC16 /* ShareExtension */; - targetProxy = 408939F926297DBD0078BC16 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin PBXVariantGroup section */ - 408939F526297DBD0078BC16 /* MainInterface.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 408939F626297DBD0078BC16 /* Base */, - ); - name = MainInterface.storyboard; - sourceTree = ""; - }; 97C146FA1CF9000F007C117D /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( @@ -428,7 +256,6 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -447,7 +274,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -460,19 +287,16 @@ isa = XCBuildConfiguration; baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = HRA3AUNUHS; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.apps.bugheist; + PRODUCT_BUNDLE_IDENTIFIER = com.apps.blt; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; @@ -480,96 +304,6 @@ }; name = Profile; }; - 408939FD26297DBD0078BC16 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = HRA3AUNUHS; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = ShareExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@executable_path/../../Frameworks", - ); - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.apps.bugheist.ShareExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 408939FE26297DBD0078BC16 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = HRA3AUNUHS; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = ShareExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@executable_path/../../Frameworks", - ); - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.apps.bugheist.ShareExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; - 408939FF26297DBD0078BC16 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_ENTITLEMENTS = ShareExtension/ShareExtension.entitlements; - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = HRA3AUNUHS; - GCC_C_LANGUAGE_STANDARD = gnu11; - INFOPLIST_FILE = ShareExtension/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 14.4; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@executable_path/../../Frameworks", - ); - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.apps.bugheist.ShareExtension; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Profile; - }; 97C147031CF9000F007C117D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -593,7 +327,6 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -618,7 +351,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -649,7 +382,6 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -668,7 +400,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -683,19 +415,16 @@ isa = XCBuildConfiguration; baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = HRA3AUNUHS; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.apps.bugheist; + PRODUCT_BUNDLE_IDENTIFIER = com.apps.blt; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -708,19 +437,16 @@ isa = XCBuildConfiguration; baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = HRA3AUNUHS; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = com.apps.bugheist; + PRODUCT_BUNDLE_IDENTIFIER = com.apps.blt; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; @@ -731,16 +457,6 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 40893A0026297DBD0078BC16 /* Build configuration list for PBXNativeTarget "ShareExtension" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 408939FD26297DBD0078BC16 /* Debug */, - 408939FE26297DBD0078BC16 /* Release */, - 408939FF26297DBD0078BC16 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { isa = XCConfigurationList; buildConfigurations = ( @@ -764,4 +480,4 @@ /* End XCConfigurationList section */ }; rootObject = 97C146E61CF9000F007C117D /* Project object */; -} \ No newline at end of file +} diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 6dd6010f86..c87d15a335 100644 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ - - diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png index 335f77c95156054ab462b72f06e9096178ca0de9..dc9ada4725e9b0ddb1deab583e5b5102493aa332 100644 GIT binary patch literal 10932 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 delta 510 zcmV(<%Z+vC!S&-MTd~F%f9is#UA7>UWWBuKW+qZ6M9SfL*$DskyoN zxpU_d5)xj%d+>eB z?J{?+FLkYu+4_Uk`r_>LHF~flZm0oBf#vr8%vJ>#p~!KNvqGG3)|f1T_)ydeh8$vDceZ>oNbH^|*hJ*t?Yc*1`WB&W>VYVEzu) zq#7;;VjO)t*nbgf(!`OXJBr45rP>>AQr$6c7slJWvbpNW@KTwna6d?PP>hvXCcp=4 zF;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f|q31a{vGU delta 1073 zcmV-11kU@G1G@;28Gix*000A=FFF7K1OiD!K~#7F?U!pPq)`~hXV%QP?5>?j$~BiU zLWE*n)|C5oHg+hqnq@{_M?EGpgn{Ccks)1Z?)N0e;%>#9*=!}3NS17 zgYx60O!h=z_1iP}K20W*QRPh$qEamcZOY&I`T5J~_a#k&#bR+mL4lK#Q+|HF5|>J2 zy;1%el|jGzcYjm^Z*6U5W@hg0?gH=W>FMR=rBe3?f)^GRva_>~kB>b(JS;6O6B84g zo11w&-s6Jj=jYSY)1^|Wo12@txp{wozrVjfhO)P}mz9K|{Boc|Xwsw4cd{a}C ziHS*SYHCqYk+HEcrkj+MgvV>t`?R~jSX<<8e}5ku`1ba8I-OotR#s9{a&d7{Q&Uq> zQNd!d@_+L3RHgm{Tw7bawzdWl5fQPpw1g5WFE2-4A>!iVP+Iu3v9VECS67qZnVFgH z?rsRAmd$35jEwmC`C-q3lMM_EkXJsRZ)(>Bb#*oQ3z?9R(9_ccfm5NiwG}}t zD=SoRad9zDg{Y{g2UBkWPfbn1zz|3(R<*6Ijl@AX5kbh!dX32kg_Kp=TYYG-FB z_J@FgfU2r01VchXP{FIKtI*i1RRU}2zsB`fa7RZ65kWyg)6>%s(b3Tu4XO(|JUo1S ze4HZB0v2B-@Xe+G@9gZ%&CL-V6B7eN5r1$)Ljy(baM%iK0F6U}MpO4?P0@c~V1Nj? z2GxT70k$$TGb5vMcX!8qWn~3-J3BiysR}T>Gc+_rbXZu}*w`3F?x4lRMGS&~aX#YM zfVQ@_));tsdHLYrfM}euc*UW}9V8SANzmEZd3}AIXf+Gz3V3vMln5r1iK2p=7%B{g rtE($cdlJXH$Hc@0(T0YG>Vtm))C{IKs;WrH00000NkvXXu0mjf*((Cc diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png index 0d1806ebb81a3da616cde20d9e389c8a8319c88a..6ed2d933e1120817fe9182483a228007b18ab6ae 100644 GIT binary patch delta 435 zcmV;k0Zjhc4Z;JE8Gi!+000dlDL?=K0EAFXR7L;)|5U~JDYo_jSDRPH_*uvJ?fL$s z;QQnD{*>GM-ShrilfUZt{^9lhT*&z4_x{-O{Rv#2V9EI}xb^~1iQe@7)8g(7UZ4B@ z|4zgB>+<*9=;^^)>d)H7pzGjuM>Jnezy3`@G2r z?{~a!Fj;`+8Gq^x2Jl;?IEV8)=fG217*|@)CCYgFze-x?IFODUIA>nWKpE+bn~n7; z-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGrXPIdeRE&b2Thd#{MtDK$ zpx*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{HY|nMnXd&JOovdH8X7U2B1kqK~#7F?V5RPOj{hsZ%6k=YkR6xd8Jfn zREY{f;-S{sqOmWrwDv|38WN$w6XBtvf~R6vL8zs%FNsq1Jb97Oq7+4~C6!jE^FE#9 zomZXFPR*S={+RC{H|KZG%$?6Y^V`m}&IW@)sZ{z81vycZDt~{C#&Whdz>mlQt(6?m zTFC*em8ynz@^JqpHpcQhen?F#&VFPCQq`&&TIcHO-S;=k?^u}em;IrCLOGzdk^@>R zIiR(Y`q18y5uV{;W)?~f`F|v-@)7DodxnOXoj2(9KQFWfazJY(2eekw5L%}TNKQ1n zk{caoC@Ql2PJb#xr>Cd;`S~?z(!_Mh$;rvZ&)59hbWYX!6xE;&218O((z%gZ}-=+N}()7{+MRJpmSRDgc{`t{VQQ}5il zBg~kX7%wlc!Gj0y-o3kS-MZG_-&EE@KX~w9^5n_6xqrFBoHuVC&w!sWPDn^tyLK(E zY%QaStb)FK_wM-dW3Ltj`}c;LVR#w}X3z%iywnF29B9UmW0N*OU?1gY?Qcl$NvPt(c5%)j&E z6I6pHKS2EU?OS2?>eVYCAOKLtjT$vtzkdD9nKNI#dR3!FjSU+%T)K2=)22WYp+k#`ib#K5yLPo3 zG~Rjf;zcngm#tj6a>a@j_%0@qS5Q!}bLURRo}QkoR;}V0?%%)9_LEgqB(5GbxFP`y zQGfF;T(}^1y=Tv!5fKrQk&$AF?dM6hZ{N-s&r!X^SPK2-%^OgpNg56g4xTk@7UKpD z8nEBfrcJ}$F*|nbNUj(?dNjU72f{#IVoRZEh9IWY3Dd*FgKwO2tr(qT_3G6}jvOIB zV7j=tkeE-OKAn+~fjMW+99LIY`#>K&cz+O2kS4Wy*REY6<&7LUl6)tV!^DXb{r&wX zO)C4lW7DQh2M!#lI=X_798KjA8%H*3}muN6xT z8#ZKXj~+cr%YoUpZQJI}o7(|8KYu@8Zku8ZGAc;Fe*MbcU69 zHcA>&--V`mr`wb!n@Z!qR|6Wy5PzF0M2~;+ zzXxdt;PM(s_Bh1qE6P&3UB!Hj}x?bhHz~95ZGN z(IyKd-9=bf811OYbf|OZ&Z+(hgzKB&HA0OI$&Vu-~m?1{%*RQWB^pht~ zWE~d5A2x2>D8}qM2~ArZqJ&zvZjJxY<;nk{Bra{#^;gjU&;(rhg}}f-3Ws#@@bGZ1 qwEXe~9BjE}Wo5}38h@LzO8pB>P^<+}@Vun}0000qVZqE6)=lqo0`vF#&*75!I`TIh@_d&k*HoEtQyV-iD z%Xz2D9EQRbeYh5Nr~y=#0ZD;^+vz0$004MNL_t(2&&|%+4u6C&2tZM$Wf&dzefR%A z(^3-?6X>hnCz2Ba@RH&`m!pgy?n@#@AuLYB&}Q)FGY`?vcft0!vht0Z@M&ZeNCWXh75gzRTXR8EE3oN&6 Q00000NkvXXt^-0~f?$z_^#A|> delta 753 zcmVw#0K~#7FWBLF8KLZl@e);;dk~#*80So0u z3`=u4wA2+hEXGv#w4nOegGc0>%gD^c$jO04Arm9(b-o%>WXmsCKGx$J7n|Gs^Luzy^>{`dU{GJnn8x^=67fPl5NHH6FW z?FvK?_Ot5N?`JNMZ0^5*|N8s;r%#{m@9)pf&Te92LX0~InEUtd-^$9$b?er7czB#X zefrzCZ>+4W`uh45nF}mGA%;3RIbFGOMO|I}?c28t7A(ll&Q?)Tfh*&4bL7<3g0SB$ zSjGS=ba9&7(SOkaG}O$@?8%cS($dmEYd(GYWMgA92@K%MkkjA01C)JihO*0zyL`~N+QNk zEapy~I`#JL+iGfRFJHa{1}jkH{{8!tCr@r}ZjOnG;pXNh$6TNhvuDo+GMt^AfoZm< zr>Cy2PFGj=!-o&R#1Ih?L8PJR=5}>;{r>$M80klk9tCEByLayb(=0G3fC<3L%1T^Z zoE&p6Uw^*5d-rZ2!^p@8XwbB2)2gbffM$t_iQT$&D>gQkpji@);Q@bJwec1ZgXRFb6>o8v2*86Aj93=y|1sYsHkY;#*IL(r>AFO zVWFs~sEmvZL35D-)ZA68Rsl-`V08Zl13NoAU}|wAC@3f-B=qp%L!e_B8A-15 ziGV;=={^- z?sLQGb)?A{hr$_!z8HbH7kH=vM0x-*R~t>;jsO4v^GQTOR7l6|(&r9>FcgO2dg?%> z;=sK?5%;?Pn^T7LL?Y$@5u?06NuIR*0?Yf$Hf5Afk+lM<^ch*jvO$sU*m9J?JI7eI zGFV6+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9R%3*Q+)t%S!MU_`id^@& zY{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&p6kME1_Z%?`+u)^el0!1<0sd p?Eyu!OMLDifi)An*I;?S-wj=m4RYIt!kPd8002ovPDHLkV1nXC^b7z1 delta 1673 zcmV;426p+*1C9-l8Gix*003^;-G2Z8231K!K~#7F?OJe7R(9F!tYlZUl z(YNn3`Uu|WR#jE)-Md#L5?#D_(ZRuiuWdgA4|HWRSy55ZsZ*z5^!D~%xNspYEzQu- zQ2U*gp)K99v9bO8_g7R@kh^W$wpp`gZQi`Oq@={s(tlEGdY?lpx*tA#NJvPiuC69` z=gyr|rc60}_%Q73?Cjj!Tmu6G?I|ka>*)>-4uW5Eb2GVNVPQys{QP{_Zf3<^S>(bsn-sp~wj>gBwH#Iep>*M3&;^IO%FmK+x0|yS^PQcaC(J>_@B`Yf{ zF){H=c|1MH4=?5GzXtxmNhCbbl}IG}_U)^!ttEHi!i9l>fvKsfu)!}cFAs6;>FGfd zBQegOKM!5Q(xF3#H2olz(3tM=cI?=}g9o7xPyocWyuAGB)2CS4v}x1Il`8`R z0$}5Q?CtHp0o|6C7UU&!krHKPWhlI`larHCAg)~b^qT<4L5b7T)8D^;KY#xG@bGZH zxPNLux4XN0_wL;vKYk?F*VlJsWTd91hHM0K!-fsCboA)a`uh6&_wRG^lr=Kqvn`p> zUZ}2!*1LCqwIk51?c29UMn=N6va*6y#l*xwhBJv99T&kV09Ri-$XB&K%OR1q&7+D}sZAX$dI-aX@G(p+iGMh2T04UDPCK zCv)-Wal*((XmR*nym&z_T8O^BJ`@qyC}VzpD%t>H=|Z+jOG}xHJ_dxSXf0j3boJ`h zIA^qktc7x++L0>5M#G?My6F8_QGej%wUqi805cg10ShfO7)AKfrAy?lU%y@;uH2XC zwzjt3x^;`Wh-Ft-*UOhLIeBQ^-Q9QX+C@vIrltrpnn~(xrcRye<>jS4Es>v(Oe&oy zT^xVKe;kO8jy`+#EZGqe5pUkSq4Ep(`}-qVDQf|5Z*LP59)A3>PK;4`U4I2#bS-!8 z++psLB}>p8HZ(NAwzIQ?{+~Q~Qu_C;qv{S14^xK#tXj27d#-Arf-d?ji9#p8W5IpVBHt1X-VdNr~j~+cjcSbG*3*#i4 zgwgI`YS$@U^egCGnTv2jUw$i>9Q`=qXpE{+$CRtyLy z8?%Cff{-LtRaN9d6Ce?gXPi8`f>I|a*U#xfN=dBg`zojX^jblDjqK=21Wv9{XuWA_ARtwc>uA-< zMYbUPx}#fJS*f_NX3d%>Po7ZgjTs%q0)b>*1QZvtg$9>I1DG~#8oyJdO8f~-fR%8R TgNv^K00004br2|=<_Wb|z`~RBV`-<24{r>;E==`tb{CU#(0alua*7{P! z_>|iF0Z@&o;`@Zw`ed2Hv*!Fwin#$(m7w4Ij@kM+yZ0`*_J0?7s{u=e0YGxN=lnXn z_j;$xb)?A|hr(Z#!1DV3H@o+7qQ_N_ycmMI0acg)Gg|cf|J(EaqTu_A!rvTerUFQQ z05n|zFjFP9FmM0>0mMl}K~z}7?bK^if#bc3@hBPX@I$58-z}(ZZE!t-aOGpjNkbau@>yEzH(5Yj4kZ ziMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_stABAHe$v|ToifVv60B@podBTcIqVcr1w`hG7HeY|fvLid#^Ok4NAXIXSt1 Zxpx7IC@PekH?;r&002ovPDHLkV1l=wYn}iA literal 2682 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png index d0e7c4057044164d396232f866f5e5c99794a75b..797d452e458972bab9d994556c8305db4c827017 100644 GIT binary patch delta 390 zcmV;10eSwr2$lno8Gi!+006rnNM8T|0E$pdR7L;)|5U~J0au$Tw)XJ){%+3s=lA~6 z@BMVp`S<<*VaoaP`~U3u{%g(ou*=|m)B4`@{`33)?ezIj#Q6OF|6IuUF}e2O>+>eB z?J{?+FLkYu+4_Uk`r_>LHF~flZm0oBf#vr8%vJ>#p~!KNvqGG3)|f1T_)ydeh8$vDceZ>oNbH^|*hJ*t?Yc*1`WB&W>VYVEzu) zq#7;;VjO)t*nbgf(!`OXJBr45rP>>AQr$6c7slJWvbpNW@KTwna6d?PP>hvXCcp=4 zF;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f|q31a{vGU delta 1073 zcmV-11kU@G1G@;28Gix*000A=FFF7K1OiD!K~#7F?U!pPq)`~hXV%QP?5>?j$~BiU zLWE*n)|C5oHg+hqnq@{_M?EGpgn{Ccks)1Z?)N0e;%>#9*=!}3NS17 zgYx60O!h=z_1iP}K20W*QRPh$qEamcZOY&I`T5J~_a#k&#bR+mL4lK#Q+|HF5|>J2 zy;1%el|jGzcYjm^Z*6U5W@hg0?gH=W>FMR=rBe3?f)^GRva_>~kB>b(JS;6O6B84g zo11w&-s6Jj=jYSY)1^|Wo12@txp{wozrVjfhO)P}mz9K|{Boc|Xwsw4cd{a}C ziHS*SYHCqYk+HEcrkj+MgvV>t`?R~jSX<<8e}5ku`1ba8I-OotR#s9{a&d7{Q&Uq> zQNd!d@_+L3RHgm{Tw7bawzdWl5fQPpw1g5WFE2-4A>!iVP+Iu3v9VECS67qZnVFgH z?rsRAmd$35jEwmC`C-q3lMM_EkXJsRZ)(>Bb#*oQ3z?9R(9_ccfm5NiwG}}t zD=SoRad9zDg{Y{g2UBkWPfbn1zz|3(R<*6Ijl@AX5kbh!dX32kg_Kp=TYYG-FB z_J@FgfU2r01VchXP{FIKtI*i1RRU}2zsB`fa7RZ65kWyg)6>%s(b3Tu4XO(|JUo1S ze4HZB0v2B-@Xe+G@9gZ%&CL-V6B7eN5r1$)Ljy(baM%iK0F6U}MpO4?P0@c~V1Nj? z2GxT70k$$TGb5vMcX!8qWn~3-J3BiysR}T>Gc+_rbXZu}*w`3F?x4lRMGS&~aX#YM zfVQ@_));tsdHLYrfM}euc*UW}9V8SANzmEZd3}AIXf+Gz3V3vMln5r1iK2p=7%B{g rtE($cdlJXH$Hc@0(T0YG>Vtm))C{IKs;WrH00000NkvXXu0mjf*((Cc diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png index 004703dfbdacc6288edd1c1afa50f1dfc993554d..502f463a9bc882b461c96aadf492d1729e49e725 100644 GIT binary patch delta 572 zcmV-C0>k~~63PUS8Gi!+006nq0-pc?0H{z*R7L;)|5U~JDYo_jSDXF*|5nEMy6F5^ z$M}8I`uzU?*Yf=uXr;5|{0m;6_Wb|A>ik^D_|)+I$?g3CSDK^3+eX0mD!2CP`2NN0 z{dLg!a?km&%iyTt`yiax0acdp`~T(l{$a`ZF1YpsRg(cvjDG_-U$Er-fz#Bw>2W$eUI#iU z)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G!hkE!s;%oku3;IwG3U^2k zw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn_j%}l|2+O?a>_7qq7W zmx(qtA2nV^tZlLpy_#$U%ZNx5;$`0L&dZ!@e7rFXPGAOup%q`|03hpdtXsPP0000< KMNUMnLSTZ5zBP0J literal 2405 zcmV-r37YnaP)5x#u7^`@ibOqi3JN$>_kChL2Ot8 zo(-`P3u^2dP_f2{pp?BY`!2ul1{ju^*~M)3i`mS4`*8km-(P2TZFD-FU@(gFKfD?q zWBB^t5H>Y!fT>{-Z0@iKHg{MAn>#Fm%^eoO(yLvZJ>p_zU+l}ll!AY*%KmdzP(8s` zwlLu(`vef?dM<{Sn$-Vu7x-Gr<98{! zg6RbR{Q1+?*4E0(N@5M(wQuY#v7k8bjY2a_B>3^;$J3@w3k(cguwa3-W@Ez?g45H} zp|+r);L)Q;TCH}*j2R}lXk{?2V4Y64bLY<3*x0hNGRExKv18DnK@A%=H0pIFU_`;i z#l?#jElN&KCdSdxaqHHtX=!O1jV3B8%6ONSfUyLB`SNAbq)FGVT_eWD#bx{U?I|fK zyLa!#X;D$pxN+l*bae?BMew_K@1molk*J7qcXx*~V|$MrIl`E|d-uY(>(;Gn3g4F`Sr~xMt0o#*G_~88b$88zi8z;13@@AUJuo zh}(pOgw2~b^J@3(*|TB8hJyzWqC{cAkRe0VHA4bw3jX-<@*+&C#I zDK#~fF`k~D*jwy2)C&4Ej)nv|yjHDR2ATV(tK(lmmA$JgDJ{5^S;hZg$Yl%x_7-0Xhlew!ZQHh}Tl@CyW0?#I3~5Xi zdnBNOU^wLT>C^Auzt5B7$B)N;QbK}nZ`-yF`3#=|W9rnYvwr>hmoHx~Teb|R4h{~T zI(1TROqEbU@Tyg-&^+=?mo8nx!ongVBB;Syv0?=_5KhY&+6dU$jZuM!Hk&^ zk!-RNO1|LS++1uOb4UX8XJ%$1GqF>6DO?x1ihSPA&JH2)=b1QYLTe$N^8cB9qZ%cgVdFmmnY~`H$FAF z#>;_B!SV6&H*VbE8FUoz%u%C8VMt=klqpmE{QL$F9!v~+EXYHTjZTX(Naje_a*dY* zIfApZv(Xsx3?dL22ql+_Q^$@SCr+HWWy_Ykckj}&#fujs$dS@Y^v{rxrO|aLFkTL- zEx53-5a9=x=E)HwMxaT=guqUR$#mw zR9i4o4nG?J-rnAmCr?I2r60)5nl-CIg9cP%1%0f}n>P;|3rAp#o12>{X9hy`1mC)K z3(c^IL}o^NNS{LM)~$yQ9lC%2{(JZC(Hg`m8jr(=4?lbMj4_CIjYcEiaJi_4;G&|U zIdkTSe&>Y#p;fC^Q>RX4rwHbS3l|m?6!1aLVintqkY)@LRgG+~P%Xj8%(OoY$UxX$ zcs~~Es8Z~N!kr4Tr80d%hVhlhdMI@pZ z%_CZFd=QKY2ncA}RQ`966~Z9F*RNlvZjpevMS;Ov?9|=e9pc}K@2-Ye*D z*%8^dZ(pTWD?rtPk)>9zUM(V9v}l1wlDbF$;{p0)l;RTZiz#qjq~bew?oh_Iv9Spa z4OPQ(nW$PY_7+o-h{OPN=FFLg4=g*&$l9Ff*JUKEl5(g++M0W1n+4Q$& zc~l`71I@a1>qI2#P>&ux`t<2T3`PQMF9t(O*8mnEq%jqrIB|l=n%!QZO2MhAskDs* zG|3k)UL@Yx*%{l5+MAe|$S;eIj>hY$Q>W04G6q!|bz2p?D})_y!oSgji>sKPtZ^038aQygjB3rg>iH_260o8?-wY7tP8|gJt zg45E{L~Sz=6&3aB)vHUFF8y~6E31fz2prJ8SO%7gQKd68f894l02^w%(NL*iB`PaL3h@qC*$Rpd|8paQ{gQF_=# zaB^}&2~9{ypoaWhl$-+qcKT z?c29`9#gTsy}cR+D}`7v(hQ~o5s4`eGWc7NuCA`kMfp4|=mQwej|2Yhtf24DR5V%% z#Dde))9E1?0a+I{DI+6;n4q8_Y$g&L&BF|onb=b@0;XlPELI4y;G;*6mR|(#egFPF zziF&Vgety&7C6BV9z5Xr`t|FpVy<%hPcW<(#iXDgYq6j3bN+s1U|=9#`LAIypt}(C zU-l3^c0vfKXtWaiPcYQdb09)MK!8@Oy?psHF=#(nOqRbffLeuD(RUvNeHKv5Vukn@ XD!a(&BUhD^00000NkvXXu0mjf1y+z$ diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png index 8f2b85d4108ab9d23cf6c6175af81368926c80ef..0ec303439225b78712f49115768196d8d76f6790 100644 GIT binary patch delta 850 zcmV-Y1Fih;9o`0z8Gi!+000iU#^3+|0OwFlR7L;)|5U~J09TtSw)Xt~|5(QO`~Ck( z!T0|D|3<*~RmJ%E{r+;#`2ba!klFf7!uJMSo%Q?vP{jByxcAZE>;OrUCbaZYjJo^$ z{nGILmD~Da$@upC{`C6(Ey4dPw)Pyc^>5DkHoEo!QcuK-Jwl-l}t(fQKv z{dds$V#@dygS`PvhX6is7Z+@*x-d;$ zb=6f@U3Jw}_s+W3%*+b9H_vS)-R#9?zrXogeLVI2We2RFTTAL}&3C8PS~<5D&v@UI z+`s*$wqQ=yd$laNUY-|ovcS9~n_90tFUdl#qq0tEUXle|k{Op|DHpSrbxEeZ5~$>o%>OSe z^=41qvh3LlC2xXzu+-2eQoqs1^L>7ylB$bCP);(%(xYZL1 cY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f|_m0CjbBd literal 3823 zcmb7{X*|?l`^W8DX6zKo42DF=nl&;b3fU@UjhL~Gy|HASu~Uhtu@A*B+mEtm&6a(v z*|YC6CR+&iw`c!n|NDM$&h_NH&g*)e>+`wZ*NHVYx&vb2XQ85^0_p3)O@ZkDcQMfb zdlf@&Bo!67N*}Im?oYjKb;0~WJO6C!{3R9(2@_#_#7DX}%e2``pLyRqUTYkZGW;NH znEWC)bt$>EyIA3#shR5sCzH68Cle>ILX>9d>vyrSY@8!LO$XD87*g*nBN&;jvg&zQ zZGr5=hYmRPE1#dOo*;A zNoxw#vPytfb9x>5Ixkb~#b>Pe6QGmg#oE9BypNi`3x8}x`lt6%rmv5)tWNa*aQFYo zf{}gufpS;1bAGUU@mQQlXU0%EzLhoxd>0jcs~&G5d5ujRP^c@o^V#uEyGH23uM zj9&KQMjQHSYq!*REgtW!C#R;aY&70vQHD*rRF+y+qi4ScEH5uhJ}fRYE9g&=FjJo_ zn@L*hNt3ystr@)7k@#gLQF(TULV2(79UCgtvmK-9wa~Ws>ed;sy!U%jue;9F`H^QE ztcN5!=WXCZH$Cn4)`&0|jNm+&qpcBiASEr`Na+w*#`JpCa1f`eJ+g0lEwsn;A%^o_ zX|k9-fBsxoS2r+FRWEH$gK=IO?y!-r=sNaR@)3M^>3eeL%ggmBBH@wk>8iU9&Z9Su zO?@Y9Pg9j{oC_45^!9C~@46|GuAI^PLt$DXr^r)== zy*%R$ZH4gVqutfH;KLa%F@vtYK1V}i2owrMZE8mhyoKv@Xq@g1rz^R08m27YaOikJ zY3D0ujulSvv$7JT!Q8&xie=NhTGRw?afD-+3$g+?zOminHna;MP1m-isic41O$-gw8g!Q6^KYoD4Z)V~>cJU%%&&pA`ceGhh z*1#(uaKU!A)~A5b;cAdOJ3EVIWJ@J_F#e<=K(9kY_bfuT$~&V#0tZXU_r0YU85pE( z8^5|wRmpOsO0XLUlHWekY94LAH~RI*6BA}+`Q}+gYzJ#Yr1vBVg?{AJfFbM^& zLB$Vdsr6v|1|?4_?+$ZwabZ*F?B73wNjddrOjLW!fdrJK9#`N>JVpwM5%d>wc9hW5 zze)AvYa3Tv4`Y)xb^LxZ|rLuFf#6UR9@5ZqSa{ss>( zuW;7ju}(Dj(yWgTBo-x0-#MaibaEnNSylYyi|6*HRb9*vQuaA66<9!p4YCi%O6D^0J!hqU1%IRZifELq*6} zrN_>0R7zXdK~#FXyN{1I%O(QzLuH!&cmp<@&$SKS=W+c-p=f`|&Yt_8EM8!gd3O_w z#d=91U(o0Mv?62&A4~{^{MH^G$kgFF?yHCx|LW~>rxvf zA|uCieprW|?(1Ua^lm1hm@E&7PSk0*5gm2twReh7XYUyps6XGjsGcHU=`zalkh=;! zbG%-VJ#-8x7=pezFL03=$&rYXb?9K#*! zTW~qmez=!rk7Ms6W{fQ|htYVQ@0%8|gI?y0?mc6W)5@P@7ic;=mb4VQa^+=CIP=cY zYW7?`MrNF4wA3u%|40#R$qT{js*?Q{lRmu5L$vrdsVYe(6{R zHm;wg*7a>$H>9P(-Eb2j?&l@6Xwr%gB$5Ibc{FC_C>Hh$CSY#$Cz1~5sXL-;@zcPV z{~~RCdxUS4Ar1AvBl*xL8AjFm|MyhSTSi6mG;QXGRXgm5|@_9}Uw9 zuQM|nLeE2=goqv+=YtH|Pm|8n>mtAK;9m{K7x<*P1#UyQvfHs0!6(nhd{;9ufeYcLcVYpM$ydMmZr_Sy9=8d) zelv2`ZquWFyDEs>z(>DU8xcWM$`ciRjl~N$ea;juCMaB2Tx^i=m79ZuLqs=0tIeOR z5rPcqPLb$hYiazbrUP;C=ia}Z`t_^&826PcS+8IJ)XTP}kB-qrIq^lRKu~sIoa)L5 z6G2IxKXSC_kqBu1Njc3?pYq&N@#)DS<~&l>a3llO8}89`T9w6<#O-5eWCX4birB(R zc`rCyG`^_)!7jxWZe?ZFyZqXp34(B$emYKwf?Jl1O?*bi;}fV7Uh@P~Ms^2tbp({$ z3Jb~Sp7F%Ez?yiLXIEX(FWmut!>sO zdIbQ2%cu-GBt>QL`|)gv)e#7{&5}9%gMtb^er#QC2f5)QfwnF2>A9xgM#>K*6_xkg z2c#KEvAuWJ+uNTkThN4g*Xat4_>j}%r;W#3p9extww0@92L@hc^xV-4INcv_k1{ba zsh$f_lZZciNx?>yR~Mn_PhuDh@%RM$-gh^CbBouVkejk&KnX2CdvA~Gs^ysG*gsOpLaH2^^X3#X}Ms9F{LymuqJp;KtL@b^0dbSM6M)ma5e<) zy9kV#Nv%`tZH6Fpo#&2LxX5i^J!KZML?y0-{fq zH^Bg&{Cx2RkK*>h{yxmHFG(v*?09n6M3LyJd*fFH#4Ti}h0!Y5!r~$)$dtE)4ua>F zo$%gB&oN9_dT=l(V*K}DgPDz1JnwaTdwa+vfS~U8YiK6nf%~^kMXTCPJUjex>T`Nx%Fcu-a4ch=AG=3EY zfFAD_T^@w-|9b4BpB!O;jcHoAgg44mO`?HM0lfKV;_u-2MXC{tFuuUMebqNMN^SG9 zwYfPnYc)bUgMr8IdkS}(RT9-J8qi?O&uBKGv9DWE0_efbuug42X%b3!n5gLQqa$eM zRF%5`(q;Cm%0wlNLM0uQp8@S&u1>VVoE|F(RH8U(L=>sZ&tC%USWQfDdrO+CCId6* zPlL8$<~E@|nB6ctj<3&k4K)fzae@A6cE95VadRnk85+*Ic)ejxQA<^)C$Q<#qJ#|l zL#|1-m>8!;OrUCbaZYjJo^$ z{nGILmD~Da$@upC{`C6(Ey4dPw)Pyc^>5DkHoEo!QcuK-Jwl-l}t(fQKv z{dds$V#@dygS`PvhX6is7Z+@*x-d;$ zb=6f@U3Jw}_s+W3%*+b9H_vS)-R#9?zrXogeLVI2We2RFTTAL}&3C8PS~<5D&v@UI z+`s*$wqQ=yd$laNUY-|ovcS9~n_90tFUdl#qq0tEUXle|k{Op|DHpSrbxEeZ5~$>o%>OSe z^=41qvh3LlC2xXzu+-2eQoqs1^L>7ylB$bCP);(%(xYZL1 cY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f|_m0CjbBd literal 3823 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 KMva<1{Qm*>LPg#H diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png index 35d5e0ade0e944029e43f84ba78910487cdd9942..84ac32ae7d989f82d5e46a60405adcc8279e8001 100644 GIT binary patch delta 749 zcmVg;Ps8|O$@u8^{Z_{KM!@$5TAfS6_e#O{MZfpz`2O`0$7~@NRr(1{THzH08y3x{{PYM{eL;T_A9^tcF_4Sxb`8l z_9V3RD6;a(-0A^Pjsi!1?)d#Ap4Tk3^CP0(07;VpJ7@tgQ}z4)*zx@&yZwC9`DV-b z0ZobH_5IB4{KxD3;p_6%|f=bdFhu+F!zMZ2UFj;GUKX7tI;hv3{q~!*pMj75WP_c}> z6)IWvg5_yyg<9Op()eD1hWC19M@?_9_MHec{Z8n3FMs~w_u?Av_yNBmRxVYrpi(M% zFMP21g+hmocQp3ay*Su=qM6He)*HaaTg$E^sym`(t%s3A)x!M+vfjXUBEpK6X9%iU zU!u9jj3(-$dM~sJ%Liy#?|+!6IY#MTau#O6vVj`yh_7%Ni!?!VS+MPTO(_fG+1<#p zqu;A#i+_(N%CmVnYvb>#nA{>Q%3E`Ds7<~jZMywn@h2t>G-LrYy7?Dj{aZqhQd6tzX%(Trn+ z)HNF}%-F{rr=m*0{=a;s#YDL00000NkvXXu0mjfRz;Zz delta 2259 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 literal 4859 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 D?5ir7 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png index 490487a28882a509a50f400dabb67f569f29c622..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 100644 GIT binary patch delta 1410 zcmV-|1%3L@DT)h_8Gi!+002YCyxsr+0P|2xR7L;)|5U~JDYo_jSDRDB`2GI>{Qds= z{r_0T`1}6fwc-8!#-TGX}_?g)CZq4{k!uZ_g@DrQdoW0kI zu+W69&uN^)W`CK&06mMNcYMVF00dG=L_t(|+U?wHQxh>12H+Dm+1+fh+IF>G0SjJM zkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJTkdTm&kdTm&kdTm&kdP`e zsgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>VI$fQI%^ugM`#6By?GeadWcu z0gy9!D`m!H>Bd!JW(@avE8`|5XX(0PN}!8K>`dkavs;rHL+wy96QGNT=S@#7%xtlm zIW!++@*2zm-Py#Zr`DzqsLm!b{iskFNULSqE9A>SqHem>o31A%XL>S_5?=;V_i_y+ z(xxXhnt#r-l1Y8_*h`r?8Tr|)(RAiO)4jQR`13X0mx07C&p@KBP_2s``KEhv^|*8c z$$_T(v6^1Ig=#R}sE{vjA?ErGDZGUsyoJuWdJMc7Nb1^KF)-u<7q zPy$=;)0>vuWuK2hQhswLf!9yg`88u&eBbR8uhod?Nw09AXH}-#qOLLxeT2%C;R)QQ$Za#qp~cM&YVmS4i-*Fpd!cC zBXc?(4wcg>sHmXGd^VdE<5QX{Kyz$;$sCPl(_*-P2Iw?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF34$0Z;QO!J zOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUCUoZo%k(yku QW&i*H07*qoM6N<$f;6kmF8}}l literal 5327 zcmb_=^;=Y5v^O9EA}t`&9RkudGzf}x2s0v$AR#>r-Hm{Br-I-NLxT=oN;d=2Au$Xk z(s|GK{S)4Mf7oX|&pG=!=j^rDC)SSD(|JKkOizr1gF~wE^0@&Jzy3Ff@PO-;*L*V$ z4t0jcb7dnR+&!}gMz4GC+Ifr5wP>a4wKWr~6C-0Q z%757DGYj`~i42#5%6=55_!#v~P4!Tn(NLZT-@1;tj>w-aX8VT{ww&21M0aODwAdWp z@Z4%13fS^r{P*u)y7kW=u&7P*R`Z2Ib}Q!nQhA(MgAiM@=P%J}5&!#;hL4?AWK1ti zHN<2265n!lc9)PSSg8xs0v;436!3@YTCts>_YAJRenm_jva8fSW9P*FABCP}r(#_jeuFU+QOl zmp4~uJlZ++4wKxMsR;~HYt5VmUDM!SLy0jl($Jl>%`MiY?rsilZUVbDBZ5smH$F6M zZ;pnB28u-sE-nY1Ey7?2OZl>}eVZhC>XCfUx*%X_hlhuXch{*LhRC-vJy>OBWe5ZkPCyEBU&9Z| z%FEluVjq&~8*o4cq(!h8494>Ba`4?opQWVG+wT-<7T?{9gYRz7b%JSFSPu5~n4Ua= zTysFBrTMXXZ)lExDZ`C!p>A-2ad5buDi1}?-3U5K|p;p;?X=c0t25y4N9JMJ*FK1**FE!dz5pn2eZD8ra}!to-J zgb9@Pu7Gc@$+g|GGb}GJFD52N@%CKRWHTSO)M=y48_iFsIAUzK))Si#f*K&^WvVIl z=pH_P*5bZS5VY^NnipOR?2)_l>h*n-BDHwhcv?XfM5OR;({j*cI#9b07x47jUrJ@ zuxP&>$`(`h_45NAw?Es6ITkL~@CR_t*`J6Pq)`8IZ?54Xl%I?^+U90w8lL5SKJxhA z>8W{*_5HTsi;YaTBj~%8#7_Mtuz>JsI3YPY@MAz=;QHFy%dlYpA~%13u{hx$BEHjY z#C@(Q$j?t$A-)T2qdOL)_OE=?Alz#|oKwngSYzFr&TnE|WzH1XrPwz#RG%K|5R;H_ z^6#H2!^jFysRv7~aM}>hvnBrnno}3X$7DUAfD`xipG@+8Q+ia)5P%>ka*~+k-@vq) zlX`*Oz@jVRV0q6TJk(9dcu^7SM1d^qS>A&a*Tuy}t8p_A*^y8ehou%@AVm_?PKzjs z*)SMsWl?qxHPHl6ET6&MH&yMoZ%nv_g(-B&9S(li5oV}x;E?`Z@EoOCA;=?4?7EC1 zWoSEJd#GCDce110#G%6==}ecWVD?0Mr?|NIz0!y3u0UN~-EADvBq1}@b7R*joaODW z9Zjp8ZbWF^JZTY!2~O3Tfpq?EBY$6CwHGf~6av5|WhPbT0Kir5MKS6U@GrdZIo+)r zEeV}vvQt@?TXX0TTU}k%Uy*gEN>jkjAkD&&oAw&K#)k62x7YL%j=M{(3|93>5^-FJ zW29)vsro3&+N{}o?{^)KgKEvZg3>(#5+#%S&7@yd`05gIK%$~lAhaHp7#%H>n9op_ z2V3I7JCLGwnn5xh zlMI-Y&M_C1@hWnymL_x?(d zmG2|Hu&}W5r)~{3V-YMbAfQ!)vSSH4XM@857&m^H�GjS@8MON11@L=HHjqiu+Zq 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 Dh_rmg diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 5b1953af22..926d9c1c49 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -4,6 +4,8 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Blt CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier @@ -11,7 +13,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - bugheist + blt CFBundlePackageType APPL CFBundleShortVersionString @@ -26,8 +28,6 @@ LaunchScreen UIMainStoryboardFile Main - ITSAppUsesNonExemptEncryption - UISupportedInterfaceOrientations UIInterfaceOrientationPortrait @@ -43,25 +43,9 @@ UIViewControllerBasedStatusBarAppearance - CFBundleURLTypes - - - CFBundleTypeRole - Editor - CFBundleURLSchemes - - ShareMedia - - - - - NSPhotoLibraryUsageDescription - To upload photos, please allow permission to access your photo library. - NSCameraUsageDescription - To upload photos, please allow permission to access your photo library. - NSMicrophoneUsageDescription - To upload photos, please allow permission to access your photo library. - - + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + diff --git a/ios/Runner/Runner.entitlements b/ios/Runner/Runner.entitlements deleted file mode 100644 index 32f73a0224..0000000000 --- a/ios/Runner/Runner.entitlements +++ /dev/null @@ -1,14 +0,0 @@ - - - - - com.apple.developer.associated-domains - - applinks:bugheist.com - - - - aps-environment - development - - diff --git a/ios/ShareExtension/Base.lproj/MainInterface.storyboard b/ios/ShareExtension/Base.lproj/MainInterface.storyboard deleted file mode 100644 index 286a50894d..0000000000 --- a/ios/ShareExtension/Base.lproj/MainInterface.storyboard +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ios/ShareExtension/Info.plist b/ios/ShareExtension/Info.plist deleted file mode 100644 index 8d3b199b3e..0000000000 --- a/ios/ShareExtension/Info.plist +++ /dev/null @@ -1,60 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - ShareExtension - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1 - NSExtension - - NSExtensionAttributes - - PHSupportedMediaTypes - - - Video - - Image - - NSExtensionActivationRule - - - NSExtensionActivationSupportsText - - - NSExtensionActivationSupportsWebURLWithMaxCount - 1 - - NSExtensionActivationSupportsImageWithMaxCount - 100 - - NSExtensionActivationSupportsMovieWithMaxCount - 100 - - - NSExtensionActivationSupportsFileWithMaxCount - 1 - - - NSExtensionMainStoryboard - MainInterface - NSExtensionPointIdentifier - com.apple.share-services - - - diff --git a/ios/ShareExtension/ShareExtension.entitlements b/ios/ShareExtension/ShareExtension.entitlements deleted file mode 100644 index 26975e49bd..0000000000 --- a/ios/ShareExtension/ShareExtension.entitlements +++ /dev/null @@ -1,10 +0,0 @@ - - - - - com.apple.developer.associated-domains - - applinks:bugheist.com - - - diff --git a/ios/ShareExtension/ShareViewController.swift b/ios/ShareExtension/ShareViewController.swift deleted file mode 100644 index 769220cb4b..0000000000 --- a/ios/ShareExtension/ShareViewController.swift +++ /dev/null @@ -1,342 +0,0 @@ -// -// ShareViewController.swift -// ShareExtension -// -// Created by BugHeist on 16/04/21. -// - -import UIKit -import Social -import MobileCoreServices -import Photos - -class ShareViewController: SLComposeServiceViewController { - // This should be your host app bundle identifier - let hostAppBundleIdentifier = "com.apps.bugheist" - let sharedKey = "ShareKey" - var sharedMedia: [SharedMediaFile] = [] - var sharedText: [String] = [] - let imageContentType = kUTTypeImage as String - let videoContentType = kUTTypeMovie as String - let textContentType = kUTTypeText as String - let urlContentType = kUTTypeURL as String - let fileURLType = kUTTypeFileURL as String; - - override func isContentValid() -> Bool { - return true - } - - override func viewDidLoad() { - super.viewDidLoad(); - } - - override func viewDidAppear(_ animated: Bool) { - super.viewDidAppear(animated) - - // This is called after the user selects Post. Do the upload of contentText and/or NSExtensionContext attachments. - if let content = extensionContext!.inputItems[0] as? NSExtensionItem { - if let contents = content.attachments { - for (index, attachment) in (contents).enumerated() { - if attachment.hasItemConformingToTypeIdentifier(imageContentType) { - handleImages(content: content, attachment: attachment, index: index) - } else if attachment.hasItemConformingToTypeIdentifier(textContentType) { - handleText(content: content, attachment: attachment, index: index) - } else if attachment.hasItemConformingToTypeIdentifier(fileURLType) { - handleFiles(content: content, attachment: attachment, index: index) - } else if attachment.hasItemConformingToTypeIdentifier(urlContentType) { - handleUrl(content: content, attachment: attachment, index: index) - } else if attachment.hasItemConformingToTypeIdentifier(videoContentType) { - handleVideos(content: content, attachment: attachment, index: index) - } - } - } - } - } - - override func didSelectPost() { - print("didSelectPost"); - } - - override func configurationItems() -> [Any]! { - // To add configuration options via table cells at the bottom of the sheet, return an array of SLComposeSheetConfigurationItem here. - return [] - } - - private func handleText (content: NSExtensionItem, attachment: NSItemProvider, index: Int) { - attachment.loadItem(forTypeIdentifier: textContentType, options: nil) { [weak self] data, error in - - if error == nil, let item = data as? String, let this = self { - - this.sharedText.append(item) - - // If this is the last item, save imagesData in userDefaults and redirect to host app - if index == (content.attachments?.count)! - 1 { - let userDefaults = UserDefaults(suiteName: "group.\(this.hostAppBundleIdentifier)") - userDefaults?.set(this.sharedText, forKey: this.sharedKey) - userDefaults?.synchronize() - this.redirectToHostApp(type: .text) - } - - } else { - self?.dismissWithError() - } - } - } - - private func handleUrl (content: NSExtensionItem, attachment: NSItemProvider, index: Int) { - attachment.loadItem(forTypeIdentifier: urlContentType, options: nil) { [weak self] data, error in - - if error == nil, let item = data as? URL, let this = self { - - this.sharedText.append(item.absoluteString) - - // If this is the last item, save imagesData in userDefaults and redirect to host app - if index == (content.attachments?.count)! - 1 { - let userDefaults = UserDefaults(suiteName: "group.\(this.hostAppBundleIdentifier)") - userDefaults?.set(this.sharedText, forKey: this.sharedKey) - userDefaults?.synchronize() - this.redirectToHostApp(type: .text) - } - - } else { - self?.dismissWithError() - } - } - } - - private func handleImages (content: NSExtensionItem, attachment: NSItemProvider, index: Int) { - attachment.loadItem(forTypeIdentifier: imageContentType, options: nil) { [weak self] data, error in - - if error == nil, let url = data as? URL, let this = self { - - // Always copy - let fileName = this.getFileName(from: url, type: .image) - let newPath = FileManager.default - .containerURL(forSecurityApplicationGroupIdentifier: "group.\(this.hostAppBundleIdentifier)")! - .appendingPathComponent(fileName) - let copied = this.copyFile(at: url, to: newPath) - if(copied) { - this.sharedMedia.append(SharedMediaFile(path: newPath.absoluteString, thumbnail: nil, duration: nil, type: .image)) - } - - // If this is the last item, save imagesData in userDefaults and redirect to host app - if index == (content.attachments?.count)! - 1 { - let userDefaults = UserDefaults(suiteName: "group.\(this.hostAppBundleIdentifier)") - userDefaults?.set(this.toData(data: this.sharedMedia), forKey: this.sharedKey) - userDefaults?.synchronize() - this.redirectToHostApp(type: .media) - } - - } else { - self?.dismissWithError() - } - } - } - - private func handleVideos (content: NSExtensionItem, attachment: NSItemProvider, index: Int) { - attachment.loadItem(forTypeIdentifier: videoContentType, options: nil) { [weak self] data, error in - - if error == nil, let url = data as? URL, let this = self { - - // Always copy - let fileName = this.getFileName(from: url, type: .video) - let newPath = FileManager.default - .containerURL(forSecurityApplicationGroupIdentifier: "group.\(this.hostAppBundleIdentifier)")! - .appendingPathComponent(fileName) - let copied = this.copyFile(at: url, to: newPath) - if(copied) { - guard let sharedFile = this.getSharedMediaFile(forVideo: newPath) else { - return - } - this.sharedMedia.append(sharedFile) - } - - // If this is the last item, save imagesData in userDefaults and redirect to host app - if index == (content.attachments?.count)! - 1 { - let userDefaults = UserDefaults(suiteName: "group.\(this.hostAppBundleIdentifier)") - userDefaults?.set(this.toData(data: this.sharedMedia), forKey: this.sharedKey) - userDefaults?.synchronize() - this.redirectToHostApp(type: .media) - } - - } else { - self?.dismissWithError() - } - } - } - - private func handleFiles (content: NSExtensionItem, attachment: NSItemProvider, index: Int) { - attachment.loadItem(forTypeIdentifier: fileURLType, options: nil) { [weak self] data, error in - - if error == nil, let url = data as? URL, let this = self { - - // Always copy - let fileName = this.getFileName(from :url, type: .file) - let newPath = FileManager.default - .containerURL(forSecurityApplicationGroupIdentifier: "group.\(this.hostAppBundleIdentifier)")! - .appendingPathComponent(fileName) - let copied = this.copyFile(at: url, to: newPath) - if (copied) { - this.sharedMedia.append(SharedMediaFile(path: newPath.absoluteString, thumbnail: nil, duration: nil, type: .file)) - } - - if index == (content.attachments?.count)! - 1 { - let userDefaults = UserDefaults(suiteName: "group.\(this.hostAppBundleIdentifier)") - userDefaults?.set(this.toData(data: this.sharedMedia), forKey: this.sharedKey) - userDefaults?.synchronize() - this.redirectToHostApp(type: .file) - } - - } else { - self?.dismissWithError() - } - } - } - - private func dismissWithError() { - print("[ERROR] Error loading data!") - let alert = UIAlertController(title: "Error", message: "Error loading data", preferredStyle: .alert) - - let action = UIAlertAction(title: "Error", style: .cancel) { _ in - self.dismiss(animated: true, completion: nil) - } - - alert.addAction(action) - present(alert, animated: true, completion: nil) - extensionContext!.completeRequest(returningItems: [], completionHandler: nil) - } - - private func redirectToHostApp(type: RedirectType) { - let url = URL(string: "ShareMedia://dataUrl=\(sharedKey)#\(type)") - var responder = self as UIResponder? - let selectorOpenURL = sel_registerName("openURL:") - - while (responder != nil) { - if (responder?.responds(to: selectorOpenURL))! { - let _ = responder?.perform(selectorOpenURL, with: url) - } - responder = responder!.next - } - extensionContext!.completeRequest(returningItems: [], completionHandler: nil) - } - - enum RedirectType { - case media - case text - case file - } - - func getExtension(from url: URL, type: SharedMediaType) -> String { - let parts = url.lastPathComponent.components(separatedBy: ".") - var ex: String? = nil - if (parts.count > 1) { - ex = parts.last - } - - if (ex == nil) { - switch type { - case .image: - ex = "PNG" - case .video: - ex = "MP4" - case .file: - ex = "TXT" - } - } - return ex ?? "Unknown" - } - - func getFileName(from url: URL, type: SharedMediaType) -> String { - var name = url.lastPathComponent - - if (name.isEmpty) { - name = UUID().uuidString + "." + getExtension(from: url, type: type) - } - - return name - } - - func copyFile(at srcURL: URL, to dstURL: URL) -> Bool { - do { - if FileManager.default.fileExists(atPath: dstURL.path) { - try FileManager.default.removeItem(at: dstURL) - } - try FileManager.default.copyItem(at: srcURL, to: dstURL) - } catch (let error) { - print("Cannot copy item at \(srcURL) to \(dstURL): \(error)") - return false - } - return true - } - - private func getSharedMediaFile(forVideo: URL) -> SharedMediaFile? { - let asset = AVAsset(url: forVideo) - let duration = (CMTimeGetSeconds(asset.duration) * 1000).rounded() - let thumbnailPath = getThumbnailPath(for: forVideo) - - if FileManager.default.fileExists(atPath: thumbnailPath.path) { - return SharedMediaFile(path: forVideo.absoluteString, thumbnail: thumbnailPath.absoluteString, duration: duration, type: .video) - } - - var saved = false - let assetImgGenerate = AVAssetImageGenerator(asset: asset) - assetImgGenerate.appliesPreferredTrackTransform = true - // let scale = UIScreen.main.scale - assetImgGenerate.maximumSize = CGSize(width: 360, height: 360) - do { - let img = try assetImgGenerate.copyCGImage(at: CMTimeMakeWithSeconds(600, preferredTimescale: Int32(1.0)), actualTime: nil) - try UIImage.pngData(UIImage(cgImage: img))()?.write(to: thumbnailPath) - saved = true - } catch { - saved = false - } - - return saved ? SharedMediaFile(path: forVideo.absoluteString, thumbnail: thumbnailPath.absoluteString, duration: duration, type: .video) : nil - - } - - private func getThumbnailPath(for url: URL) -> URL { - let fileName = Data(url.lastPathComponent.utf8).base64EncodedString().replacingOccurrences(of: "==", with: "") - let path = FileManager.default - .containerURL(forSecurityApplicationGroupIdentifier: "group.\(hostAppBundleIdentifier)")! - .appendingPathComponent("\(fileName).jpg") - return path - } - - class SharedMediaFile: Codable { - var path: String; // can be image, video or url path. It can also be text content - var thumbnail: String?; // video thumbnail - var duration: Double?; // video duration in milliseconds - var type: SharedMediaType; - - - init(path: String, thumbnail: String?, duration: Double?, type: SharedMediaType) { - self.path = path - self.thumbnail = thumbnail - self.duration = duration - self.type = type - } - - // Debug method to print out SharedMediaFile details in the console - func toString() { - print("[SharedMediaFile] \n\tpath: \(self.path)\n\tthumbnail: \(self.thumbnail)\n\tduration: \(self.duration)\n\ttype: \(self.type)") - } - } - - enum SharedMediaType: Int, Codable { - case image - case video - case file - } - - func toData(data: [SharedMediaFile]) -> Data { - let encodedData = try? JSONEncoder().encode(data) - return encodedData! - } -} - -extension Array { - subscript (safe index: UInt) -> Element? { - return Int(index) < count ? self[Int(index)] : nil - } -} \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index fa4a5f1404..195c9fe138 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -7,6 +7,6 @@ void main() { SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, DeviceOrientation.portraitDown, - ]).then((value) => runApp(BugHeist())); - runApp(BugHeist()); + ]).then((value) => runApp(BLT())); + runApp(BLT()); } diff --git a/lib/src/app.dart b/lib/src/app.dart index cd90adfbd4..b41d82abe8 100644 --- a/lib/src/app.dart +++ b/lib/src/app.dart @@ -1,20 +1,20 @@ import 'dart:async'; -import 'package:bugheist/src/pages/onboarding_main_page.dart'; -import 'package:bugheist/src/routes/routing.dart'; +import 'package:blt/src/pages/onboarding_main_page.dart'; +import 'package:blt/src/routes/routing.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:receive_sharing_intent/receive_sharing_intent.dart'; -/// ### The BugHeist app's root widget -class BugHeist extends StatefulWidget { - const BugHeist({Key? key}) : super(key: key); +/// ### The BLT app's root widget +class BLT extends StatefulWidget { + const BLT({Key? key}) : super(key: key); @override - BugHeistState createState() => BugHeistState(); + BLTState createState() => BLTState(); } -class BugHeistState extends State { +class BLTState extends State { late StreamSubscription _intentDataStreamSubscription; late List _sharedFiles; //late String _sharedText; @@ -85,7 +85,7 @@ class BugHeistState extends State { scaffoldMessengerKey: _messengerKey, debugShowCheckedModeBanner: false, onGenerateRoute: RouteManager.generateRoute, - title: 'BugHeist', + title: 'BLT', theme: ThemeData( // useMaterial3: true, primarySwatch: Colors.red, diff --git a/lib/src/components/appbar.dart b/lib/src/components/appbar.dart index 5e8f2a8cb9..d070f98c5f 100644 --- a/lib/src/components/appbar.dart +++ b/lib/src/components/appbar.dart @@ -8,7 +8,7 @@ import '../components/searchbar.dart'; AppBar buildAppBar({required BuildContext context}) { return AppBar( title: SvgPicture.asset( - 'assets/bugheist_logo.svg', + 'assets/blt_logo.svg', fit: BoxFit.cover, height: 30, ), @@ -20,7 +20,7 @@ AppBar buildAppBar({required BuildContext context}) { onPressed: () { showSearch( context: context, - delegate: BugHeistSearchDelegate(), + delegate: BLTSearchDelegate(), ); // do something }, diff --git a/lib/src/components/onboarding/data/onboard_page_data.dart b/lib/src/components/onboarding/data/onboard_page_data.dart index 7850fd3aef..cf5271ad9a 100644 --- a/lib/src/components/onboarding/data/onboard_page_data.dart +++ b/lib/src/components/onboarding/data/onboard_page_data.dart @@ -10,15 +10,15 @@ List onboardData = [ 0, 'assets/logo_white.svg', 'INSIGHT', - 'BugHeist', - 'BugHeist is a bug-hunting & logging tool which allows you, the user or company to hunt for bugs, claim bug hounties and allow you to start bughunting spree/contest respectively.', + 'BLT', + 'BLT is a bug-hunting & logging tool which allows you, the user or company to hunt for bugs, claim bug hounties and allow you to start bughunting spree/contest respectively.', ), OnboardPageModel( Colors.white, Color(0xFFDC4654), Color(0xFFE6E6E6), 1, - 'assets/bugheist_logo.svg', + 'assets/blt_logo.svg', 'EARN', 'POINTS', '(+1) Invite friends\n(+2) Verify other bug reports\n(+3) Fix issues on websites, apps or hardware\n(+4) Find a bug on a new site or app', diff --git a/lib/src/components/onboarding/onboarding.dart b/lib/src/components/onboarding/onboarding.dart index 0a04dad7d3..09af649273 100644 --- a/lib/src/components/onboarding/onboarding.dart +++ b/lib/src/components/onboarding/onboarding.dart @@ -75,7 +75,7 @@ class _OnboardingState extends State { Padding( padding: const EdgeInsets.only(left: 20.0), child: Text( - 'Explore BugHeist', + 'Explore BLT', style: TextStyle( fontSize: 22, fontWeight: FontWeight.bold, diff --git a/lib/src/components/searchbar.dart b/lib/src/components/searchbar.dart index 4b980a164f..29ce7cfc2a 100644 --- a/lib/src/components/searchbar.dart +++ b/lib/src/components/searchbar.dart @@ -6,7 +6,7 @@ import '../models/issuedata_model.dart'; import '../components/issue_intro_card.dart'; /// The search bar of app for searching issues based on keyword. -class BugHeistSearchDelegate extends SearchDelegate { +class BLTSearchDelegate extends SearchDelegate { @override List? buildActions(BuildContext context) { return [ diff --git a/lib/src/constants/about_constants.dart b/lib/src/constants/about_constants.dart index 1e8d5f127d..2408b7ea51 100644 --- a/lib/src/constants/about_constants.dart +++ b/lib/src/constants/about_constants.dart @@ -1,26 +1,26 @@ // Constants for the About Page -final String aboutBugHeist = +final String aboutBLT = """Software code allows us to buy a gift for Mom or Dad on amazon.com in 7 seconds, watch our favorite “House of Cards” episode on Netflix or read Yelp reviews about a new restaurant.\n When we can’t access the information we’re looking for on the internet within seconds, we are not happy. \nThis is where you come into the picture. - \nBugHeist wants you to identify the software (and hardware) bugs that delay downloads, freeze screens, create payloads that deliver malware to websites and generate other issues."""; + \nBLT wants you to identify the software (and hardware) bugs that delay downloads, freeze screens, create payloads that deliver malware to websites and generate other issues."""; final String forYou = '''\u2022 Points. -\u2022 Money if you join a BugHeist Sponsored Bug Hunt. +\u2022 Money if you join a BLT Sponsored Bug Hunt. \u2022 Jackpot money listed on the Leaderboard. \u2022 Money if someone tips you for finding a bug through the tip button. \u2022 Experience to add to your résumé or portfolio.'''; -final String forTesters = '''1. Create a User Account to log into BugHeist. +final String forTesters = '''1. Create a User Account to log into BLT. 2. Describe the software or hardware bug you found. 3. Attach a screenshot of the bug. 4. Submit the information. 5. Win money through company-sponsored Bug Hunts, tips or the Grand Prize/Jackpot.We may also have 'heists' where each bug is worth a specific amount based on what the company sets. -6. If you participate in BugHeist’s sponsored Bug Hunts, you could win prize money known as tips.'''; +6. If you participate in BLT’s sponsored Bug Hunts, you could win prize money known as tips.'''; final String forOrgs = ''' We want everyone to love your website and apps.\n You want to keep your customers happy by giving them a consistent bug-free user experience. -BugHeist offers monthly Bug Hunts through 4 different subscription plans to help you achieve this. +BLT offers monthly Bug Hunts through 4 different subscription plans to help you achieve this. '''; diff --git a/lib/src/global/variables.dart b/lib/src/global/variables.dart index ef36e2c078..bbe87fe933 100644 --- a/lib/src/global/variables.dart +++ b/lib/src/global/variables.dart @@ -1,4 +1,4 @@ -import 'package:bugheist/src/models/user_model.dart'; +import 'package:blt/src/models/user_model.dart'; // Global variables used throughout the app. diff --git a/lib/src/models/company_model.dart b/lib/src/models/company_model.dart index 979f939706..39fc20cafb 100644 --- a/lib/src/models/company_model.dart +++ b/lib/src/models/company_model.dart @@ -1,6 +1,6 @@ import 'dart:ui'; -/// Model class for a company/domain on BugHeist +/// Model class for a company/domain on BLT class Company { int? id; final String companyName; diff --git a/lib/src/models/issue_model.dart b/lib/src/models/issue_model.dart index d077bfc171..d03a3df2ce 100644 --- a/lib/src/models/issue_model.dart +++ b/lib/src/models/issue_model.dart @@ -2,7 +2,7 @@ import 'package:intl/intl.dart'; import './user_model.dart'; -/// Model class for an issue posted on BugHeist. +/// Model class for an issue posted on BLT. class Issue { final int? id; final User? user; diff --git a/lib/src/models/issuedata_model.dart b/lib/src/models/issuedata_model.dart index 94b0cc75f1..b715fb9a0d 100644 --- a/lib/src/models/issuedata_model.dart +++ b/lib/src/models/issuedata_model.dart @@ -1,4 +1,4 @@ -import 'package:bugheist/src/models/issue_model.dart'; +import 'package:blt/src/models/issue_model.dart'; /// Model class for the paginated data sent on requesting issues. class IssueData { diff --git a/lib/src/models/user_model.dart b/lib/src/models/user_model.dart index 4f055d3405..8c012819c7 100644 --- a/lib/src/models/user_model.dart +++ b/lib/src/models/user_model.dart @@ -1,4 +1,4 @@ -/// Model class for a user signed up on BugHeist. +/// Model class for a user signed up on BLT. class User { int? id; String? username; diff --git a/lib/src/pages/auth/forgot.dart b/lib/src/pages/auth/forgot.dart index 6a8f5ef1e4..e7ecab9385 100644 --- a/lib/src/pages/auth/forgot.dart +++ b/lib/src/pages/auth/forgot.dart @@ -1,4 +1,4 @@ -import 'package:bugheist/src/util/api/auth_api.dart'; +import 'package:blt/src/util/api/auth_api.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:google_fonts/google_fonts.dart'; diff --git a/lib/src/pages/auth/login.dart b/lib/src/pages/auth/login.dart index 30a0797594..8eb5dbdbea 100644 --- a/lib/src/pages/auth/login.dart +++ b/lib/src/pages/auth/login.dart @@ -1,5 +1,5 @@ -import 'package:bugheist/src/providers/authstate_provider.dart'; -import 'package:bugheist/src/routes/routing.dart'; +import 'package:blt/src/providers/authstate_provider.dart'; +import 'package:blt/src/routes/routing.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_svg/flutter_svg.dart'; diff --git a/lib/src/pages/auth/signup.dart b/lib/src/pages/auth/signup.dart index 7f09998bd4..9bde05e059 100644 --- a/lib/src/pages/auth/signup.dart +++ b/lib/src/pages/auth/signup.dart @@ -1,4 +1,4 @@ -import 'package:bugheist/src/util/api/auth_api.dart'; +import 'package:blt/src/util/api/auth_api.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:google_fonts/google_fonts.dart'; diff --git a/lib/src/pages/drawer/about.dart b/lib/src/pages/drawer/about.dart index fc8506afed..4739981960 100644 --- a/lib/src/pages/drawer/about.dart +++ b/lib/src/pages/drawer/about.dart @@ -1,9 +1,9 @@ -import 'package:bugheist/src/constants/about_constants.dart'; +import 'package:blt/src/constants/about_constants.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:google_fonts/google_fonts.dart'; -/// Page for describing the BugHeist project. +/// Page for describing the BLT project. class AboutPage extends StatelessWidget { const AboutPage({Key? key}) : super(key: key); @@ -30,14 +30,14 @@ class AboutPage extends StatelessWidget { Container( padding: EdgeInsets.fromLTRB(0, 36, 0, 24), child: SvgPicture.asset( - 'assets/bugheist_logo.svg', + 'assets/blt_logo.svg', width: 169.42, ), ), Container( padding: EdgeInsets.fromLTRB(0, 0, 0, 24), child: Text( - aboutBugHeist, + aboutBLT, style: GoogleFonts.aBeeZee( textStyle: TextStyle( color: Color(0xFF737373), diff --git a/lib/src/pages/drawer/company_dashboard.dart b/lib/src/pages/drawer/company_dashboard.dart index d23e11eba6..a43806730c 100644 --- a/lib/src/pages/drawer/company_dashboard.dart +++ b/lib/src/pages/drawer/company_dashboard.dart @@ -62,7 +62,7 @@ class _CompanyDashBoardPageState extends ConsumerState { Navigator.of(context).pop(); }, ), - title: Text("BugHeist"), + title: Text("BLT"), actions: [ IconButton( onPressed: () {}, @@ -97,9 +97,7 @@ class _CompanyDashBoardPageState extends ConsumerState { decoration: BoxDecoration( color: companyColor.withOpacity(0.5), image: DecorationImage( - image: NetworkImage( - "https://storage.googleapis.com/bhfiles/logos/https:/bugheist.com.jpg", - ), + image: AssetImage("assets/logo.png"), fit: BoxFit.cover, ), boxShadow: [ @@ -117,7 +115,7 @@ class _CompanyDashBoardPageState extends ConsumerState { child: Row( children: [ Text( - "BugHeist", + "BLT", style: GoogleFonts.ubuntu( textStyle: TextStyle( fontWeight: FontWeight.bold, diff --git a/lib/src/pages/drawer/legal.dart b/lib/src/pages/drawer/legal.dart index 7ef89cb05e..b25f5887ea 100644 --- a/lib/src/pages/drawer/legal.dart +++ b/lib/src/pages/drawer/legal.dart @@ -5,7 +5,7 @@ import 'package:google_fonts/google_fonts.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; /// Page stating the legal Terms and Conditions and Privacy -/// Policy applying to the BugHeist project. +/// Policy applying to the BLT project. class LegalPage extends StatelessWidget { const LegalPage({Key? key}) : super(key: key); @@ -32,14 +32,14 @@ class LegalPage extends StatelessWidget { Container( padding: EdgeInsets.fromLTRB(0, 36, 0, 24), child: SvgPicture.asset( - 'assets/bugheist_logo.svg', + 'assets/blt_logo.svg', width: 169.42, ), ), Container( padding: EdgeInsets.fromLTRB(0, 0, 0, 24), child: Text( - "By using the BugHeist app, you agree to the following terms and conditions and privacy policy. ", + "By using the BLT app, you agree to the following terms and conditions and privacy policy. ", style: GoogleFonts.aBeeZee( textStyle: TextStyle( color: Color(0xFF737373), diff --git a/lib/src/pages/error.dart b/lib/src/pages/error.dart index d837e4927d..b24f595483 100644 --- a/lib/src/pages/error.dart +++ b/lib/src/pages/error.dart @@ -1,4 +1,4 @@ -import 'package:bugheist/src/routes/routing.dart'; +import 'package:blt/src/routes/routing.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:flutter_svg/flutter_svg.dart'; @@ -49,7 +49,7 @@ class ErrorPage extends StatelessWidget { height: 12, ), Text( - "You have found a bug on BugHeist!\nFeel free to report it or go to home", + "You have found a bug on BLT!\nFeel free to report it or go to home", style: GoogleFonts.aBeeZee( textStyle: TextStyle( color: Color(0xFF737373), diff --git a/lib/src/pages/home/feed.dart b/lib/src/pages/home/feed.dart index 5887268136..ef4c9d31ec 100644 --- a/lib/src/pages/home/feed.dart +++ b/lib/src/pages/home/feed.dart @@ -4,7 +4,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart'; import '../../global/variables.dart'; -/// Page for showing social activity of BugHeist, new issues, +/// Page for showing social activity of BLT, new issues, /// top premium subscribers. class Feed extends ConsumerStatefulWidget { const Feed({Key? key}) : super(key: key); @@ -40,7 +40,7 @@ class _FeedState extends ConsumerState { height: 10, ), Text( - "Check the latest happenings in the world of BugHeist!", + "Check the latest happenings in the world of BLT!", style: GoogleFonts.aBeeZee( textStyle: TextStyle( color: Color(0xFF737373), diff --git a/lib/src/pages/home/home.dart b/lib/src/pages/home/home.dart index 1a8b7c9efd..fc83a87008 100644 --- a/lib/src/pages/home/home.dart +++ b/lib/src/pages/home/home.dart @@ -1,12 +1,12 @@ -import 'package:bugheist/src/global/variables.dart'; -// import 'package:bugheist/src/pages/home/feed.dart'; -import 'package:bugheist/src/pages/home/issues.dart'; -import 'package:bugheist/src/pages/home/leaderboard.dart'; -import 'package:bugheist/src/pages/home/report_bug.dart'; -import 'package:bugheist/src/providers/authstate_provider.dart'; -import 'package:bugheist/src/providers/login_provider.dart'; -import 'package:bugheist/src/routes/routing.dart'; -import 'package:bugheist/src/util/enums/login_type.dart'; +import 'package:blt/src/global/variables.dart'; +// import 'package:blt/src/pages/home/feed.dart'; +import 'package:blt/src/pages/home/issues.dart'; +import 'package:blt/src/pages/home/leaderboard.dart'; +import 'package:blt/src/pages/home/report_bug.dart'; +import 'package:blt/src/providers/authstate_provider.dart'; +import 'package:blt/src/providers/login_provider.dart'; +import 'package:blt/src/routes/routing.dart'; +import 'package:blt/src/util/enums/login_type.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:google_fonts/google_fonts.dart'; diff --git a/lib/src/pages/home/issues.dart b/lib/src/pages/home/issues.dart index 049dab6466..60b0b6c65a 100644 --- a/lib/src/pages/home/issues.dart +++ b/lib/src/pages/home/issues.dart @@ -1,4 +1,4 @@ -import 'package:bugheist/src/providers/issuelist_provider.dart'; +import 'package:blt/src/providers/issuelist_provider.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:google_fonts/google_fonts.dart'; diff --git a/lib/src/pages/home/leaderboard.dart b/lib/src/pages/home/leaderboard.dart index a3aa668c77..904bd1b0c8 100644 --- a/lib/src/pages/home/leaderboard.dart +++ b/lib/src/pages/home/leaderboard.dart @@ -432,7 +432,7 @@ class _LeaderBoardState extends ConsumerState { ), ), Text( - "Take a look at the most active companies on BugHeist!", + "Take a look at the most active companies on BLT!", style: GoogleFonts.aBeeZee( textStyle: TextStyle( color: Color(0xFF737373), diff --git a/lib/src/pages/home/profile.dart b/lib/src/pages/home/profile.dart index aa6f11571e..f9978e52ec 100644 --- a/lib/src/pages/home/profile.dart +++ b/lib/src/pages/home/profile.dart @@ -1,4 +1,4 @@ -import 'package:bugheist/src/util/api/user_api.dart'; +import 'package:blt/src/util/api/user_api.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -16,7 +16,7 @@ import '../../util/endpoints/issue_endpoints.dart'; import '../../pages/welcome.dart'; -/// Page that displays the stats of a user registered on BugHeist, +/// Page that displays the stats of a user registered on BLT, /// shows dummy data for Guest login. class UserProfile extends ConsumerStatefulWidget { const UserProfile({ diff --git a/lib/src/pages/home/report_bug.dart b/lib/src/pages/home/report_bug.dart index 2f2810b23d..98b3e7870a 100644 --- a/lib/src/pages/home/report_bug.dart +++ b/lib/src/pages/home/report_bug.dart @@ -4,7 +4,7 @@ import 'dart:io'; import 'dart:typed_data'; import 'dart:ui'; -import 'package:bugheist/src/util/api/general_api.dart'; +import 'package:blt/src/util/api/general_api.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -279,7 +279,7 @@ class _ReportFormState extends ConsumerState { "Ensure you are not submitting a duplicate bug by checking here: ", ), TextSpan( - text: "bugheist.com/issue/${m["id"]}", + text: "blt.owasp.org/issue/${m["id"]}", style: GoogleFonts.aBeeZee( textStyle: TextStyle( color: Color(0xFF4A93F8), @@ -289,7 +289,7 @@ class _ReportFormState extends ConsumerState { recognizer: TapGestureRecognizer() ..onTap = () async { Uri site = Uri.parse( - "https://www.bugheist.com/issue/${m["id"]}"); + "https://www.blt.owasp.org/issue/${m["id"]}"); try { await launchUrl(site, mode: LaunchMode.externalApplication); diff --git a/lib/src/pages/leaderboards/company_scoreboard.dart b/lib/src/pages/leaderboards/company_scoreboard.dart index 1e8a9906b0..9854e5361f 100644 --- a/lib/src/pages/leaderboards/company_scoreboard.dart +++ b/lib/src/pages/leaderboards/company_scoreboard.dart @@ -5,7 +5,7 @@ import '../../routes/routing.dart'; import '../../util/api/company_api.dart'; import '../../util/api/leaderboard_api.dart'; -/// Page showing the top contributing companies on BugHeist. +/// Page showing the top contributing companies on BLT. class CompanyScoreBoardPage extends StatefulWidget { const CompanyScoreBoardPage({Key? key}) : super(key: key); @@ -50,7 +50,7 @@ class _CompanyScoreBoardPageState extends State { @override void initState() { - var paginatedUrl = 'https://www.bugheist.com/api/v1/scoreboard/'; + var paginatedUrl = 'https://www.blt.owasp.org/api/v1/scoreboard/'; _getObj = LeaderboardApiClient.getScoreBoardData(paginatedUrl); super.initState(); } @@ -97,7 +97,7 @@ class _CompanyScoreBoardPageState extends State { Container( padding: EdgeInsets.fromLTRB(0, 0, 0, 16), child: Text( - "These are the most active companies that are on BugHeist.", + "These are the most active companies that are on BLT.", style: GoogleFonts.aBeeZee( textStyle: TextStyle( color: Color(0xFF737373), diff --git a/lib/src/pages/leaderboards/global_leaderboard.dart b/lib/src/pages/leaderboards/global_leaderboard.dart index 49a2e52b59..d1b7bff309 100644 --- a/lib/src/pages/leaderboards/global_leaderboard.dart +++ b/lib/src/pages/leaderboards/global_leaderboard.dart @@ -17,7 +17,7 @@ class _GlobalLeaderBoardPageState extends State { @override void initState() { - var paginatedUrl = 'https://www.bugheist.com/api/v1/userscore/'; + var paginatedUrl = 'https://www.blt.owasp.org/api/v1/userscore/'; _getObj = LeaderboardApiClient.getLeaderData(paginatedUrl); super.initState(); } @@ -101,7 +101,7 @@ class _GlobalLeaderBoardPageState extends State { Container( padding: EdgeInsets.fromLTRB(0, 0, 0, 16), child: Text( - "These are the all time best bug finders on BugHeist.", + "These are the all time best bug finders on BLT.", style: GoogleFonts.aBeeZee( textStyle: TextStyle( color: Color(0xFF737373), diff --git a/lib/src/pages/leaderboards/monthly_leaderboard.dart b/lib/src/pages/leaderboards/monthly_leaderboard.dart index ff89cc9f9a..cfdd9d45bb 100644 --- a/lib/src/pages/leaderboards/monthly_leaderboard.dart +++ b/lib/src/pages/leaderboards/monthly_leaderboard.dart @@ -47,7 +47,7 @@ class _MonthlyLeaderBoardPageState extends State { @override void initState() { - var paginatedUrl = 'https://www.bugheist.com/api/v1/userscore/'; + var paginatedUrl = 'https://www.blt.owasp.org/api/v1/userscore/'; _getObj = LeaderboardApiClient.getLeaderData(paginatedUrl); super.initState(); } @@ -94,7 +94,7 @@ class _MonthlyLeaderBoardPageState extends State { Container( padding: EdgeInsets.fromLTRB(0, 0, 0, 16), child: Text( - "These are the most active users on BugHeist this month.", + "These are the most active users on BLT this month.", style: GoogleFonts.aBeeZee( textStyle: TextStyle( color: Color(0xFF737373), diff --git a/lib/src/pages/onboarding_main_page.dart b/lib/src/pages/onboarding_main_page.dart index d6f269692d..60d0f3ade6 100644 --- a/lib/src/pages/onboarding_main_page.dart +++ b/lib/src/pages/onboarding_main_page.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import '../components/onboarding/onboarding.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:bugheist/src/providers/authstate_provider.dart'; +import 'package:blt/src/providers/authstate_provider.dart'; import '../util/api/general_api.dart'; diff --git a/lib/src/pages/welcome.dart b/lib/src/pages/welcome.dart index b5bcd83a76..c983e304b4 100644 --- a/lib/src/pages/welcome.dart +++ b/lib/src/pages/welcome.dart @@ -1,4 +1,4 @@ -import 'package:bugheist/src/providers/authstate_provider.dart'; +import 'package:blt/src/providers/authstate_provider.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter_svg/flutter_svg.dart'; diff --git a/lib/src/providers/authstate_provider.dart b/lib/src/providers/authstate_provider.dart index 3cb7c0ebf7..6eafb30548 100644 --- a/lib/src/providers/authstate_provider.dart +++ b/lib/src/providers/authstate_provider.dart @@ -1,4 +1,4 @@ -import 'package:bugheist/src/util/api/user_api.dart'; +import 'package:blt/src/util/api/user_api.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; diff --git a/lib/src/providers/leaderboards/companyscoreboard_provider.dart b/lib/src/providers/leaderboards/companyscoreboard_provider.dart index 1103121524..d2b502e544 100644 --- a/lib/src/providers/leaderboards/companyscoreboard_provider.dart +++ b/lib/src/providers/leaderboards/companyscoreboard_provider.dart @@ -1,6 +1,6 @@ -import 'package:bugheist/src/models/company_model.dart'; -import 'package:bugheist/src/util/api/leaderboard_api.dart'; -import 'package:bugheist/src/util/endpoints/leaderboard_endpoints.dart'; +import 'package:blt/src/models/company_model.dart'; +import 'package:blt/src/util/api/leaderboard_api.dart'; +import 'package:blt/src/util/endpoints/leaderboard_endpoints.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; /// The provider which exposes the state management diff --git a/lib/src/providers/leaderboards/globalleaderboard_povider.dart b/lib/src/providers/leaderboards/globalleaderboard_povider.dart index 921646c0d2..25639cbbfb 100644 --- a/lib/src/providers/leaderboards/globalleaderboard_povider.dart +++ b/lib/src/providers/leaderboards/globalleaderboard_povider.dart @@ -1,6 +1,6 @@ -import 'package:bugheist/src/models/leader_model.dart'; -import 'package:bugheist/src/util/api/leaderboard_api.dart'; -import 'package:bugheist/src/util/endpoints/leaderboard_endpoints.dart'; +import 'package:blt/src/models/leader_model.dart'; +import 'package:blt/src/util/api/leaderboard_api.dart'; +import 'package:blt/src/util/endpoints/leaderboard_endpoints.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; /// The provider which exposes the state management diff --git a/lib/src/providers/login_provider.dart b/lib/src/providers/login_provider.dart index d665006355..21469cfce6 100644 --- a/lib/src/providers/login_provider.dart +++ b/lib/src/providers/login_provider.dart @@ -1,4 +1,4 @@ -import 'package:bugheist/src/util/enums/login_type.dart'; +import 'package:blt/src/util/enums/login_type.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; /// The provider which exposes the state management for diff --git a/lib/src/routes/routing.dart b/lib/src/routes/routing.dart index f9c7d13661..24167a886c 100644 --- a/lib/src/routes/routing.dart +++ b/lib/src/routes/routing.dart @@ -1,13 +1,11 @@ -// import 'package:bugheist/pages/login.dart'; -import 'package:bugheist/src/models/issue_model.dart'; -import 'package:bugheist/src/pages/auth/forgot.dart'; -import 'package:bugheist/src/pages/auth/signup.dart'; -import 'package:bugheist/src/pages/error.dart'; -import 'package:bugheist/src/pages/home/home.dart'; -import 'package:bugheist/src/pages/drawer/legal.dart'; -import 'package:bugheist/src/pages/auth/login.dart'; -import 'package:bugheist/src/pages/home/profile.dart'; -// import 'package:bugheist/src/pages/signup.dart'; +import 'package:blt/src/models/issue_model.dart'; +import 'package:blt/src/pages/auth/forgot.dart'; +import 'package:blt/src/pages/auth/signup.dart'; +import 'package:blt/src/pages/error.dart'; +import 'package:blt/src/pages/home/home.dart'; +import 'package:blt/src/pages/drawer/legal.dart'; +import 'package:blt/src/pages/auth/login.dart'; +import 'package:blt/src/pages/home/profile.dart'; import 'package:flutter/material.dart'; import '../models/company_model.dart'; diff --git a/lib/src/util/api/auth_api.dart b/lib/src/util/api/auth_api.dart index da756fdf3b..e762fd8a96 100644 --- a/lib/src/util/api/auth_api.dart +++ b/lib/src/util/api/auth_api.dart @@ -1,7 +1,7 @@ import 'dart:convert'; -import 'package:bugheist/src/models/user_model.dart'; -import 'package:bugheist/src/util/endpoints/auth_endpoints.dart'; +import 'package:blt/src/models/user_model.dart'; +import 'package:blt/src/util/endpoints/auth_endpoints.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; @@ -53,7 +53,7 @@ class AuthApiClient { return isLoggedOut; } - /// Request a new user signup on BugHeist. + /// Request a new user signup on BLT. static Future signup( String username, String email, diff --git a/lib/src/util/api/company_api.dart b/lib/src/util/api/company_api.dart index e1d57f747d..08e4ae6310 100644 --- a/lib/src/util/api/company_api.dart +++ b/lib/src/util/api/company_api.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:bugheist/src/util/endpoints/company_endpoints.dart'; +import 'package:blt/src/util/endpoints/company_endpoints.dart'; import 'package:http/http.dart' as http; import '../../models/company_model.dart'; diff --git a/lib/src/util/api/general_api.dart b/lib/src/util/api/general_api.dart index fe6c1a70d5..5339a43767 100644 --- a/lib/src/util/api/general_api.dart +++ b/lib/src/util/api/general_api.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:bugheist/src/util/endpoints/general_endpoints.dart'; +import 'package:blt/src/util/endpoints/general_endpoints.dart'; import 'package:http/http.dart' as http; /// Class for accessing the general client. diff --git a/lib/src/util/api/issues_api.dart b/lib/src/util/api/issues_api.dart index 23577cd0aa..ea46056f48 100644 --- a/lib/src/util/api/issues_api.dart +++ b/lib/src/util/api/issues_api.dart @@ -1,8 +1,8 @@ import 'dart:convert'; -import 'package:bugheist/src/global/variables.dart'; -import 'package:bugheist/src/models/user_model.dart'; -import 'package:bugheist/src/routes/routing.dart'; -import 'package:bugheist/src/util/endpoints/issue_endpoints.dart'; +import 'package:blt/src/global/variables.dart'; +import 'package:blt/src/models/user_model.dart'; +import 'package:blt/src/routes/routing.dart'; +import 'package:blt/src/util/endpoints/issue_endpoints.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; import '../../models/issuedata_model.dart'; diff --git a/lib/src/util/api/leaderboard_api.dart b/lib/src/util/api/leaderboard_api.dart index 75179fc38b..d78211ab1e 100644 --- a/lib/src/util/api/leaderboard_api.dart +++ b/lib/src/util/api/leaderboard_api.dart @@ -1,4 +1,4 @@ -import 'package:bugheist/src/models/company_model.dart'; +import 'package:blt/src/models/company_model.dart'; import 'package:http/http.dart' as http; import 'dart:convert'; import '../../models/leader_model.dart'; diff --git a/lib/src/util/api/user_api.dart b/lib/src/util/api/user_api.dart index 096a8336b5..1f152497cc 100644 --- a/lib/src/util/api/user_api.dart +++ b/lib/src/util/api/user_api.dart @@ -1,8 +1,8 @@ import 'dart:convert'; -import 'package:bugheist/src/util/endpoints/user_endpoints.dart'; +import 'package:blt/src/util/endpoints/user_endpoints.dart'; import 'package:http/http.dart' as http; -import 'package:bugheist/src/models/user_model.dart'; +import 'package:blt/src/models/user_model.dart'; import 'package:image_picker/image_picker.dart'; class UserApiClient { diff --git a/lib/src/util/endpoints/auth_endpoints.dart b/lib/src/util/endpoints/auth_endpoints.dart index dff0170a46..28285c6b11 100644 --- a/lib/src/util/endpoints/auth_endpoints.dart +++ b/lib/src/util/endpoints/auth_endpoints.dart @@ -2,9 +2,9 @@ class AuthEndPoints { AuthEndPoints._(); - static const String baseUrl = "https://www.bugheist.com/"; + static const String baseUrl = "https://www.blt.owasp.org/"; - static const String baseUrl2 = "https://www.bugheist.com/auth/"; + static const String baseUrl2 = "https://www.blt.owasp.org/auth/"; static const String emailpasswordLogin = baseUrl + "authenticate/"; diff --git a/lib/src/util/endpoints/company_endpoints.dart b/lib/src/util/endpoints/company_endpoints.dart index bee7dcd7e0..74018b10b2 100644 --- a/lib/src/util/endpoints/company_endpoints.dart +++ b/lib/src/util/endpoints/company_endpoints.dart @@ -1,8 +1,8 @@ -/// Class for API endpoints needed to access companies/domains on bugheist. +/// Class for API endpoints needed to access companies/domains on BLT. class CompanyEndpoints { CompanyEndpoints._(); - static const String baseUrl = "https://www.bugheist.com/api/v1/"; + static const String baseUrl = "https://www.blt.owasp.org/api/v1/"; static const String domain = baseUrl + "domain/"; } diff --git a/lib/src/util/endpoints/general_endpoints.dart b/lib/src/util/endpoints/general_endpoints.dart index 04e7f1e8ad..35a72b52d3 100644 --- a/lib/src/util/endpoints/general_endpoints.dart +++ b/lib/src/util/endpoints/general_endpoints.dart @@ -2,7 +2,7 @@ class GeneralEndPoints { GeneralEndPoints._(); - static const String baseUrl = "https://www.bugheist.com/api/v1/"; + static const String baseUrl = "https://www.blt.owasp.org/api/v1/"; static const String stats = baseUrl + "stats/"; diff --git a/lib/src/util/endpoints/issue_endpoints.dart b/lib/src/util/endpoints/issue_endpoints.dart index 653e5fa3d1..fd2f7e4676 100644 --- a/lib/src/util/endpoints/issue_endpoints.dart +++ b/lib/src/util/endpoints/issue_endpoints.dart @@ -1,8 +1,8 @@ -/// Class for API endpoints to access issues on BugHeist. +/// Class for API endpoints to access issues on BLT. class IssueEndPoints { IssueEndPoints._(); - static const String baseUrl = "https://www.bugheist.com/api/v1/"; + static const String baseUrl = "https://www.blt.owasp.org/api/v1/"; static const String issues = baseUrl + "issues/"; diff --git a/lib/src/util/endpoints/leaderboard_endpoints.dart b/lib/src/util/endpoints/leaderboard_endpoints.dart index 43dcb05f05..52b8499e75 100644 --- a/lib/src/util/endpoints/leaderboard_endpoints.dart +++ b/lib/src/util/endpoints/leaderboard_endpoints.dart @@ -1,7 +1,7 @@ class LeaderboardEndpoints { LeaderboardEndpoints._(); - static const String baseUrl = "https://www.bugheist.com/api/v1/"; + static const String baseUrl = "https://www.blt.owasp.org/api/v1/"; static const String globalLeaderboard = baseUrl + "userscore/"; static const String companyScoreboard = baseUrl + "scoreboard/"; diff --git a/lib/src/util/endpoints/user_endpoints.dart b/lib/src/util/endpoints/user_endpoints.dart index 734d2615a5..8d2f3abed9 100644 --- a/lib/src/util/endpoints/user_endpoints.dart +++ b/lib/src/util/endpoints/user_endpoints.dart @@ -1,8 +1,8 @@ -/// Class for API endpoints needed to access users data on BugHeist. +/// Class for API endpoints needed to access users data on BLT. class UserEndPoints { UserEndPoints._(); - static const String baseUrl = "https://www.bugheist.com/"; + static const String baseUrl = "https://www.blt.owasp.org/"; static const String userInfo = baseUrl + "api/v1/profile/"; diff --git a/pubspec.yaml b/pubspec.yaml index d0422d0657..087a471e2f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ -name: bugheist -description: The Bugheist App +name: blt +description: The BLT-Flutter App version: 1.0.1+1 diff --git a/test/widget_test.dart b/test/widget_test.dart new file mode 100644 index 0000000000..81161717f5 --- /dev/null +++ b/test/widget_test.dart @@ -0,0 +1,30 @@ +// This is a basic Flutter widget test. +// +// To perform an interaction with a widget in your test, use the WidgetTester +// utility in the flutter_test package. For example, you can send tap and scroll +// gestures. You can also use WidgetTester to find child widgets in the widget +// tree, read text, and verify that the values of widget properties are correct. + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; + +import 'package:blt/main.dart'; + +void main() { + testWidgets('Counter increments smoke test', (WidgetTester tester) async { + // Build our app and trigger a frame. + await tester.pumpWidget(const MyApp()); + + // Verify that our counter starts at 0. + expect(find.text('0'), findsOneWidget); + expect(find.text('1'), findsNothing); + + // Tap the '+' icon and trigger a frame. + await tester.tap(find.byIcon(Icons.add)); + await tester.pump(); + + // Verify that our counter has incremented. + expect(find.text('0'), findsNothing); + expect(find.text('1'), findsOneWidget); + }); +} diff --git a/web/favicon.png b/web/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aaa46ac1ae21512746f852a42ba87e4165dfdd1 GIT binary patch literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM literal 0 HcmV?d00001 diff --git a/web/icons/Icon-192.png b/web/icons/Icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..b749bfef07473333cf1dd31e9eed89862a5d52aa GIT binary patch literal 5292 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 literal 0 HcmV?d00001 diff --git a/web/icons/Icon-512.png b/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 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 literal 0 HcmV?d00001 diff --git a/web/icons/Icon-maskable-192.png b/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/web/icons/Icon-maskable-512.png b/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 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 MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/web/index.html b/web/index.html new file mode 100644 index 0000000000..1b9e886ce9 --- /dev/null +++ b/web/index.html @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + blt + + + + + + + + + + diff --git a/web/manifest.json b/web/manifest.json new file mode 100644 index 0000000000..5dd3207f7d --- /dev/null +++ b/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "blt", + "short_name": "blt", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "A new Flutter project.", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/windows/.gitignore b/windows/.gitignore deleted file mode 100644 index d492d0d98c..0000000000 --- a/windows/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -flutter/ephemeral/ - -# Visual Studio user-specific files. -*.suo -*.user -*.userosscache -*.sln.docstates - -# Visual Studio build-related files. -x64/ -x86/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt deleted file mode 100644 index 93627deb6c..0000000000 --- a/windows/CMakeLists.txt +++ /dev/null @@ -1,95 +0,0 @@ -cmake_minimum_required(VERSION 3.14) -project(bugheist_flutter LANGUAGES CXX) - -set(BINARY_NAME "bugheist_flutter") - -cmake_policy(SET CMP0063 NEW) - -set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") - -# Configure build options. -get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) -if(IS_MULTICONFIG) - set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" - CACHE STRING "" FORCE) -else() - if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") - endif() -endif() - -set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") -set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") -set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") -set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") - -# Use Unicode for all projects. -add_definitions(-DUNICODE -D_UNICODE) - -# Compilation settings that should be applied to most targets. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_17) - target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") - target_compile_options(${TARGET} PRIVATE /EHsc) - target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") - target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") -endfunction() - -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") - -# Flutter library and tool build rules. -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# Application build -add_subdirectory("runner") - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# Support files are copied into place next to the executable, so that it can -# run in place. This is done instead of making a separate bundle (as on Linux) -# so that building and running from within Visual Studio will work. -set(BUILD_BUNDLE_DIR "$") -# Make the "install" step default, as it's required to run. -set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -if(PLUGIN_BUNDLED_LIBRARIES) - install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() - -# Fully re-copy the assets directory on each build to avoid having stale files -# from a previous install. -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - CONFIGURATIONS Profile;Release - COMPONENT Runtime) diff --git a/windows/flutter/CMakeLists.txt b/windows/flutter/CMakeLists.txt deleted file mode 100644 index b2e4bd8d65..0000000000 --- a/windows/flutter/CMakeLists.txt +++ /dev/null @@ -1,103 +0,0 @@ -cmake_minimum_required(VERSION 3.14) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. -set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") - -# === Flutter Library === -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "flutter_export.h" - "flutter_windows.h" - "flutter_messenger.h" - "flutter_plugin_registrar.h" - "flutter_texture_registrar.h" -) -list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") -add_dependencies(flutter flutter_assemble) - -# === Wrapper === -list(APPEND CPP_WRAPPER_SOURCES_CORE - "core_implementations.cc" - "standard_codec.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_PLUGIN - "plugin_registrar.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_APP - "flutter_engine.cc" - "flutter_view_controller.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") - -# Wrapper sources needed for a plugin. -add_library(flutter_wrapper_plugin STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} -) -apply_standard_settings(flutter_wrapper_plugin) -set_target_properties(flutter_wrapper_plugin PROPERTIES - POSITION_INDEPENDENT_CODE ON) -set_target_properties(flutter_wrapper_plugin PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) -target_include_directories(flutter_wrapper_plugin PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_plugin flutter_assemble) - -# Wrapper sources needed for the runner. -add_library(flutter_wrapper_app STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_APP} -) -apply_standard_settings(flutter_wrapper_app) -target_link_libraries(flutter_wrapper_app PUBLIC flutter) -target_include_directories(flutter_wrapper_app PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_app flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") -set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} - ${PHONY_OUTPUT} - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" - windows-x64 $ - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} -) diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc deleted file mode 100644 index 0c50753854..0000000000 --- a/windows/flutter/generated_plugin_registrant.cc +++ /dev/null @@ -1,14 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#include "generated_plugin_registrant.h" - -#include - -void RegisterPlugins(flutter::PluginRegistry* registry) { - FlutterSecureStorageWindowsPluginRegisterWithRegistrar( - registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin")); -} diff --git a/windows/flutter/generated_plugin_registrant.h b/windows/flutter/generated_plugin_registrant.h deleted file mode 100644 index dc139d85a9..0000000000 --- a/windows/flutter/generated_plugin_registrant.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#ifndef GENERATED_PLUGIN_REGISTRANT_ -#define GENERATED_PLUGIN_REGISTRANT_ - -#include - -// Registers Flutter plugins. -void RegisterPlugins(flutter::PluginRegistry* registry); - -#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake deleted file mode 100644 index 4fc759c48f..0000000000 --- a/windows/flutter/generated_plugins.cmake +++ /dev/null @@ -1,24 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST - flutter_secure_storage_windows -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/windows/runner/CMakeLists.txt b/windows/runner/CMakeLists.txt deleted file mode 100644 index de2d8916b7..0000000000 --- a/windows/runner/CMakeLists.txt +++ /dev/null @@ -1,17 +0,0 @@ -cmake_minimum_required(VERSION 3.14) -project(runner LANGUAGES CXX) - -add_executable(${BINARY_NAME} WIN32 - "flutter_window.cpp" - "main.cpp" - "utils.cpp" - "win32_window.cpp" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" - "Runner.rc" - "runner.exe.manifest" -) -apply_standard_settings(${BINARY_NAME}) -target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") -target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) -target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") -add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/windows/runner/Runner.rc b/windows/runner/Runner.rc deleted file mode 100644 index c5fdcb3e07..0000000000 --- a/windows/runner/Runner.rc +++ /dev/null @@ -1,121 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#pragma code_page(65001) -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APP_ICON ICON "resources\\app_icon.ico" - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -#ifdef FLUTTER_BUILD_NUMBER -#define VERSION_AS_NUMBER FLUTTER_BUILD_NUMBER -#else -#define VERSION_AS_NUMBER 1,0,0 -#endif - -#ifdef FLUTTER_BUILD_NAME -#define VERSION_AS_STRING #FLUTTER_BUILD_NAME -#else -#define VERSION_AS_STRING "1.0.0" -#endif - -VS_VERSION_INFO VERSIONINFO - FILEVERSION VERSION_AS_NUMBER - PRODUCTVERSION VERSION_AS_NUMBER - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG -#else - FILEFLAGS 0x0L -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "com.apps" "\0" - VALUE "FileDescription", "bugheist_flutter" "\0" - VALUE "FileVersion", VERSION_AS_STRING "\0" - VALUE "InternalName", "bugheist_flutter" "\0" - VALUE "LegalCopyright", "Copyright (C) 2022 com.apps. All rights reserved." "\0" - VALUE "OriginalFilename", "bugheist_flutter.exe" "\0" - VALUE "ProductName", "bugheist_flutter" "\0" - VALUE "ProductVersion", VERSION_AS_STRING "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED diff --git a/windows/runner/flutter_window.cpp b/windows/runner/flutter_window.cpp deleted file mode 100644 index b43b9095ea..0000000000 --- a/windows/runner/flutter_window.cpp +++ /dev/null @@ -1,61 +0,0 @@ -#include "flutter_window.h" - -#include - -#include "flutter/generated_plugin_registrant.h" - -FlutterWindow::FlutterWindow(const flutter::DartProject& project) - : project_(project) {} - -FlutterWindow::~FlutterWindow() {} - -bool FlutterWindow::OnCreate() { - if (!Win32Window::OnCreate()) { - return false; - } - - RECT frame = GetClientArea(); - - // The size here must match the window dimensions to avoid unnecessary surface - // creation / destruction in the startup path. - flutter_controller_ = std::make_unique( - frame.right - frame.left, frame.bottom - frame.top, project_); - // Ensure that basic setup of the controller was successful. - if (!flutter_controller_->engine() || !flutter_controller_->view()) { - return false; - } - RegisterPlugins(flutter_controller_->engine()); - SetChildContent(flutter_controller_->view()->GetNativeWindow()); - return true; -} - -void FlutterWindow::OnDestroy() { - if (flutter_controller_) { - flutter_controller_ = nullptr; - } - - Win32Window::OnDestroy(); -} - -LRESULT -FlutterWindow::MessageHandler(HWND hwnd, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - // Give Flutter, including plugins, an opportunity to handle window messages. - if (flutter_controller_) { - std::optional result = - flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, - lparam); - if (result) { - return *result; - } - } - - switch (message) { - case WM_FONTCHANGE: - flutter_controller_->engine()->ReloadSystemFonts(); - break; - } - - return Win32Window::MessageHandler(hwnd, message, wparam, lparam); -} diff --git a/windows/runner/flutter_window.h b/windows/runner/flutter_window.h deleted file mode 100644 index 6da0652f05..0000000000 --- a/windows/runner/flutter_window.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef RUNNER_FLUTTER_WINDOW_H_ -#define RUNNER_FLUTTER_WINDOW_H_ - -#include -#include - -#include - -#include "win32_window.h" - -// A window that does nothing but host a Flutter view. -class FlutterWindow : public Win32Window { - public: - // Creates a new FlutterWindow hosting a Flutter view running |project|. - explicit FlutterWindow(const flutter::DartProject& project); - virtual ~FlutterWindow(); - - protected: - // Win32Window: - bool OnCreate() override; - void OnDestroy() override; - LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, - LPARAM const lparam) noexcept override; - - private: - // The project to run. - flutter::DartProject project_; - - // The Flutter instance hosted by this window. - std::unique_ptr flutter_controller_; -}; - -#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/windows/runner/main.cpp b/windows/runner/main.cpp deleted file mode 100644 index cbb46f30a0..0000000000 --- a/windows/runner/main.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include -#include -#include - -#include "flutter_window.h" -#include "utils.h" - -int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, - _In_ wchar_t *command_line, _In_ int show_command) { - // Attach to console when present (e.g., 'flutter run') or create a - // new console when running with a debugger. - if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { - CreateAndAttachConsole(); - } - - // Initialize COM, so that it is available for use in the library and/or - // plugins. - ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); - - flutter::DartProject project(L"data"); - - std::vector command_line_arguments = - GetCommandLineArguments(); - - project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); - - FlutterWindow window(project); - Win32Window::Point origin(10, 10); - Win32Window::Size size(1280, 720); - if (!window.CreateAndShow(L"bugheist_flutter", origin, size)) { - return EXIT_FAILURE; - } - window.SetQuitOnClose(true); - - ::MSG msg; - while (::GetMessage(&msg, nullptr, 0, 0)) { - ::TranslateMessage(&msg); - ::DispatchMessage(&msg); - } - - ::CoUninitialize(); - return EXIT_SUCCESS; -} diff --git a/windows/runner/resource.h b/windows/runner/resource.h deleted file mode 100644 index 66a65d1e4a..0000000000 --- a/windows/runner/resource.h +++ /dev/null @@ -1,16 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Runner.rc -// -#define IDI_APP_ICON 101 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/windows/runner/resources/app_icon.ico b/windows/runner/resources/app_icon.ico deleted file mode 100644 index c04e20caf6370ebb9253ad831cc31de4a9c965f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33772 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 diff --git a/windows/runner/runner.exe.manifest b/windows/runner/runner.exe.manifest deleted file mode 100644 index c977c4a425..0000000000 --- a/windows/runner/runner.exe.manifest +++ /dev/null @@ -1,20 +0,0 @@ - - - - - PerMonitorV2 - - - - - - - - - - - - - - - diff --git a/windows/runner/utils.cpp b/windows/runner/utils.cpp deleted file mode 100644 index d19bdbbcc3..0000000000 --- a/windows/runner/utils.cpp +++ /dev/null @@ -1,64 +0,0 @@ -#include "utils.h" - -#include -#include -#include -#include - -#include - -void CreateAndAttachConsole() { - if (::AllocConsole()) { - FILE *unused; - if (freopen_s(&unused, "CONOUT$", "w", stdout)) { - _dup2(_fileno(stdout), 1); - } - if (freopen_s(&unused, "CONOUT$", "w", stderr)) { - _dup2(_fileno(stdout), 2); - } - std::ios::sync_with_stdio(); - FlutterDesktopResyncOutputStreams(); - } -} - -std::vector GetCommandLineArguments() { - // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. - int argc; - wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); - if (argv == nullptr) { - return std::vector(); - } - - std::vector command_line_arguments; - - // Skip the first argument as it's the binary name. - for (int i = 1; i < argc; i++) { - command_line_arguments.push_back(Utf8FromUtf16(argv[i])); - } - - ::LocalFree(argv); - - return command_line_arguments; -} - -std::string Utf8FromUtf16(const wchar_t* utf16_string) { - if (utf16_string == nullptr) { - return std::string(); - } - int target_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, - -1, nullptr, 0, nullptr, nullptr); - if (target_length == 0) { - return std::string(); - } - std::string utf8_string; - utf8_string.resize(target_length); - int converted_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, - -1, utf8_string.data(), - target_length, nullptr, nullptr); - if (converted_length == 0) { - return std::string(); - } - return utf8_string; -} diff --git a/windows/runner/utils.h b/windows/runner/utils.h deleted file mode 100644 index 3879d54755..0000000000 --- a/windows/runner/utils.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef RUNNER_UTILS_H_ -#define RUNNER_UTILS_H_ - -#include -#include - -// Creates a console for the process, and redirects stdout and stderr to -// it for both the runner and the Flutter library. -void CreateAndAttachConsole(); - -// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string -// encoded in UTF-8. Returns an empty std::string on failure. -std::string Utf8FromUtf16(const wchar_t* utf16_string); - -// Gets the command line arguments passed in as a std::vector, -// encoded in UTF-8. Returns an empty std::vector on failure. -std::vector GetCommandLineArguments(); - -#endif // RUNNER_UTILS_H_ diff --git a/windows/runner/win32_window.cpp b/windows/runner/win32_window.cpp deleted file mode 100644 index c10f08dc7d..0000000000 --- a/windows/runner/win32_window.cpp +++ /dev/null @@ -1,245 +0,0 @@ -#include "win32_window.h" - -#include - -#include "resource.h" - -namespace { - -constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; - -// The number of Win32Window objects that currently exist. -static int g_active_window_count = 0; - -using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); - -// Scale helper to convert logical scaler values to physical using passed in -// scale factor -int Scale(int source, double scale_factor) { - return static_cast(source * scale_factor); -} - -// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. -// This API is only needed for PerMonitor V1 awareness mode. -void EnableFullDpiSupportIfAvailable(HWND hwnd) { - HMODULE user32_module = LoadLibraryA("User32.dll"); - if (!user32_module) { - return; - } - auto enable_non_client_dpi_scaling = - reinterpret_cast( - GetProcAddress(user32_module, "EnableNonClientDpiScaling")); - if (enable_non_client_dpi_scaling != nullptr) { - enable_non_client_dpi_scaling(hwnd); - FreeLibrary(user32_module); - } -} - -} // namespace - -// Manages the Win32Window's window class registration. -class WindowClassRegistrar { - public: - ~WindowClassRegistrar() = default; - - // Returns the singleton registar instance. - static WindowClassRegistrar* GetInstance() { - if (!instance_) { - instance_ = new WindowClassRegistrar(); - } - return instance_; - } - - // Returns the name of the window class, registering the class if it hasn't - // previously been registered. - const wchar_t* GetWindowClass(); - - // Unregisters the window class. Should only be called if there are no - // instances of the window. - void UnregisterWindowClass(); - - private: - WindowClassRegistrar() = default; - - static WindowClassRegistrar* instance_; - - bool class_registered_ = false; -}; - -WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; - -const wchar_t* WindowClassRegistrar::GetWindowClass() { - if (!class_registered_) { - WNDCLASS window_class{}; - window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); - window_class.lpszClassName = kWindowClassName; - window_class.style = CS_HREDRAW | CS_VREDRAW; - window_class.cbClsExtra = 0; - window_class.cbWndExtra = 0; - window_class.hInstance = GetModuleHandle(nullptr); - window_class.hIcon = - LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); - window_class.hbrBackground = 0; - window_class.lpszMenuName = nullptr; - window_class.lpfnWndProc = Win32Window::WndProc; - RegisterClass(&window_class); - class_registered_ = true; - } - return kWindowClassName; -} - -void WindowClassRegistrar::UnregisterWindowClass() { - UnregisterClass(kWindowClassName, nullptr); - class_registered_ = false; -} - -Win32Window::Win32Window() { - ++g_active_window_count; -} - -Win32Window::~Win32Window() { - --g_active_window_count; - Destroy(); -} - -bool Win32Window::CreateAndShow(const std::wstring& title, - const Point& origin, - const Size& size) { - Destroy(); - - const wchar_t* window_class = - WindowClassRegistrar::GetInstance()->GetWindowClass(); - - const POINT target_point = {static_cast(origin.x), - static_cast(origin.y)}; - HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); - UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); - double scale_factor = dpi / 96.0; - - HWND window = CreateWindow( - window_class, title.c_str(), WS_OVERLAPPEDWINDOW | WS_VISIBLE, - Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), - Scale(size.width, scale_factor), Scale(size.height, scale_factor), - nullptr, nullptr, GetModuleHandle(nullptr), this); - - if (!window) { - return false; - } - - return OnCreate(); -} - -// static -LRESULT CALLBACK Win32Window::WndProc(HWND const window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - if (message == WM_NCCREATE) { - auto window_struct = reinterpret_cast(lparam); - SetWindowLongPtr(window, GWLP_USERDATA, - reinterpret_cast(window_struct->lpCreateParams)); - - auto that = static_cast(window_struct->lpCreateParams); - EnableFullDpiSupportIfAvailable(window); - that->window_handle_ = window; - } else if (Win32Window* that = GetThisFromHandle(window)) { - return that->MessageHandler(window, message, wparam, lparam); - } - - return DefWindowProc(window, message, wparam, lparam); -} - -LRESULT -Win32Window::MessageHandler(HWND hwnd, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - switch (message) { - case WM_DESTROY: - window_handle_ = nullptr; - Destroy(); - if (quit_on_close_) { - PostQuitMessage(0); - } - return 0; - - case WM_DPICHANGED: { - auto newRectSize = reinterpret_cast(lparam); - LONG newWidth = newRectSize->right - newRectSize->left; - LONG newHeight = newRectSize->bottom - newRectSize->top; - - SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, - newHeight, SWP_NOZORDER | SWP_NOACTIVATE); - - return 0; - } - case WM_SIZE: { - RECT rect = GetClientArea(); - if (child_content_ != nullptr) { - // Size and position the child window. - MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, - rect.bottom - rect.top, TRUE); - } - return 0; - } - - case WM_ACTIVATE: - if (child_content_ != nullptr) { - SetFocus(child_content_); - } - return 0; - } - - return DefWindowProc(window_handle_, message, wparam, lparam); -} - -void Win32Window::Destroy() { - OnDestroy(); - - if (window_handle_) { - DestroyWindow(window_handle_); - window_handle_ = nullptr; - } - if (g_active_window_count == 0) { - WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); - } -} - -Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { - return reinterpret_cast( - GetWindowLongPtr(window, GWLP_USERDATA)); -} - -void Win32Window::SetChildContent(HWND content) { - child_content_ = content; - SetParent(content, window_handle_); - RECT frame = GetClientArea(); - - MoveWindow(content, frame.left, frame.top, frame.right - frame.left, - frame.bottom - frame.top, true); - - SetFocus(child_content_); -} - -RECT Win32Window::GetClientArea() { - RECT frame; - GetClientRect(window_handle_, &frame); - return frame; -} - -HWND Win32Window::GetHandle() { - return window_handle_; -} - -void Win32Window::SetQuitOnClose(bool quit_on_close) { - quit_on_close_ = quit_on_close; -} - -bool Win32Window::OnCreate() { - // No-op; provided for subclasses. - return true; -} - -void Win32Window::OnDestroy() { - // No-op; provided for subclasses. -} diff --git a/windows/runner/win32_window.h b/windows/runner/win32_window.h deleted file mode 100644 index 17ba431125..0000000000 --- a/windows/runner/win32_window.h +++ /dev/null @@ -1,98 +0,0 @@ -#ifndef RUNNER_WIN32_WINDOW_H_ -#define RUNNER_WIN32_WINDOW_H_ - -#include - -#include -#include -#include - -// A class abstraction for a high DPI-aware Win32 Window. Intended to be -// inherited from by classes that wish to specialize with custom -// rendering and input handling -class Win32Window { - public: - struct Point { - unsigned int x; - unsigned int y; - Point(unsigned int x, unsigned int y) : x(x), y(y) {} - }; - - struct Size { - unsigned int width; - unsigned int height; - Size(unsigned int width, unsigned int height) - : width(width), height(height) {} - }; - - Win32Window(); - virtual ~Win32Window(); - - // Creates and shows a win32 window with |title| and position and size using - // |origin| and |size|. New windows are created on the default monitor. Window - // sizes are specified to the OS in physical pixels, hence to ensure a - // consistent size to will treat the width height passed in to this function - // as logical pixels and scale to appropriate for the default monitor. Returns - // true if the window was created successfully. - bool CreateAndShow(const std::wstring& title, - const Point& origin, - const Size& size); - - // Release OS resources associated with window. - void Destroy(); - - // Inserts |content| into the window tree. - void SetChildContent(HWND content); - - // Returns the backing Window handle to enable clients to set icon and other - // window properties. Returns nullptr if the window has been destroyed. - HWND GetHandle(); - - // If true, closing this window will quit the application. - void SetQuitOnClose(bool quit_on_close); - - // Return a RECT representing the bounds of the current client area. - RECT GetClientArea(); - - protected: - // Processes and route salient window messages for mouse handling, - // size change and DPI. Delegates handling of these to member overloads that - // inheriting classes can handle. - virtual LRESULT MessageHandler(HWND window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Called when CreateAndShow is called, allowing subclass window-related - // setup. Subclasses should return false if setup fails. - virtual bool OnCreate(); - - // Called when Destroy is called. - virtual void OnDestroy(); - - private: - friend class WindowClassRegistrar; - - // OS callback called by message pump. Handles the WM_NCCREATE message which - // is passed when the non-client area is being created and enables automatic - // non-client DPI scaling so that the non-client area automatically - // responsponds to changes in DPI. All other messages are handled by - // MessageHandler. - static LRESULT CALLBACK WndProc(HWND const window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Retrieves a class instance pointer for |window| - static Win32Window* GetThisFromHandle(HWND const window) noexcept; - - bool quit_on_close_ = false; - - // window handle for top level window. - HWND window_handle_ = nullptr; - - // window handle for hosted content. - HWND child_content_ = nullptr; -}; - -#endif // RUNNER_WIN32_WINDOW_H_ From 0eda96df86e1d98b1014e7d18b99f7ebcfd12163 Mon Sep 17 00:00:00 2001 From: Harshit Seksaria <37345795+letsintegreat@users.noreply.github.com> Date: Mon, 6 Mar 2023 11:38:38 +0530 Subject: [PATCH 02/19] remove redundant file --- test/widget_test.dart | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 test/widget_test.dart diff --git a/test/widget_test.dart b/test/widget_test.dart deleted file mode 100644 index 81161717f5..0000000000 --- a/test/widget_test.dart +++ /dev/null @@ -1,30 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:blt/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(const MyApp()); - - // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); - - // Tap the '+' icon and trigger a frame. - await tester.tap(find.byIcon(Icons.add)); - await tester.pump(); - - // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); - }); -} From 35b63f45ab0711ba4bf84e494b44406887de30c8 Mon Sep 17 00:00:00 2001 From: Harshit Seksaria <37345795+letsintegreat@users.noreply.github.com> Date: Mon, 6 Mar 2023 11:44:23 +0530 Subject: [PATCH 03/19] Update .github/workflows/issue-assign.yml Co-authored-by: Fred Falcon <7475382+fredfalcon@users.noreply.github.com> --- .github/workflows/issue-assign.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/issue-assign.yml b/.github/workflows/issue-assign.yml index 58b9368cac..81ab878572 100644 --- a/.github/workflows/issue-assign.yml +++ b/.github/workflows/issue-assign.yml @@ -20,7 +20,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Assign Issues - uses: OWASP/assign-issues-action@main + uses: OWASP/BLT-Action@main with: repo-token: ${{ secrets.GITHUB_TOKEN }} repository: ${{ github.repository }} From 3366e95cd7875d111114fe892c46c261d0fca14e Mon Sep 17 00:00:00 2001 From: Harshit Seksaria <37345795+letsintegreat@users.noreply.github.com> Date: Mon, 6 Mar 2023 11:48:56 +0530 Subject: [PATCH 04/19] Update CONTRIBUTING.md Co-authored-by: Fred Falcon <7475382+fredfalcon@users.noreply.github.com> --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7162dd9b74..cf46545124 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -35,7 +35,7 @@ We value a good user experience empowered by good design practices. You can view
-_Figma link: https://www.figma.com/file/NYD5WZzJywnO338lchnece/BLT?node-id=7%3A634&t=gjDWzr6qy82jpUQa-1_ +_Figma link: https://www.figma.com/file/NYD5WZzJywnO338lchnece/Design?node-id=7%3A634&t=gjDWzr6qy82jpUQa-1_ ### Dev, Set, GO! If you have set up the dev environment, what are you waiting for? You can do so much! Need a good starting point? Go through the list of [issues](https://github.com/OWASP/BLT-Flutter/issues) on the repository! Have a great new idea that you implemented and want it in the app? [Make a PR](https://github.com/OWASP/BLT-Flutter/pulls), and we'll be sure to consider it! One last thing, while suggesting a screen, please follow the design schemes in the above-shared design file, and make sure that   `flutter analyze` works before submitting that hard-worked pull request of yours! From dc699b70f1f4a2e11b8fd54e1ba8dc2616d03ea3 Mon Sep 17 00:00:00 2001 From: Harshit Seksaria <37345795+letsintegreat@users.noreply.github.com> Date: Mon, 6 Mar 2023 11:58:41 +0530 Subject: [PATCH 05/19] revert deleted icons --- .../app/src/main/res/drawable/bugheist_logo.xml | 15 +++++++++++++++ assets/bugheist_logo.svg | 14 ++++++++++++++ assets/logo_white_old.svg | 14 ++++++++++++++ ios/Runner/Info.plist | 2 ++ 4 files changed, 45 insertions(+) create mode 100644 android/app/src/main/res/drawable/bugheist_logo.xml create mode 100644 assets/bugheist_logo.svg create mode 100644 assets/logo_white_old.svg diff --git a/android/app/src/main/res/drawable/bugheist_logo.xml b/android/app/src/main/res/drawable/bugheist_logo.xml new file mode 100644 index 0000000000..f0a5b1773e --- /dev/null +++ b/android/app/src/main/res/drawable/bugheist_logo.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + diff --git a/assets/bugheist_logo.svg b/assets/bugheist_logo.svg new file mode 100644 index 0000000000..828c278bc0 --- /dev/null +++ b/assets/bugheist_logo.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/assets/logo_white_old.svg b/assets/logo_white_old.svg new file mode 100644 index 0000000000..635a91fe4b --- /dev/null +++ b/assets/logo_white_old.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 926d9c1c49..bc36b82eb1 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -28,6 +28,8 @@ LaunchScreen UIMainStoryboardFile Main + ITSAppUsesNonExemptEncryption + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait From a22623860843252b349c138e093264f5511a6f09 Mon Sep 17 00:00:00 2001 From: Harshit Seksaria <37345795+letsintegreat@users.noreply.github.com> Date: Mon, 6 Mar 2023 11:59:57 +0530 Subject: [PATCH 06/19] Update about constants --- lib/src/constants/about_constants.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/constants/about_constants.dart b/lib/src/constants/about_constants.dart index 2408b7ea51..c79ee57df8 100644 --- a/lib/src/constants/about_constants.dart +++ b/lib/src/constants/about_constants.dart @@ -22,5 +22,5 @@ final String forTesters = '''1. Create a User Account to log into BLT. final String forOrgs = ''' We want everyone to love your website and apps.\n You want to keep your customers happy by giving them a consistent bug-free user experience. -BLT offers monthly Bug Hunts through 4 different subscription plans to help you achieve this. +BLT offers the ability to start a bug hunt and have testers from around the world test your site. '''; From feb2252a024def01a430a9bd2057f407cb31f340 Mon Sep 17 00:00:00 2001 From: Harshit Seksaria <37345795+letsintegreat@users.noreply.github.com> Date: Mon, 6 Mar 2023 12:03:25 +0530 Subject: [PATCH 07/19] refactor link --- lib/src/pages/leaderboards/global_leaderboard.dart | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/src/pages/leaderboards/global_leaderboard.dart b/lib/src/pages/leaderboards/global_leaderboard.dart index d1b7bff309..867f0ee027 100644 --- a/lib/src/pages/leaderboards/global_leaderboard.dart +++ b/lib/src/pages/leaderboards/global_leaderboard.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import '../../util/api/leaderboard_api.dart'; +import '../../util/endpoints/leaderboard_endpoints.dart'; /// Page showing the all time top contributing users. class GlobalLeaderBoardPage extends StatefulWidget { @@ -17,7 +18,7 @@ class _GlobalLeaderBoardPageState extends State { @override void initState() { - var paginatedUrl = 'https://www.blt.owasp.org/api/v1/userscore/'; + var paginatedUrl = LeaderboardEndpoints.globalLeaderboard; _getObj = LeaderboardApiClient.getLeaderData(paginatedUrl); super.initState(); } From c1f52b31f381adbf54044f6d88106dbd7be43f74 Mon Sep 17 00:00:00 2001 From: Harshit Seksaria <37345795+letsintegreat@users.noreply.github.com> Date: Mon, 6 Mar 2023 12:11:14 +0530 Subject: [PATCH 08/19] refactor all links --- lib/src/pages/home/report_bug.dart | 5 +++-- lib/src/pages/leaderboards/company_scoreboard.dart | 3 ++- lib/src/pages/leaderboards/monthly_leaderboard.dart | 3 ++- lib/src/util/endpoints/general_endpoints.dart | 10 +++++++--- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/lib/src/pages/home/report_bug.dart b/lib/src/pages/home/report_bug.dart index 98b3e7870a..494f9173d9 100644 --- a/lib/src/pages/home/report_bug.dart +++ b/lib/src/pages/home/report_bug.dart @@ -5,6 +5,7 @@ import 'dart:typed_data'; import 'dart:ui'; import 'package:blt/src/util/api/general_api.dart'; +import 'package:blt/src/util/endpoints/general_endpoints.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; @@ -279,7 +280,7 @@ class _ReportFormState extends ConsumerState { "Ensure you are not submitting a duplicate bug by checking here: ", ), TextSpan( - text: "blt.owasp.org/issue/${m["id"]}", + text: "${GeneralEndPoints.domain}issue/${m["id"]}", style: GoogleFonts.aBeeZee( textStyle: TextStyle( color: Color(0xFF4A93F8), @@ -289,7 +290,7 @@ class _ReportFormState extends ConsumerState { recognizer: TapGestureRecognizer() ..onTap = () async { Uri site = Uri.parse( - "https://www.blt.owasp.org/issue/${m["id"]}"); + "${GeneralEndPoints.baseUrl}issue/${m["id"]}"); try { await launchUrl(site, mode: LaunchMode.externalApplication); diff --git a/lib/src/pages/leaderboards/company_scoreboard.dart b/lib/src/pages/leaderboards/company_scoreboard.dart index 9854e5361f..2e704fa097 100644 --- a/lib/src/pages/leaderboards/company_scoreboard.dart +++ b/lib/src/pages/leaderboards/company_scoreboard.dart @@ -1,3 +1,4 @@ +import 'package:blt/src/util/endpoints/leaderboard_endpoints.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; @@ -50,7 +51,7 @@ class _CompanyScoreBoardPageState extends State { @override void initState() { - var paginatedUrl = 'https://www.blt.owasp.org/api/v1/scoreboard/'; + var paginatedUrl = LeaderboardEndpoints.companyScoreboard; _getObj = LeaderboardApiClient.getScoreBoardData(paginatedUrl); super.initState(); } diff --git a/lib/src/pages/leaderboards/monthly_leaderboard.dart b/lib/src/pages/leaderboards/monthly_leaderboard.dart index cfdd9d45bb..a333d98bcb 100644 --- a/lib/src/pages/leaderboards/monthly_leaderboard.dart +++ b/lib/src/pages/leaderboards/monthly_leaderboard.dart @@ -1,3 +1,4 @@ +import 'package:blt/src/util/endpoints/leaderboard_endpoints.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; @@ -47,7 +48,7 @@ class _MonthlyLeaderBoardPageState extends State { @override void initState() { - var paginatedUrl = 'https://www.blt.owasp.org/api/v1/userscore/'; + var paginatedUrl = LeaderboardEndpoints.globalLeaderboard; _getObj = LeaderboardApiClient.getLeaderData(paginatedUrl); super.initState(); } diff --git a/lib/src/util/endpoints/general_endpoints.dart b/lib/src/util/endpoints/general_endpoints.dart index 35a72b52d3..759b0a6b2b 100644 --- a/lib/src/util/endpoints/general_endpoints.dart +++ b/lib/src/util/endpoints/general_endpoints.dart @@ -2,9 +2,13 @@ class GeneralEndPoints { GeneralEndPoints._(); - static const String baseUrl = "https://www.blt.owasp.org/api/v1/"; + static const String domain = "blt.owasp.org/"; - static const String stats = baseUrl + "stats/"; + static const String baseUrl = "https://www.blt.owasp.org/"; - static const String duplicateURL = baseUrl + "urlcheck/"; + static const String baseUrl2 = "https://www.blt.owasp.org/api/v1/"; + + static const String stats = baseUrl2 + "stats/"; + + static const String duplicateURL = baseUrl2 + "urlcheck/"; } From cf3f0fdb5599f9f1edb9e7c6c1707ac8fcd8c966 Mon Sep 17 00:00:00 2001 From: Harshit Seksaria <37345795+letsintegreat@users.noreply.github.com> Date: Mon, 6 Mar 2023 12:19:35 +0530 Subject: [PATCH 09/19] One baseUrl across all endpoint files --- lib/src/util/endpoints/auth_endpoints.dart | 14 +++++++------- lib/src/util/endpoints/company_endpoints.dart | 6 +++--- lib/src/util/endpoints/general_endpoints.dart | 8 ++++---- lib/src/util/endpoints/issue_endpoints.dart | 12 ++++++------ lib/src/util/endpoints/leaderboard_endpoints.dart | 7 ++++--- lib/src/util/endpoints/user_endpoints.dart | 8 ++++---- 6 files changed, 28 insertions(+), 27 deletions(-) diff --git a/lib/src/util/endpoints/auth_endpoints.dart b/lib/src/util/endpoints/auth_endpoints.dart index 28285c6b11..744057e4d8 100644 --- a/lib/src/util/endpoints/auth_endpoints.dart +++ b/lib/src/util/endpoints/auth_endpoints.dart @@ -1,16 +1,16 @@ +import 'general_endpoints.dart'; + /// Class to access the API's authentication endpoints. class AuthEndPoints { AuthEndPoints._(); - static const String baseUrl = "https://www.blt.owasp.org/"; - - static const String baseUrl2 = "https://www.blt.owasp.org/auth/"; + static const String authBaseUrl = GeneralEndPoints.baseUrl + "auth/"; - static const String emailpasswordLogin = baseUrl + "authenticate/"; + static const String emailpasswordLogin = GeneralEndPoints.baseUrl + "authenticate/"; - static const String logout = baseUrl2 + "logout/"; + static const String logout = authBaseUrl + "logout/"; - static const String register = baseUrl2 + "registration/"; + static const String register = authBaseUrl + "registration/"; - static const String reset = baseUrl2 + "password/reset/"; + static const String reset = authBaseUrl + "password/reset/"; } diff --git a/lib/src/util/endpoints/company_endpoints.dart b/lib/src/util/endpoints/company_endpoints.dart index 74018b10b2..1499d52570 100644 --- a/lib/src/util/endpoints/company_endpoints.dart +++ b/lib/src/util/endpoints/company_endpoints.dart @@ -1,8 +1,8 @@ +import 'package:blt/src/util/endpoints/general_endpoints.dart'; + /// Class for API endpoints needed to access companies/domains on BLT. class CompanyEndpoints { CompanyEndpoints._(); - static const String baseUrl = "https://www.blt.owasp.org/api/v1/"; - - static const String domain = baseUrl + "domain/"; + static const String domain = GeneralEndPoints.apiBaseUrl + "domain/"; } diff --git a/lib/src/util/endpoints/general_endpoints.dart b/lib/src/util/endpoints/general_endpoints.dart index 759b0a6b2b..a0eae3111f 100644 --- a/lib/src/util/endpoints/general_endpoints.dart +++ b/lib/src/util/endpoints/general_endpoints.dart @@ -4,11 +4,11 @@ class GeneralEndPoints { static const String domain = "blt.owasp.org/"; - static const String baseUrl = "https://www.blt.owasp.org/"; + static const String baseUrl = "https://www.owasp.org/BLT/"; - static const String baseUrl2 = "https://www.blt.owasp.org/api/v1/"; + static const String apiBaseUrl = baseUrl + "api/v1/"; - static const String stats = baseUrl2 + "stats/"; + static const String stats = apiBaseUrl + "stats/"; - static const String duplicateURL = baseUrl2 + "urlcheck/"; + static const String duplicateURL = apiBaseUrl + "urlcheck/"; } diff --git a/lib/src/util/endpoints/issue_endpoints.dart b/lib/src/util/endpoints/issue_endpoints.dart index fd2f7e4676..7d8454d84c 100644 --- a/lib/src/util/endpoints/issue_endpoints.dart +++ b/lib/src/util/endpoints/issue_endpoints.dart @@ -1,14 +1,14 @@ +import 'general_endpoints.dart'; + /// Class for API endpoints to access issues on BLT. class IssueEndPoints { IssueEndPoints._(); - static const String baseUrl = "https://www.blt.owasp.org/api/v1/"; - - static const String issues = baseUrl + "issues/"; + static const String issues = GeneralEndPoints.apiBaseUrl + "issues/"; - static const String userIssues = baseUrl + "userissues/"; + static const String userIssues = GeneralEndPoints.apiBaseUrl + "userissues/"; - static const String likeIssues = baseUrl + "issue/like/"; + static const String likeIssues = GeneralEndPoints.apiBaseUrl + "issue/like/"; - static const String flagIssues = baseUrl + "issue/flag/"; + static const String flagIssues = GeneralEndPoints.apiBaseUrl + "issue/flag/"; } diff --git a/lib/src/util/endpoints/leaderboard_endpoints.dart b/lib/src/util/endpoints/leaderboard_endpoints.dart index 52b8499e75..349608811f 100644 --- a/lib/src/util/endpoints/leaderboard_endpoints.dart +++ b/lib/src/util/endpoints/leaderboard_endpoints.dart @@ -1,8 +1,9 @@ +import 'general_endpoints.dart'; + class LeaderboardEndpoints { LeaderboardEndpoints._(); - static const String baseUrl = "https://www.blt.owasp.org/api/v1/"; + static const String globalLeaderboard = GeneralEndPoints.apiBaseUrl + "userscore/"; - static const String globalLeaderboard = baseUrl + "userscore/"; - static const String companyScoreboard = baseUrl + "scoreboard/"; + static const String companyScoreboard = GeneralEndPoints.apiBaseUrl + "scoreboard/"; } diff --git a/lib/src/util/endpoints/user_endpoints.dart b/lib/src/util/endpoints/user_endpoints.dart index 8d2f3abed9..2ba1fdddf2 100644 --- a/lib/src/util/endpoints/user_endpoints.dart +++ b/lib/src/util/endpoints/user_endpoints.dart @@ -1,10 +1,10 @@ +import 'general_endpoints.dart'; + /// Class for API endpoints needed to access users data on BLT. class UserEndPoints { UserEndPoints._(); - static const String baseUrl = "https://www.blt.owasp.org/"; - - static const String userInfo = baseUrl + "api/v1/profile/"; + static const String userInfo = GeneralEndPoints.apiBaseUrl + "profile/"; - static const String userData = baseUrl + "api/v1/profile/auth/user/"; + static const String userData = GeneralEndPoints.apiBaseUrl + "profile/auth/user/"; } From 80038d670d8e8adaeec0d85934afe3d86906cee1 Mon Sep 17 00:00:00 2001 From: Harshit Seksaria <37345795+letsintegreat@users.noreply.github.com> Date: Mon, 6 Mar 2023 12:20:27 +0530 Subject: [PATCH 10/19] fix a url --- lib/src/util/endpoints/general_endpoints.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/src/util/endpoints/general_endpoints.dart b/lib/src/util/endpoints/general_endpoints.dart index a0eae3111f..ac3568ec8c 100644 --- a/lib/src/util/endpoints/general_endpoints.dart +++ b/lib/src/util/endpoints/general_endpoints.dart @@ -2,7 +2,7 @@ class GeneralEndPoints { GeneralEndPoints._(); - static const String domain = "blt.owasp.org/"; + static const String domain = "www.owasp.org/BLT/"; static const String baseUrl = "https://www.owasp.org/BLT/"; From 07cf9d4c462a0900808e1a727e6332288bd461c1 Mon Sep 17 00:00:00 2001 From: Harshit Seksaria <37345795+letsintegreat@users.noreply.github.com> Date: Mon, 6 Mar 2023 12:31:32 +0530 Subject: [PATCH 11/19] revert a change in Info.plist --- ios/Runner/Info.plist | 1 + 1 file changed, 1 insertion(+) diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index bc36b82eb1..9f2d4a2b01 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -45,6 +45,7 @@ UIViewControllerBasedStatusBarAppearance + CFBundleURLTypes CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents From b0bdf8597d369d8a22e901af0ff49af7bf462c6c Mon Sep 17 00:00:00 2001 From: Harshit Seksaria <37345795+letsintegreat@users.noreply.github.com> Date: Mon, 6 Mar 2023 12:38:13 +0530 Subject: [PATCH 12/19] remove old logos again --- assets/bugheist_logo.svg | 14 -------------- assets/logo_white_old.svg | 14 -------------- 2 files changed, 28 deletions(-) delete mode 100644 assets/bugheist_logo.svg delete mode 100644 assets/logo_white_old.svg diff --git a/assets/bugheist_logo.svg b/assets/bugheist_logo.svg deleted file mode 100644 index 828c278bc0..0000000000 --- a/assets/bugheist_logo.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/assets/logo_white_old.svg b/assets/logo_white_old.svg deleted file mode 100644 index 635a91fe4b..0000000000 --- a/assets/logo_white_old.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - From 266cc851c0cb5b82c6ae75f1acc6b1c12a3b139d Mon Sep 17 00:00:00 2001 From: Harshit Seksaria <37345795+letsintegreat@users.noreply.github.com> Date: Mon, 6 Mar 2023 12:45:18 +0530 Subject: [PATCH 13/19] revert ios icons --- assets/github/gh_screen2.png | Bin 78856 -> 380222 bytes .../Icon-App-1024x1024@1x.png | Bin 10932 -> 23337 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 295 -> 525 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 406 -> 1083 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 450 -> 1753 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 282 -> 766 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 462 -> 1678 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 704 -> 2682 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 406 -> 1083 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 586 -> 2405 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 862 -> 3823 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 862 -> 3823 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 1674 -> 5853 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 762 -> 2260 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 1226 -> 4859 bytes .../Icon-App-83.5x83.5@2x.png | Bin 1418 -> 5327 bytes lib/src/util/endpoints/general_endpoints.dart | 2 +- 17 files changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/github/gh_screen2.png b/assets/github/gh_screen2.png index 6c6b6eaf2fa30bf86c5927015e62fb3557f97449..15e0ea769b1ac479388a7b4beec99bd8c805ea6f 100644 GIT binary patch literal 380222 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 z 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

WqX8VA~6=X(73A8Zko)n^z)7<$S7QLyk$+$h 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%0ApI@k}WpqbQ^53+C$XN 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