From 22b30ee2a6de91a3ac677440eaac2e11f35e4578 Mon Sep 17 00:00:00 2001 From: Shajin KP <165116731+shajin-screl@users.noreply.github.com> Date: Fri, 1 Nov 2024 15:19:07 +0530 Subject: [PATCH 01/13] V --- pubspec.yaml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index a50c402..6280645 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,15 +4,13 @@ version: 0.4.1 homepage: https://github.com/andrey-ushakov/esc_pos_bluetooth environment: - sdk: ">=2.12.0 <3.0.0" - + sdk: ">=3.3.1 <4.0.0" + dependencies: flutter: sdk: flutter - rxdart: ^0.26.0 + rxdart: ^0.28.0 esc_pos_utils: ^1.1.0 - # esc_pos_utils: - # path: ../esc_pos_utils flutter_bluetooth_basic: ^0.1.7 dev_dependencies: From 1796f299421c3fba0e5f7b3d3e85a0a98fedd740 Mon Sep 17 00:00:00 2001 From: Shajin KP <165116731+shajin-screl@users.noreply.github.com> Date: Fri, 1 Nov 2024 15:22:17 +0530 Subject: [PATCH 02/13] BLue --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 6280645..3270bab 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ homepage: https://github.com/andrey-ushakov/esc_pos_bluetooth environment: sdk: ">=3.3.1 <4.0.0" - + dependencies: flutter: sdk: flutter From b6efbcdfa02a3d00ba6491f5f4371f8e637e91ca Mon Sep 17 00:00:00 2001 From: Shajin KP <165116731+shajin-screl@users.noreply.github.com> Date: Fri, 1 Nov 2024 15:26:25 +0530 Subject: [PATCH 03/13] dfs --- pubspec.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 3270bab..bbf200b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -11,7 +11,9 @@ dependencies: sdk: flutter rxdart: ^0.28.0 esc_pos_utils: ^1.1.0 - flutter_bluetooth_basic: ^0.1.7 + flutter_bluetooth_basic: + git: + url: https://github.com/screlinfo/flutter_bluetooth_basic_isselo dev_dependencies: flutter_test: From b2d811c1cb082b17f25efaac3090a96c1d6c656b Mon Sep 17 00:00:00 2001 From: Shajin KP <165116731+shajin-screl@users.noreply.github.com> Date: Fri, 1 Nov 2024 15:29:34 +0530 Subject: [PATCH 04/13] image --- pubspec.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index bbf200b..ad46cb3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,7 +10,9 @@ dependencies: flutter: sdk: flutter rxdart: ^0.28.0 - esc_pos_utils: ^1.1.0 + esc_pos_utils: + git: + url: https://github.dev/shajin-screl/flutter_esc_pos_utils_isselo flutter_bluetooth_basic: git: url: https://github.com/screlinfo/flutter_bluetooth_basic_isselo From a05612768eb7c92180a03eb9deb6e6448e356274 Mon Sep 17 00:00:00 2001 From: Shajin KP <165116731+shajin-screl@users.noreply.github.com> Date: Fri, 1 Nov 2024 15:29:59 +0530 Subject: [PATCH 05/13] url typo --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index ad46cb3..1853420 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,7 +12,7 @@ dependencies: rxdart: ^0.28.0 esc_pos_utils: git: - url: https://github.dev/shajin-screl/flutter_esc_pos_utils_isselo + url: https://github.com/shajin-screl/flutter_esc_pos_utils_isselo flutter_bluetooth_basic: git: url: https://github.com/screlinfo/flutter_bluetooth_basic_isselo From 771ee31120edf221f4e294f4a545af544691a56b Mon Sep 17 00:00:00 2001 From: Shajin KP <165116731+shajin-screl@users.noreply.github.com> Date: Fri, 1 Nov 2024 15:33:51 +0530 Subject: [PATCH 06/13] Dsd --- pubspec.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 1853420..047972f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,7 +12,8 @@ dependencies: rxdart: ^0.28.0 esc_pos_utils: git: - url: https://github.com/shajin-screl/flutter_esc_pos_utils_isselo + url: https://github.com/andrey-ushakov/esc_pos_utils/ + ref: 865e7d563d9a6d7e1167fb6820afb10430c28e24 flutter_bluetooth_basic: git: url: https://github.com/screlinfo/flutter_bluetooth_basic_isselo From 1a9602488c0771435ddbe4779335e19141a5e7c1 Mon Sep 17 00:00:00 2001 From: Shajin KP Date: Fri, 1 Nov 2024 15:45:57 +0530 Subject: [PATCH 07/13] S --- .vscode/settings.json | 11 + example/blue/.gitignore | 37 -- example/blue/.metadata | 10 - example/blue/README.md | 16 - example/blue/android/.gitignore | 7 - example/blue/android/app/build.gradle | 67 --- .../android/app/src/debug/AndroidManifest.xml | 7 - .../android/app/src/main/AndroidManifest.xml | 30 - .../kotlin/com/example/blue/MainActivity.kt | 12 - .../main/res/drawable/launch_background.xml | 12 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 0 bytes .../app/src/main/res/values/styles.xml | 8 - .../app/src/profile/AndroidManifest.xml | 7 - example/blue/android/build.gradle | 31 - example/blue/android/gradle.properties | 4 - .../gradle/wrapper/gradle-wrapper.properties | 6 - example/blue/android/settings.gradle | 15 - example/blue/assets/logo.png | Bin 2381 -> 0 bytes example/blue/assets/logo216.png | Bin 3057 -> 0 bytes example/blue/assets/logo222.png | Bin 3002 -> 0 bytes example/blue/assets/rabbit_black.jpg | Bin 23045 -> 0 bytes example/blue/ios/.gitignore | 32 - .../blue/ios/Flutter/AppFrameworkInfo.plist | 26 - example/blue/ios/Flutter/Debug.xcconfig | 2 - example/blue/ios/Flutter/Release.xcconfig | 2 - example/blue/ios/Podfile | 91 --- example/blue/ios/Podfile.lock | 40 -- .../blue/ios/Runner.xcodeproj/project.pbxproj | 567 ------------------ .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 87 --- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - example/blue/ios/Runner/AppDelegate.h | 6 - example/blue/ios/Runner/AppDelegate.m | 13 - .../AppIcon.appiconset/Contents.json | 122 ---- .../Icon-App-1024x1024@1x.png | Bin 10932 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 564 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 1283 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 1588 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 1025 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 1716 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 1920 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 1283 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 1895 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 2665 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 2665 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 3831 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 1888 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 3294 -> 0 bytes .../Icon-App-83.5x83.5@2x.png | Bin 3612 -> 0 bytes .../LaunchImage.imageset/Contents.json | 23 - .../LaunchImage.imageset/LaunchImage.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/README.md | 5 - .../Runner/Base.lproj/LaunchScreen.storyboard | 37 -- .../ios/Runner/Base.lproj/Main.storyboard | 26 - example/blue/ios/Runner/Info.plist | 54 -- example/blue/ios/Runner/main.m | 9 - example/blue/lib/main.dart | 370 ------------ example/blue/pubspec.yaml | 34 -- example/blue/test/widget_test.dart | 30 - pubspec.yaml | 2 +- test/esc_pos_bluetooth_test.dart | 9 - 69 files changed, 12 insertions(+), 1888 deletions(-) create mode 100644 .vscode/settings.json delete mode 100644 example/blue/.gitignore delete mode 100644 example/blue/.metadata delete mode 100644 example/blue/README.md delete mode 100644 example/blue/android/.gitignore delete mode 100644 example/blue/android/app/build.gradle delete mode 100644 example/blue/android/app/src/debug/AndroidManifest.xml delete mode 100644 example/blue/android/app/src/main/AndroidManifest.xml delete mode 100644 example/blue/android/app/src/main/kotlin/com/example/blue/MainActivity.kt delete mode 100644 example/blue/android/app/src/main/res/drawable/launch_background.xml delete mode 100644 example/blue/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 example/blue/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 example/blue/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 example/blue/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 example/blue/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 example/blue/android/app/src/main/res/values/styles.xml delete mode 100644 example/blue/android/app/src/profile/AndroidManifest.xml delete mode 100644 example/blue/android/build.gradle delete mode 100644 example/blue/android/gradle.properties delete mode 100644 example/blue/android/gradle/wrapper/gradle-wrapper.properties delete mode 100644 example/blue/android/settings.gradle delete mode 100644 example/blue/assets/logo.png delete mode 100644 example/blue/assets/logo216.png delete mode 100644 example/blue/assets/logo222.png delete mode 100644 example/blue/assets/rabbit_black.jpg delete mode 100644 example/blue/ios/.gitignore delete mode 100644 example/blue/ios/Flutter/AppFrameworkInfo.plist delete mode 100644 example/blue/ios/Flutter/Debug.xcconfig delete mode 100644 example/blue/ios/Flutter/Release.xcconfig delete mode 100644 example/blue/ios/Podfile delete mode 100644 example/blue/ios/Podfile.lock delete mode 100644 example/blue/ios/Runner.xcodeproj/project.pbxproj delete mode 100644 example/blue/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 example/blue/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 example/blue/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 example/blue/ios/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 example/blue/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 example/blue/ios/Runner/AppDelegate.h delete mode 100644 example/blue/ios/Runner/AppDelegate.m delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json delete mode 100644 example/blue/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png delete mode 100644 example/blue/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md delete mode 100644 example/blue/ios/Runner/Base.lproj/LaunchScreen.storyboard delete mode 100644 example/blue/ios/Runner/Base.lproj/Main.storyboard delete mode 100644 example/blue/ios/Runner/Info.plist delete mode 100644 example/blue/ios/Runner/main.m delete mode 100644 example/blue/lib/main.dart delete mode 100644 example/blue/pubspec.yaml delete mode 100644 example/blue/test/widget_test.dart delete mode 100644 test/esc_pos_bluetooth_test.dart diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..fc334da --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "files.exclude": { + "**/.git": true, + "**/.svn": true, + "**/.hg": true, + "**/CVS": true, + "**/.DS_Store": true, + "**/Thumbs.db": true + }, + "hide-files.files": [] +} diff --git a/example/blue/.gitignore b/example/blue/.gitignore deleted file mode 100644 index ae1f183..0000000 --- a/example/blue/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -/build/ - -# Web related -lib/generated_plugin_registrant.dart - -# Exceptions to above rules. -!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages diff --git a/example/blue/.metadata b/example/blue/.metadata deleted file mode 100644 index 1b5cec0..0000000 --- a/example/blue/.metadata +++ /dev/null @@ -1,10 +0,0 @@ -# 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. - -version: - revision: 27321ebbad34b0a3fafe99fac037102196d655ff - channel: stable - -project_type: app diff --git a/example/blue/README.md b/example/blue/README.md deleted file mode 100644 index 92925cb..0000000 --- a/example/blue/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# blue - -A new Flutter project. - -## Getting Started - -This project is a starting point for a Flutter application. - -A few resources to get you started if this is your first Flutter project: - -- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) - -For help getting started with Flutter, view our -[online documentation](https://flutter.dev/docs), which offers tutorials, -samples, guidance on mobile development, and a full API reference. diff --git a/example/blue/android/.gitignore b/example/blue/android/.gitignore deleted file mode 100644 index bc2100d..0000000 --- a/example/blue/android/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -gradle-wrapper.jar -/.gradle -/captures/ -/gradlew -/gradlew.bat -/local.properties -GeneratedPluginRegistrant.java diff --git a/example/blue/android/app/build.gradle b/example/blue/android/app/build.gradle deleted file mode 100644 index 9be8e53..0000000 --- a/example/blue/android/app/build.gradle +++ /dev/null @@ -1,67 +0,0 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - -android { - compileSdkVersion 28 - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - - lintOptions { - disable 'InvalidPackage' - } - - defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.example.blue" - minSdkVersion 21 - targetSdkVersion 28 - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - buildTypes { - release { - // TODO: Add your own signing config for the release build. - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug - } - } -} - -flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - testImplementation 'junit:junit:4.12' - androidTestImplementation 'androidx.test:runner:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' -} diff --git a/example/blue/android/app/src/debug/AndroidManifest.xml b/example/blue/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 0952c9a..0000000 --- a/example/blue/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/example/blue/android/app/src/main/AndroidManifest.xml b/example/blue/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index ebf0490..0000000 --- a/example/blue/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - diff --git a/example/blue/android/app/src/main/kotlin/com/example/blue/MainActivity.kt b/example/blue/android/app/src/main/kotlin/com/example/blue/MainActivity.kt deleted file mode 100644 index a32b948..0000000 --- a/example/blue/android/app/src/main/kotlin/com/example/blue/MainActivity.kt +++ /dev/null @@ -1,12 +0,0 @@ -package com.example.blue - -import androidx.annotation.NonNull; -import io.flutter.embedding.android.FlutterActivity -import io.flutter.embedding.engine.FlutterEngine -import io.flutter.plugins.GeneratedPluginRegistrant - -class MainActivity: FlutterActivity() { - override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) { - GeneratedPluginRegistrant.registerWith(flutterEngine); - } -} diff --git a/example/blue/android/app/src/main/res/drawable/launch_background.xml b/example/blue/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f..0000000 --- a/example/blue/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/example/blue/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/example/blue/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ diff --git a/example/blue/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/example/blue/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b79bb8a35cc66c3c1fd44f5a5526c1b78be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ diff --git a/example/blue/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/example/blue/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof diff --git a/example/blue/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/example/blue/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372eebdb28e45604e46eeda8dd24651419bc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/example/blue/android/app/src/main/res/values/styles.xml b/example/blue/android/app/src/main/res/values/styles.xml deleted file mode 100644 index 00fa441..0000000 --- a/example/blue/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/example/blue/android/app/src/profile/AndroidManifest.xml b/example/blue/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 0952c9a..0000000 --- a/example/blue/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/example/blue/android/build.gradle b/example/blue/android/build.gradle deleted file mode 100644 index 3100ad2..0000000 --- a/example/blue/android/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -buildscript { - ext.kotlin_version = '1.3.50' - repositories { - google() - jcenter() - } - - dependencies { - classpath 'com.android.tools.build:gradle:3.5.0' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -allprojects { - repositories { - google() - jcenter() - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(':app') -} - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/example/blue/android/gradle.properties b/example/blue/android/gradle.properties deleted file mode 100644 index 38c8d45..0000000 --- a/example/blue/android/gradle.properties +++ /dev/null @@ -1,4 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M -android.enableR8=true -android.useAndroidX=true -android.enableJetifier=true diff --git a/example/blue/android/gradle/wrapper/gradle-wrapper.properties b/example/blue/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 296b146..0000000 --- a/example/blue/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Fri Jun 23 08:50:38 CEST 2017 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip diff --git a/example/blue/android/settings.gradle b/example/blue/android/settings.gradle deleted file mode 100644 index 5a2f14f..0000000 --- a/example/blue/android/settings.gradle +++ /dev/null @@ -1,15 +0,0 @@ -include ':app' - -def flutterProjectRoot = rootProject.projectDir.parentFile.toPath() - -def plugins = new Properties() -def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins') -if (pluginsFile.exists()) { - pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) } -} - -plugins.each { name, path -> - def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile() - include ":$name" - project(":$name").projectDir = pluginDirectory -} diff --git a/example/blue/assets/logo.png b/example/blue/assets/logo.png deleted file mode 100644 index c4d503ec63b228309b14bef62daf2e329265e880..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2381 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 CR!C$3 diff --git a/example/blue/assets/logo222.png b/example/blue/assets/logo222.png deleted file mode 100644 index 30eb7db81756b57cca2d56565a4661cc801d2e2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3002 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

1`cjV$-!-4ijoV#cGPBt6 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 T(kuSrTfet8U8;2??#)s diff --git a/example/blue/ios/.gitignore b/example/blue/ios/.gitignore deleted file mode 100644 index e96ef60..0000000 --- a/example/blue/ios/.gitignore +++ /dev/null @@ -1,32 +0,0 @@ -*.mode1v3 -*.mode2v3 -*.moved-aside -*.pbxuser -*.perspectivev3 -**/*sync/ -.sconsign.dblite -.tags* -**/.vagrant/ -**/DerivedData/ -Icon? -**/Pods/ -**/.symlinks/ -profile -xcuserdata -**/.generated/ -Flutter/App.framework -Flutter/Flutter.framework -Flutter/Flutter.podspec -Flutter/Generated.xcconfig -Flutter/app.flx -Flutter/app.zip -Flutter/flutter_assets/ -Flutter/flutter_export_environment.sh -ServiceDefinitions.json -Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!default.mode1v3 -!default.mode2v3 -!default.pbxuser -!default.perspectivev3 diff --git a/example/blue/ios/Flutter/AppFrameworkInfo.plist b/example/blue/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 6b4c0f7..0000000 --- a/example/blue/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - MinimumOSVersion - 8.0 - - diff --git a/example/blue/ios/Flutter/Debug.xcconfig b/example/blue/ios/Flutter/Debug.xcconfig deleted file mode 100644 index e8efba1..0000000 --- a/example/blue/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Generated.xcconfig" diff --git a/example/blue/ios/Flutter/Release.xcconfig b/example/blue/ios/Flutter/Release.xcconfig deleted file mode 100644 index 399e934..0000000 --- a/example/blue/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Generated.xcconfig" diff --git a/example/blue/ios/Podfile b/example/blue/ios/Podfile deleted file mode 100644 index 3aee41e..0000000 --- a/example/blue/ios/Podfile +++ /dev/null @@ -1,91 +0,0 @@ -# Uncomment this line to define a global platform for your project -# platform :ios, '9.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 parse_KV_file(file, separator='=') - file_abs_path = File.expand_path(file) - if !File.exists? file_abs_path - return []; - end - generated_key_values = {} - skip_line_start_symbols = ["#", "/"] - File.foreach(file_abs_path) do |line| - next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ } - plugin = line.split(pattern=separator) - if plugin.length == 2 - podname = plugin[0].strip() - path = plugin[1].strip() - podpath = File.expand_path("#{path}", file_abs_path) - generated_key_values[podname] = podpath - else - puts "Invalid plugin specification: #{line}" - end - end - generated_key_values -end - -target 'Runner' do - use_frameworks! - use_modular_headers! - - # Flutter Pod - - copied_flutter_dir = File.join(__dir__, 'Flutter') - copied_framework_path = File.join(copied_flutter_dir, 'Flutter.framework') - copied_podspec_path = File.join(copied_flutter_dir, 'Flutter.podspec') - unless File.exist?(copied_framework_path) && File.exist?(copied_podspec_path) - # Copy Flutter.framework and Flutter.podspec to Flutter/ to have something to link against if the xcode backend script has not run yet. - # That script will copy the correct debug/profile/release version of the framework based on the currently selected Xcode configuration. - # CocoaPods will not embed the framework on pod install (before any build phases can generate) if the dylib does not exist. - - generated_xcode_build_settings_path = File.join(copied_flutter_dir, 'Generated.xcconfig') - unless File.exist?(generated_xcode_build_settings_path) - raise "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - generated_xcode_build_settings = parse_KV_file(generated_xcode_build_settings_path) - cached_framework_dir = generated_xcode_build_settings['FLUTTER_FRAMEWORK_DIR']; - - unless File.exist?(copied_framework_path) - FileUtils.cp_r(File.join(cached_framework_dir, 'Flutter.framework'), copied_flutter_dir) - end - unless File.exist?(copied_podspec_path) - FileUtils.cp(File.join(cached_framework_dir, 'Flutter.podspec'), copied_flutter_dir) - end - end - - # Keep pod path relative so it can be checked into Podfile.lock. - pod 'Flutter', :path => 'Flutter' - - # Plugin Pods - - # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock - # referring to absolute paths on developers' machines. - system('rm -rf .symlinks') - system('mkdir -p .symlinks/plugins') - plugin_pods = parse_KV_file('../.flutter-plugins') - plugin_pods.each do |name, path| - symlink = File.join('.symlinks', 'plugins', name) - File.symlink(path, symlink) - pod name, :path => File.join(symlink, 'ios') - end -end - -# Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system. -install! 'cocoapods', :disable_input_output_paths => true - -post_install do |installer| - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['ENABLE_BITCODE'] = 'NO' - config.build_settings['SWIFT_VERSION'] = '4.2' # <--- add this - end - end -end diff --git a/example/blue/ios/Podfile.lock b/example/blue/ios/Podfile.lock deleted file mode 100644 index 3b21092..0000000 --- a/example/blue/ios/Podfile.lock +++ /dev/null @@ -1,40 +0,0 @@ -PODS: - - charset_converter (0.0.1): - - Flutter - - Flutter (1.0.0) - - flutter_bluetooth_basic (0.0.1): - - Flutter - - path_provider (0.0.1): - - Flutter - - path_provider_macos (0.0.1): - - Flutter - -DEPENDENCIES: - - charset_converter (from `.symlinks/plugins/charset_converter/ios`) - - Flutter (from `Flutter`) - - flutter_bluetooth_basic (from `.symlinks/plugins/flutter_bluetooth_basic/ios`) - - path_provider (from `.symlinks/plugins/path_provider/ios`) - - path_provider_macos (from `.symlinks/plugins/path_provider_macos/ios`) - -EXTERNAL SOURCES: - charset_converter: - :path: ".symlinks/plugins/charset_converter/ios" - Flutter: - :path: Flutter - flutter_bluetooth_basic: - :path: ".symlinks/plugins/flutter_bluetooth_basic/ios" - path_provider: - :path: ".symlinks/plugins/path_provider/ios" - path_provider_macos: - :path: ".symlinks/plugins/path_provider_macos/ios" - -SPEC CHECKSUMS: - charset_converter: 215c7b04932ec2b9ba43be96a9bc34afed3e5322 - Flutter: 0e3d915762c693b495b44d77113d4970485de6ec - flutter_bluetooth_basic: 0e4e27e22b50b3a25cc1d1e131953feb4af414f4 - path_provider: fb74bd0465e96b594bb3b5088ee4a4e7bb1f2a9d - path_provider_macos: f760a3c5b04357c380e2fddb6f9db6f3015897e0 - -PODFILE CHECKSUM: ae34db30f861e93537b77c454f870f0f18e8deef - -COCOAPODS: 1.8.4 diff --git a/example/blue/ios/Runner.xcodeproj/project.pbxproj b/example/blue/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 6063b8c..0000000 --- a/example/blue/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,567 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; - 97C146F31CF9000F007C117D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; - 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 */; }; - 9BF580C952D09CCF033A2F91 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 28A617744456BDAEBB0A61C4 /* Pods_Runner.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* 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 = ""; }; - 28A617744456BDAEBB0A61C4 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 31A8528493424BB47F417B49 /* 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 = ""; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 4DBC88598EB83611427B342E /* 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 = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146F21CF9000F007C117D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 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 = ""; }; - E1B87060C53FEC09BE1B0C7C /* 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 = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 9BF580C952D09CCF033A2F91 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 877A50BEF1C0FB284671560C /* Pods */ = { - isa = PBXGroup; - children = ( - 31A8528493424BB47F417B49 /* Pods-Runner.debug.xcconfig */, - 4DBC88598EB83611427B342E /* Pods-Runner.release.xcconfig */, - E1B87060C53FEC09BE1B0C7C /* Pods-Runner.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - 877A50BEF1C0FB284671560C /* Pods */, - A12430A4DEE0E50A7AF77B73 /* Frameworks */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 7AFFD8ED1D35381100E5BB4D /* AppDelegate.h */, - 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */, - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 97C146F11CF9000F007C117D /* Supporting Files */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - ); - path = Runner; - sourceTree = ""; - }; - 97C146F11CF9000F007C117D /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 97C146F21CF9000F007C117D /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - A12430A4DEE0E50A7AF77B73 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 28A617744456BDAEBB0A61C4 /* Pods_Runner.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 10D669D5285F24E58D74D4E8 /* [CP] Check Pods Manifest.lock */, - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - DE9090B956159A2A305EA0E1 /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1020; - ORGANIZATIONNAME = "The Chromium Authors"; - TargetAttributes = { - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - DevelopmentTeam = 8YA3WTV6AF; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 10D669D5285F24E58D74D4E8 /* [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; - }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; - DE9090B956159A2A305EA0E1 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - ); - 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 */ - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */, - 97C146F31CF9000F007C117D /* main.m in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 8YA3WTV6AF; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.flutterdev.blue; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 8YA3WTV6AF; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.flutterdev.blue; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 8YA3WTV6AF; - ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Flutter", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.flutterdev.blue; - PRODUCT_NAME = "$(TARGET_NAME)"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/example/blue/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/example/blue/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 1d526a1..0000000 --- a/example/blue/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/example/blue/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/blue/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/example/blue/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/example/blue/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/blue/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index ad6250a..0000000 --- a/example/blue/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/blue/ios/Runner.xcworkspace/contents.xcworkspacedata b/example/blue/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc1..0000000 --- a/example/blue/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/example/blue/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/example/blue/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/example/blue/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/example/blue/ios/Runner/AppDelegate.h b/example/blue/ios/Runner/AppDelegate.h deleted file mode 100644 index 36e21bb..0000000 --- a/example/blue/ios/Runner/AppDelegate.h +++ /dev/null @@ -1,6 +0,0 @@ -#import -#import - -@interface AppDelegate : FlutterAppDelegate - -@end diff --git a/example/blue/ios/Runner/AppDelegate.m b/example/blue/ios/Runner/AppDelegate.m deleted file mode 100644 index 70e8393..0000000 --- a/example/blue/ios/Runner/AppDelegate.m +++ /dev/null @@ -1,13 +0,0 @@ -#import "AppDelegate.h" -#import "GeneratedPluginRegistrant.h" - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application - didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [GeneratedPluginRegistrant registerWithRegistry:self]; - // Override point for customization after application launch. - return [super application:application didFinishLaunchingWithOptions:launchOptions]; -} - -@end diff --git a/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fa..0000000 --- a/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4725e9b0ddb1deab583e5b5102493aa332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10932 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 diff --git a/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b0bca859a3f474b03065bef75ba58a9e4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1588 zcmV-42Fv-0P)C1SqPt}wig>|5Crh^=oyX$BK<}M8eLU3e2hGT;=G|!_SP)7zNI6fqUMB=)y zRAZ>eDe#*r`yDAVgB_R*LB*MAc)8(b{g{9McCXW!lq7r(btRoB9!8B-#AI6JMb~YFBEvdsV)`mEQO^&#eRKx@b&x- z5lZm*!WfD8oCLzfHGz#u7sT0^VLMI1MqGxF^v+`4YYnVYgk*=kU?HsSz{v({E3lb9 z>+xILjBN)t6`=g~IBOelGQ(O990@BfXf(DRI5I$qN$0Gkz-FSc$3a+2fX$AedL4u{ z4V+5Ong(9LiGcIKW?_352sR;LtDPmPJXI{YtT=O8=76o9;*n%_m|xo!i>7$IrZ-{l z-x3`7M}qzHsPV@$v#>H-TpjDh2UE$9g6sysUREDy_R(a)>=eHw-WAyfIN z*qb!_hW>G)Tu8nSw9yn#3wFMiLcfc4pY0ek1}8(NqkBR@t4{~oC>ryc-h_ByH(Cg5 z>ao-}771+xE3um9lWAY1FeQFxowa1(!J(;Jg*wrg!=6FdRX+t_<%z&d&?|Bn){>zm zZQj(aA_HeBY&OC^jj*)N`8fa^ePOU72VpInJoI1?`ty#lvlNzs(&MZX+R%2xS~5Kh zX*|AU4QE#~SgPzOXe9>tRj>hjU@c1k5Y_mW*Jp3fI;)1&g3j|zDgC+}2Q_v%YfDax z!?umcN^n}KYQ|a$Lr+51Nf9dkkYFSjZZjkma$0KOj+;aQ&721~t7QUKx61J3(P4P1 zstI~7-wOACnWP4=8oGOwz%vNDqD8w&Q`qcNGGrbbf&0s9L0De{4{mRS?o0MU+nR_! zrvshUau0G^DeMhM_v{5BuLjb#Hh@r23lDAk8oF(C+P0rsBpv85EP>4CVMx#04MOfG z;P%vktHcXwTj~+IE(~px)3*MY77e}p#|c>TD?sMatC0Tu4iKKJ0(X8jxQY*gYtxsC z(zYC$g|@+I+kY;dg_dE>scBf&bP1Nc@Hz<3R)V`=AGkc;8CXqdi=B4l2k|g;2%#m& z*jfX^%b!A8#bI!j9-0Fi0bOXl(-c^AB9|nQaE`*)Hw+o&jS9@7&Gov#HbD~#d{twV zXd^Tr^mWLfFh$@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)y zI9C9*oUga6=hxw6QasLPnee@3^Rr*M{CdaL5=R41nLs(AHk_=Y+A9$2&H(B7!_pURs&8aNw7?`&Z&xY_Ye z)~D5Bog^td-^QbUtkTirdyK^mTHAOuptDflut!#^lnKqU md>ggs(5nOWAqO?umG&QVYK#ibz}*4>0000U6E9hRK9^#O7(mu>ETqrXGsduA8$)?`v2seloOCza43C{NQ$$gAOH**MCn0Q?+L7dl7qnbRdqZ8LSVp1ItDxhxD?t@5_yHg6A8yI zC*%Wgg22K|8E#!~cTNYR~@Y9KepMPrrB8cABapAFa=`H+UGhkXUZV1GnwR1*lPyZ;*K(i~2gp|@bzp8}og7e*#% zEnr|^CWdVV!-4*Y_7rFvlww2Ze+>j*!Z!pQ?2l->4q#nqRu9`ELo6RMS5=br47g_X zRw}P9a7RRYQ%2Vsd0Me{_(EggTnuN6j=-?uFS6j^u69elMypu?t>op*wBx<=Wx8?( ztpe^(fwM6jJX7M-l*k3kEpWOl_Vk3@(_w4oc}4YF4|Rt=2V^XU?#Yz`8(e?aZ@#li0n*=g^qOcVpd-Wbok=@b#Yw zqn8u9a)z>l(1kEaPYZ6hwubN6i<8QHgsu0oE) ziJ(p;Wxm>sf!K+cw>R-(^Y2_bahB+&KI9y^);#0qt}t-$C|Bo71lHi{_+lg#f%RFy z0um=e3$K3i6K{U_4K!EX?F&rExl^W|G8Z8;`5z-k}OGNZ0#WVb$WCpQu-_YsiqKP?BB# vzVHS-CTUF4Ozn5G+mq_~Qqto~ahA+K`|lyv3(-e}00000NkvXXu0mjfd`9t{ diff --git a/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e7edb86cdfe0d15b4b0d98334a86163658..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1716 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 diff --git a/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8f5cee1c98386d13b17e89f719e83555b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1895 zcmV-t2blPYP)FQtfgmafE#=YDCq`qUBt#QpG%*H6QHY765~R=q zZ6iudfM}q!Pz#~9JgOi8QJ|DSu?1-*(kSi1K4#~5?#|rh?sS)(-JQqX*}ciXJ56_H zdw=^s_srbAdqxlvGyrgGet#6T7_|j;95sL%MtM;q86vOxKM$f#puR)Bjv9Zvz9-di zXOTSsZkM83)E9PYBXC<$6(|>lNLVBb&&6y{NByFCp%6+^ALR@NCTse_wqvNmSWI-m z!$%KlHFH2omF!>#%1l3LTZg(s7eof$7*xB)ZQ0h?ejh?Ta9fDv59+u#MokW+1t8Zb zgHv%K(u9G^Lv`lh#f3<6!JVTL3(dCpxHbnbA;kKqQyd1~^Xe0VIaYBSWm6nsr;dFj z4;G-RyL?cYgsN1{L4ZFFNa;8)Rv0fM0C(~Tkit94 zz#~A)59?QjD&pAPSEQ)p8gP|DS{ng)j=2ux)_EzzJ773GmQ_Cic%3JJhC0t2cx>|v zJcVusIB!%F90{+}8hG3QU4KNeKmK%T>mN57NnCZ^56=0?&3@!j>a>B43pi{!u z7JyDj7`6d)qVp^R=%j>UIY6f+3`+qzIc!Y_=+uN^3BYV|o+$vGo-j-Wm<10%A=(Yk^beI{t%ld@yhKjq0iNjqN4XMGgQtbKubPM$JWBz}YA65k%dm*awtC^+f;a-x4+ddbH^7iDWGg&N0n#MW{kA|=8iMUiFYvMoDY@sPC#t$55gn6ykUTPAr`a@!(;np824>2xJthS z*ZdmT`g5-`BuJs`0LVhz+D9NNa3<=6m;cQLaF?tCv8)zcRSh66*Z|vXhG@$I%U~2l z?`Q zykI#*+rQ=z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRe zt3L_uNyQ*cE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=ky zx=~RKa4{iTm{_>_vSCm?$Ej=i6@=m%@VvAITnigVg{&@!7CDgs908761meDK5azA} z4?=NOH|PdvabgJ&fW2{Mo$Q0CcD8Qc84%{JPYt5EiG{MdLIAeX%T=D7NIP4%Hw}p9 zg)==!2Lbp#j{u_}hMiao9=!VSyx0gHbeCS`;q&vzeq|fs`y&^X-lso(Ls@-706qmA z7u*T5PMo_w3{se1t2`zWeO^hOvTsohG_;>J0wVqVe+n)AbQCx)yh9;w+J6?NF5Lmo zecS@ieAKL8%bVd@+-KT{yI|S}O>pYckUFs;ry9Ow$CD@ztz5K-*D$^{i(_1llhSh^ zEkL$}tsQt5>QA^;QgjgIfBDmcOgi5YDyu?t6vSnbp=1+@6D& z5MJ}B8q;bRlVoxasyhcUF1+)o`&3r0colr}QJ3hcSdLu;9;td>kf@Tcn<@9sIx&=m z;AD;SCh95=&p;$r{Xz3iWCO^MX83AGJ(yH&eTXgv|0=34#-&WAmw{)U7OU9!Wz^!7 zZ%jZFi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i h0WYBP*#0Ks^FNSabJA*5${_#%002ovPDHLkV1oKhTl@e3 diff --git a/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b8609df07bf62e5100a53a01510388bd2b22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ diff --git a/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b8609df07bf62e5100a53a01510388bd2b22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ diff --git a/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d164a5a98e212cca15ea7bf2ab5de5108680..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3831 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 diff --git a/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/example/blue/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d39da7941ef3f6dcb7f06a192d8dcb308d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1888 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 iW8Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/example/blue/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/example/blue/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/example/blue/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/example/blue/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/example/blue/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/example/blue/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725..0000000 --- a/example/blue/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/example/blue/ios/Runner/Base.lproj/LaunchScreen.storyboard b/example/blue/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c..0000000 --- a/example/blue/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/blue/ios/Runner/Base.lproj/Main.storyboard b/example/blue/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c2851..0000000 --- a/example/blue/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/example/blue/ios/Runner/Info.plist b/example/blue/ios/Runner/Info.plist deleted file mode 100644 index e69d8ef..0000000 --- a/example/blue/ios/Runner/Info.plist +++ /dev/null @@ -1,54 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - blue - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - NSBluetoothAlwaysUsageDescription - Bluetooth is used to scan for printers and send the data - UIViewControllerBasedStatusBarAppearance - - NSBluetoothPeripheralUsageDescription - Bluetooth is used to scan for printers and send the data - UIBackgroundModes - - bluetooth-central - bluetooth-peripheral - - - diff --git a/example/blue/ios/Runner/main.m b/example/blue/ios/Runner/main.m deleted file mode 100644 index dff6597..0000000 --- a/example/blue/ios/Runner/main.m +++ /dev/null @@ -1,9 +0,0 @@ -#import -#import -#import "AppDelegate.h" - -int main(int argc, char* argv[]) { - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/example/blue/lib/main.dart b/example/blue/lib/main.dart deleted file mode 100644 index 108d463..0000000 --- a/example/blue/lib/main.dart +++ /dev/null @@ -1,370 +0,0 @@ -import 'dart:io'; -import 'dart:typed_data'; -import 'package:intl/intl.dart'; -import 'package:qr_flutter/qr_flutter.dart'; -import 'package:path_provider/path_provider.dart'; -import 'package:flutter/services.dart'; -import 'package:image/image.dart'; -import 'package:esc_pos_utils/esc_pos_utils.dart'; -import 'package:esc_pos_bluetooth/esc_pos_bluetooth.dart'; -import 'package:flutter/material.dart' hide Image; -import 'package:oktoast/oktoast.dart'; - -void main() => runApp(MyApp()); - -class MyApp extends StatelessWidget { - @override - Widget build(BuildContext context) { - return OKToast( - child: MaterialApp( - title: 'Bluetooth demo', - theme: ThemeData( - primarySwatch: Colors.blue, - ), - home: MyHomePage(title: 'Bluetooth demo'), - ), - ); - } -} - -class MyHomePage extends StatefulWidget { - MyHomePage({Key? key, required this.title}) : super(key: key); - final String title; - - @override - _MyHomePageState createState() => _MyHomePageState(); -} - -class _MyHomePageState extends State { - PrinterBluetoothManager printerManager = PrinterBluetoothManager(); - List _devices = []; - - @override - void initState() { - super.initState(); - - printerManager.scanResults.listen((devices) async { - // print('UI: Devices found ${devices.length}'); - setState(() { - _devices = devices; - }); - }); - } - - void _startScanDevices() { - setState(() { - _devices = []; - }); - printerManager.startScan(Duration(seconds: 4)); - } - - void _stopScanDevices() { - printerManager.stopScan(); - } - - Future> demoReceipt( - PaperSize paper, CapabilityProfile profile) async { - final Generator ticket = Generator(paper, profile); - List bytes = []; - - // Print image - // final ByteData data = await rootBundle.load('assets/rabbit_black.jpg'); - // final Uint8List imageBytes = data.buffer.asUint8List(); - // final Image? image = decodeImage(imageBytes); - // bytes += ticket.image(image); - - bytes += ticket.text('GROCERYLY', - styles: PosStyles( - align: PosAlign.center, - height: PosTextSize.size2, - width: PosTextSize.size2, - ), - linesAfter: 1); - - bytes += ticket.text('889 Watson Lane', - styles: PosStyles(align: PosAlign.center)); - bytes += ticket.text('New Braunfels, TX', - styles: PosStyles(align: PosAlign.center)); - bytes += ticket.text('Tel: 830-221-1234', - styles: PosStyles(align: PosAlign.center)); - bytes += ticket.text('Web: www.example.com', - styles: PosStyles(align: PosAlign.center), linesAfter: 1); - - bytes += ticket.hr(); - bytes += ticket.row([ - PosColumn(text: 'Qty', width: 1), - PosColumn(text: 'Item', width: 7), - PosColumn( - text: 'Price', width: 2, styles: PosStyles(align: PosAlign.right)), - PosColumn( - text: 'Total', width: 2, styles: PosStyles(align: PosAlign.right)), - ]); - - bytes += ticket.row([ - PosColumn(text: '2', width: 1), - PosColumn(text: 'ONION RINGS', width: 7), - PosColumn( - text: '0.99', width: 2, styles: PosStyles(align: PosAlign.right)), - PosColumn( - text: '1.98', width: 2, styles: PosStyles(align: PosAlign.right)), - ]); - bytes += ticket.row([ - PosColumn(text: '1', width: 1), - PosColumn(text: 'PIZZA', width: 7), - PosColumn( - text: '3.45', width: 2, styles: PosStyles(align: PosAlign.right)), - PosColumn( - text: '3.45', width: 2, styles: PosStyles(align: PosAlign.right)), - ]); - bytes += ticket.row([ - PosColumn(text: '1', width: 1), - PosColumn(text: 'SPRING ROLLS', width: 7), - PosColumn( - text: '2.99', width: 2, styles: PosStyles(align: PosAlign.right)), - PosColumn( - text: '2.99', width: 2, styles: PosStyles(align: PosAlign.right)), - ]); - bytes += ticket.row([ - PosColumn(text: '3', width: 1), - PosColumn(text: 'CRUNCHY STICKS', width: 7), - PosColumn( - text: '0.85', width: 2, styles: PosStyles(align: PosAlign.right)), - PosColumn( - text: '2.55', width: 2, styles: PosStyles(align: PosAlign.right)), - ]); - bytes += ticket.hr(); - - bytes += ticket.row([ - PosColumn( - text: 'TOTAL', - width: 6, - styles: PosStyles( - height: PosTextSize.size2, - width: PosTextSize.size2, - )), - PosColumn( - text: '\$10.97', - width: 6, - styles: PosStyles( - align: PosAlign.right, - height: PosTextSize.size2, - width: PosTextSize.size2, - )), - ]); - - bytes += ticket.hr(ch: '=', linesAfter: 1); - - bytes += ticket.row([ - PosColumn( - text: 'Cash', - width: 7, - styles: PosStyles(align: PosAlign.right, width: PosTextSize.size2)), - PosColumn( - text: '\$15.00', - width: 5, - styles: PosStyles(align: PosAlign.right, width: PosTextSize.size2)), - ]); - bytes += ticket.row([ - PosColumn( - text: 'Change', - width: 7, - styles: PosStyles(align: PosAlign.right, width: PosTextSize.size2)), - PosColumn( - text: '\$4.03', - width: 5, - styles: PosStyles(align: PosAlign.right, width: PosTextSize.size2)), - ]); - - bytes += ticket.feed(2); - bytes += ticket.text('Thank you!', - styles: PosStyles(align: PosAlign.center, bold: true)); - - final now = DateTime.now(); - final formatter = DateFormat('MM/dd/yyyy H:m'); - final String timestamp = formatter.format(now); - bytes += ticket.text(timestamp, - styles: PosStyles(align: PosAlign.center), linesAfter: 2); - - // Print QR Code from image - // try { - // const String qrData = 'example.com'; - // const double qrSize = 200; - // final uiImg = await QrPainter( - // data: qrData, - // version: QrVersions.auto, - // gapless: false, - // ).toImageData(qrSize); - // final dir = await getTemporaryDirectory(); - // final pathName = '${dir.path}/qr_tmp.png'; - // final qrFile = File(pathName); - // final imgFile = await qrFile.writeAsBytes(uiImg.buffer.asUint8List()); - // final img = decodeImage(imgFile.readAsBytesSync()); - - // bytes += ticket.image(img); - // } catch (e) { - // print(e); - // } - - // Print QR Code using native function - // bytes += ticket.qrcode('example.com'); - - ticket.feed(2); - ticket.cut(); - return bytes; - } - - Future> testTicket( - PaperSize paper, CapabilityProfile profile) async { - final Generator generator = Generator(paper, profile); - List bytes = []; - - bytes += generator.text( - 'Regular: aA bB cC dD eE fF gG hH iI jJ kK lL mM nN oO pP qQ rR sS tT uU vV wW xX yY zZ'); - // bytes += generator.text('Special 1: àÀ èÈ éÉ ûÛ üÜ çÇ ôÔ', - // styles: PosStyles(codeTable: PosCodeTable.westEur)); - // bytes += generator.text('Special 2: blåbærgrød', - // styles: PosStyles(codeTable: PosCodeTable.westEur)); - - bytes += generator.text('Bold text', styles: PosStyles(bold: true)); - bytes += generator.text('Reverse text', styles: PosStyles(reverse: true)); - bytes += generator.text('Underlined text', - styles: PosStyles(underline: true), linesAfter: 1); - bytes += - generator.text('Align left', styles: PosStyles(align: PosAlign.left)); - bytes += generator.text('Align center', - styles: PosStyles(align: PosAlign.center)); - bytes += generator.text('Align right', - styles: PosStyles(align: PosAlign.right), linesAfter: 1); - - bytes += generator.row([ - PosColumn( - text: 'col3', - width: 3, - styles: PosStyles(align: PosAlign.center, underline: true), - ), - PosColumn( - text: 'col6', - width: 6, - styles: PosStyles(align: PosAlign.center, underline: true), - ), - PosColumn( - text: 'col3', - width: 3, - styles: PosStyles(align: PosAlign.center, underline: true), - ), - ]); - - bytes += generator.text('Text size 200%', - styles: PosStyles( - height: PosTextSize.size2, - width: PosTextSize.size2, - )); - - // Print image - final ByteData data = await rootBundle.load('assets/logo.png'); - final Uint8List buf = data.buffer.asUint8List(); - final Image image = decodeImage(buf)!; - bytes += generator.image(image); - // Print image using alternative commands - // bytes += generator.imageRaster(image); - // bytes += generator.imageRaster(image, imageFn: PosImageFn.graphics); - - // Print barcode - final List barData = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 4]; - bytes += generator.barcode(Barcode.upcA(barData)); - - // Print mixed (chinese + latin) text. Only for printers supporting Kanji mode - // bytes += generator.text( - // 'hello ! 中文字 # world @ éphémère &', - // styles: PosStyles(codeTable: PosCodeTable.westEur), - // containsChinese: true, - // ); - - bytes += generator.feed(2); - - bytes += generator.cut(); - return bytes; - } - - void _testPrint(PrinterBluetooth printer) async { - printerManager.selectPrinter(printer); - - // TODO Don't forget to choose printer's paper - const PaperSize paper = PaperSize.mm80; - final profile = await CapabilityProfile.load(); - - // TEST PRINT - // final PosPrintResult res = - // await printerManager.printTicket(await testTicket(paper)); - - // DEMO RECEIPT - final PosPrintResult res = - await printerManager.printTicket((await demoReceipt(paper, profile))); - - showToast(res.msg); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: Text(widget.title), - ), - body: ListView.builder( - itemCount: _devices.length, - itemBuilder: (BuildContext context, int index) { - return InkWell( - onTap: () => _testPrint(_devices[index]), - child: Column( - children: [ - Container( - height: 60, - padding: EdgeInsets.only(left: 10), - alignment: Alignment.centerLeft, - child: Row( - children: [ - Icon(Icons.print), - SizedBox(width: 10), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text(_devices[index].name ?? ''), - Text(_devices[index].address!), - Text( - 'Click to print a test receipt', - style: TextStyle(color: Colors.grey[700]), - ), - ], - ), - ) - ], - ), - ), - Divider(), - ], - ), - ); - }), - floatingActionButton: StreamBuilder( - stream: printerManager.isScanningStream, - initialData: false, - builder: (c, snapshot) { - if (snapshot.data!) { - return FloatingActionButton( - child: Icon(Icons.stop), - onPressed: _stopScanDevices, - backgroundColor: Colors.red, - ); - } else { - return FloatingActionButton( - child: Icon(Icons.search), - onPressed: _startScanDevices, - ); - } - }, - ), - ); - } -} diff --git a/example/blue/pubspec.yaml b/example/blue/pubspec.yaml deleted file mode 100644 index f7e11c7..0000000 --- a/example/blue/pubspec.yaml +++ /dev/null @@ -1,34 +0,0 @@ -name: blue -description: A new Flutter project. -version: 1.0.0+1 - -environment: - sdk: ">=2.12.0 <3.0.0" - -dependencies: - flutter: - sdk: flutter - cupertino_icons: ^1.0.3 - oktoast: ^3.0.0 - image: ^3.0.2 - esc_pos_bluetooth: - path: ../../ - esc_pos_utils: ^1.1.0 - # esc_pos_utils: - # path: ../../../esc_pos_utils - charset_converter: ^2.0.0 - intl: ^0.17.0 - qr_flutter: ^4.0.0 - path_provider: ^2.0.2 - -dev_dependencies: - flutter_test: - sdk: flutter - -flutter: - uses-material-design: true - assets: - - assets/logo.png - - assets/logo216.png - - assets/logo222.png - - assets/rabbit_black.jpg diff --git a/example/blue/test/widget_test.dart b/example/blue/test/widget_test.dart deleted file mode 100644 index 4bf5f04..0000000 --- a/example/blue/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 that Flutter provides. 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:blue/main.dart'; - -void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { - // Build our app and trigger a frame. - await tester.pumpWidget(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/pubspec.yaml b/pubspec.yaml index 047972f..7984bfa 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,7 +10,7 @@ dependencies: flutter: sdk: flutter rxdart: ^0.28.0 - esc_pos_utils: + esc_pos_utils: git: url: https://github.com/andrey-ushakov/esc_pos_utils/ ref: 865e7d563d9a6d7e1167fb6820afb10430c28e24 diff --git a/test/esc_pos_bluetooth_test.dart b/test/esc_pos_bluetooth_test.dart deleted file mode 100644 index 349f625..0000000 --- a/test/esc_pos_bluetooth_test.dart +++ /dev/null @@ -1,9 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; - -import 'package:esc_pos_bluetooth/esc_pos_bluetooth.dart'; - -void main() { - test('Tests not implemented', () { - expect(1, 1); - }); -} From 7be7855cd74adc63b71d9f85706ffd383945d24d Mon Sep 17 00:00:00 2001 From: Shajin KP <165116731+shajin-screl@users.noreply.github.com> Date: Fri, 1 Nov 2024 15:53:43 +0530 Subject: [PATCH 08/13] fd --- pubspec.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index 7984bfa..1af18a7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,8 +12,7 @@ dependencies: rxdart: ^0.28.0 esc_pos_utils: git: - url: https://github.com/andrey-ushakov/esc_pos_utils/ - ref: 865e7d563d9a6d7e1167fb6820afb10430c28e24 + url: https://github.com/shajin-screl/esc_pos_utils_isselo.git flutter_bluetooth_basic: git: url: https://github.com/screlinfo/flutter_bluetooth_basic_isselo From 825daf8979f3bbbf8e4252cca141b2926afbbab5 Mon Sep 17 00:00:00 2001 From: Shajin KP <165116731+shajin-screl@users.noreply.github.com> Date: Fri, 1 Nov 2024 16:24:30 +0530 Subject: [PATCH 09/13] Check --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 1af18a7..f55db18 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ dependencies: url: https://github.com/shajin-screl/esc_pos_utils_isselo.git flutter_bluetooth_basic: git: - url: https://github.com/screlinfo/flutter_bluetooth_basic_isselo + url: https://github.com/andrey-ushakov/flutter_bluetooth_basic.git dev_dependencies: flutter_test: From 245395170be87027be584fe0d16f59033d807319 Mon Sep 17 00:00:00 2001 From: Shajin KP <165116731+shajin-screl@users.noreply.github.com> Date: Fri, 1 Nov 2024 16:29:55 +0530 Subject: [PATCH 10/13] fc --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index f55db18..1af18a7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ dependencies: url: https://github.com/shajin-screl/esc_pos_utils_isselo.git flutter_bluetooth_basic: git: - url: https://github.com/andrey-ushakov/flutter_bluetooth_basic.git + url: https://github.com/screlinfo/flutter_bluetooth_basic_isselo dev_dependencies: flutter_test: From 98362823937b014fa3f4815bb47a58fbc02f0152 Mon Sep 17 00:00:00 2001 From: Shajin KP <165116731+shajin-screl@users.noreply.github.com> Date: Fri, 1 Nov 2024 16:31:53 +0530 Subject: [PATCH 11/13] fdfd --- pubspec.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index 1af18a7..f7574e9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,9 +10,10 @@ dependencies: flutter: sdk: flutter rxdart: ^0.28.0 - esc_pos_utils: - git: - url: https://github.com/shajin-screl/esc_pos_utils_isselo.git + esc_pos_utils_plus: ^2.0.4 + # esc_pos_utils: + # git: + # url: https://github.com/shajin-screl/esc_pos_utils_isselo.git flutter_bluetooth_basic: git: url: https://github.com/screlinfo/flutter_bluetooth_basic_isselo From 2938fabb2e1497f8d9dee14ede9c62822c51a20b Mon Sep 17 00:00:00 2001 From: Shajin KP Date: Fri, 1 Nov 2024 16:33:32 +0530 Subject: [PATCH 12/13] S --- lib/src/printer_bluetooth_manager.dart | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/lib/src/printer_bluetooth_manager.dart b/lib/src/printer_bluetooth_manager.dart index b4ebc07..a393c1f 100644 --- a/lib/src/printer_bluetooth_manager.dart +++ b/lib/src/printer_bluetooth_manager.dart @@ -8,7 +8,7 @@ import 'dart:async'; import 'dart:io'; -import 'package:esc_pos_utils/esc_pos_utils.dart'; +import 'package:esc_pos_utils_plus/esc_pos_utils_plus.dart'; import 'package:rxdart/rxdart.dart'; import 'package:flutter_bluetooth_basic/flutter_bluetooth_basic.dart'; import './enums.dart'; @@ -35,8 +35,7 @@ class PrinterBluetoothManager { final BehaviorSubject _isScanning = BehaviorSubject.seeded(false); Stream get isScanningStream => _isScanning.stream; - final BehaviorSubject> _scanResults = - BehaviorSubject.seeded([]); + final BehaviorSubject> _scanResults = BehaviorSubject.seeded([]); Stream> get scanResults => _scanResults.stream; Future _runDelayed(int seconds) { @@ -52,10 +51,9 @@ class PrinterBluetoothManager { _scanResults.add(devices.map((d) => PrinterBluetooth(d)).toList()); }); - _isScanningSubscription = - _bluetoothManager.isScanning.listen((isScanningCurrent) async { + _isScanningSubscription = _bluetoothManager.isScanning.listen((isScanningCurrent) async { // If isScanning value changed (scan just stopped) - if (_isScanning.value! && !isScanningCurrent) { + if (_isScanning.value && !isScanningCurrent) { _scanResultsSubscription!.cancel(); _isScanningSubscription!.cancel(); } @@ -81,7 +79,7 @@ class PrinterBluetoothManager { const int timeout = 5; if (_selectedPrinter == null) { return Future.value(PosPrintResult.printerNotSelected); - } else if (_isScanning.value!) { + } else if (_isScanning.value) { return Future.value(PosPrintResult.scanInProgress); } else if (_isPrinting) { return Future.value(PosPrintResult.printInProgress); From 498e2a89eccdea83745b3e3d90c4689a53ff2a37 Mon Sep 17 00:00:00 2001 From: Shajin KP Date: Mon, 4 Nov 2024 14:48:36 +0530 Subject: [PATCH 13/13] S --- .vscode/settings.json | 11 ----------- lib/src/printer_bluetooth_manager.dart | 12 +++++++----- pubspec.yaml | 13 +++++-------- test/esc_pos_bluetooth_test.dart | 9 +++++++++ 4 files changed, 21 insertions(+), 24 deletions(-) delete mode 100644 .vscode/settings.json create mode 100644 test/esc_pos_bluetooth_test.dart diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index fc334da..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "files.exclude": { - "**/.git": true, - "**/.svn": true, - "**/.hg": true, - "**/CVS": true, - "**/.DS_Store": true, - "**/Thumbs.db": true - }, - "hide-files.files": [] -} diff --git a/lib/src/printer_bluetooth_manager.dart b/lib/src/printer_bluetooth_manager.dart index a393c1f..b4ebc07 100644 --- a/lib/src/printer_bluetooth_manager.dart +++ b/lib/src/printer_bluetooth_manager.dart @@ -8,7 +8,7 @@ import 'dart:async'; import 'dart:io'; -import 'package:esc_pos_utils_plus/esc_pos_utils_plus.dart'; +import 'package:esc_pos_utils/esc_pos_utils.dart'; import 'package:rxdart/rxdart.dart'; import 'package:flutter_bluetooth_basic/flutter_bluetooth_basic.dart'; import './enums.dart'; @@ -35,7 +35,8 @@ class PrinterBluetoothManager { final BehaviorSubject _isScanning = BehaviorSubject.seeded(false); Stream get isScanningStream => _isScanning.stream; - final BehaviorSubject> _scanResults = BehaviorSubject.seeded([]); + final BehaviorSubject> _scanResults = + BehaviorSubject.seeded([]); Stream> get scanResults => _scanResults.stream; Future _runDelayed(int seconds) { @@ -51,9 +52,10 @@ class PrinterBluetoothManager { _scanResults.add(devices.map((d) => PrinterBluetooth(d)).toList()); }); - _isScanningSubscription = _bluetoothManager.isScanning.listen((isScanningCurrent) async { + _isScanningSubscription = + _bluetoothManager.isScanning.listen((isScanningCurrent) async { // If isScanning value changed (scan just stopped) - if (_isScanning.value && !isScanningCurrent) { + if (_isScanning.value! && !isScanningCurrent) { _scanResultsSubscription!.cancel(); _isScanningSubscription!.cancel(); } @@ -79,7 +81,7 @@ class PrinterBluetoothManager { const int timeout = 5; if (_selectedPrinter == null) { return Future.value(PosPrintResult.printerNotSelected); - } else if (_isScanning.value) { + } else if (_isScanning.value!) { return Future.value(PosPrintResult.scanInProgress); } else if (_isPrinting) { return Future.value(PosPrintResult.printInProgress); diff --git a/pubspec.yaml b/pubspec.yaml index f7574e9..61b73c0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,19 +4,16 @@ version: 0.4.1 homepage: https://github.com/andrey-ushakov/esc_pos_bluetooth environment: - sdk: ">=3.3.1 <4.0.0" + sdk: ">=2.18.4 <3.0.0" dependencies: flutter: sdk: flutter - rxdart: ^0.28.0 - esc_pos_utils_plus: ^2.0.4 + rxdart: ^0.26.0 + esc_pos_utils: ^1.1.0 # esc_pos_utils: - # git: - # url: https://github.com/shajin-screl/esc_pos_utils_isselo.git - flutter_bluetooth_basic: - git: - url: https://github.com/screlinfo/flutter_bluetooth_basic_isselo + # path: ../esc_pos_utils + flutter_bluetooth_basic: ^0.1.7 dev_dependencies: flutter_test: diff --git a/test/esc_pos_bluetooth_test.dart b/test/esc_pos_bluetooth_test.dart new file mode 100644 index 0000000..349f625 --- /dev/null +++ b/test/esc_pos_bluetooth_test.dart @@ -0,0 +1,9 @@ +import 'package:flutter_test/flutter_test.dart'; + +import 'package:esc_pos_bluetooth/esc_pos_bluetooth.dart'; + +void main() { + test('Tests not implemented', () { + expect(1, 1); + }); +}