From b447da6f739ce5dfe4f107b8ac8667c956181b01 Mon Sep 17 00:00:00 2001 From: Khoren Markosyan Date: Thu, 7 Jul 2022 15:56:02 +0400 Subject: [PATCH] added fastlane screengrab support for android --- .vscode/settings.json | 4 +- android/build.gradle | 4 +- example/pubspec.lock | 7 --- lib/src/ui/reader_widget.dart | 7 +-- pubspec.yaml | 1 - zxscanner/android/.gitignore | 5 ++ zxscanner/android/Gemfile.lock | 34 +++++------ zxscanner/android/app/build.gradle | 12 ++++ .../markosyan/zxscanner/JUnit4StyleTests.kt | 48 +++++++++++++++ .../android/app/src/debug/AndroidManifest.xml | 17 ++++++ .../com/markosyan/zxscanner/ExampleTest.kt | 11 ++++ zxscanner/android/fastlane/Appfile | 2 + zxscanner/android/fastlane/Fastfile | 52 ++++++++++++++++ zxscanner/android/fastlane/README.md | 56 ++++++++++++++++++ zxscanner/android/fastlane/Screengrabfile | 15 +++++ .../fastlane/metadata/android/background.jpg | Bin 0 -> 60058 bytes .../android/en-US/full_description.txt | 5 ++ .../metadata/android/en-US/keyword.strings | 3 + .../android/en-US/short_description.txt | 1 + .../metadata/android/en-US/title.strings | 3 + .../fastlane/metadata/android/en-US/title.txt | 1 + .../fastlane/metadata/android/en-US/video.txt | 0 .../fastlane/metadata/android/framefile.json | 35 +++++++++++ .../gradle/wrapper/gradle-wrapper.properties | 6 +- zxscanner/pubspec.lock | 13 +--- zxscanner/pubspec.yaml | 18 +++--- 26 files changed, 305 insertions(+), 55 deletions(-) create mode 100644 zxscanner/android/app/src/androidTest/java/com/markosyan/zxscanner/JUnit4StyleTests.kt create mode 100644 zxscanner/android/app/src/test/java/com/markosyan/zxscanner/ExampleTest.kt create mode 100644 zxscanner/android/fastlane/Appfile create mode 100644 zxscanner/android/fastlane/Fastfile create mode 100644 zxscanner/android/fastlane/README.md create mode 100644 zxscanner/android/fastlane/Screengrabfile create mode 100644 zxscanner/android/fastlane/metadata/android/background.jpg create mode 100644 zxscanner/android/fastlane/metadata/android/en-US/full_description.txt create mode 100644 zxscanner/android/fastlane/metadata/android/en-US/keyword.strings create mode 100644 zxscanner/android/fastlane/metadata/android/en-US/short_description.txt create mode 100644 zxscanner/android/fastlane/metadata/android/en-US/title.strings create mode 100644 zxscanner/android/fastlane/metadata/android/en-US/title.txt create mode 100644 zxscanner/android/fastlane/metadata/android/en-US/video.txt create mode 100644 zxscanner/android/fastlane/metadata/android/framefile.json diff --git a/.vscode/settings.json b/.vscode/settings.json index 2692c62..3898a9c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,6 +2,8 @@ "cmake.sourceDirectory": "${workspaceFolder}/ios/Classes/src", "files.associations": { "__config": "cpp", - "__nullptr": "cpp" + "__nullptr": "cpp", + "codecvt": "cpp", + "cmath": "cpp" } } \ No newline at end of file diff --git a/android/build.gradle b/android/build.gradle index e6068f8..ff04a27 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -2,14 +2,14 @@ group 'com.markosyan.flutter_zxing' version '1.0-SNAPSHOT' buildscript { - ext.kotlin_version = '1.6.10' + ext.kotlin_version = '1.7.0' repositories { google() mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.1.2' + classpath 'com.android.tools.build:gradle:7.2.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/example/pubspec.lock b/example/pubspec.lock index af05c23..a88cbdb 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -104,13 +104,6 @@ packages: description: flutter source: sdk version: "0.0.0" - flutter_beep: - dependency: transitive - description: - name: flutter_beep - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" flutter_lints: dependency: "direct dev" description: diff --git a/lib/src/ui/reader_widget.dart b/lib/src/ui/reader_widget.dart index 332733e..63943f0 100644 --- a/lib/src/ui/reader_widget.dart +++ b/lib/src/ui/reader_widget.dart @@ -5,7 +5,7 @@ import 'dart:math'; import 'package:camera/camera.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:flutter_beep/flutter_beep.dart'; +// import 'package:flutter_beep/flutter_beep.dart'; import '../../generated_bindings.dart'; import '../logic/zxing.dart'; @@ -19,7 +19,6 @@ class ReaderWidget extends StatefulWidget { required this.onScan, this.onControllerCreated, this.codeFormat = Format.Any, - this.beep = true, this.showCroppingRect = true, this.scannerOverlay, this.showFlashlight = true, @@ -32,7 +31,6 @@ class ReaderWidget extends StatefulWidget { final Function(CodeResult) onScan; final Function(CameraController?)? onControllerCreated; final int codeFormat; - final bool beep; final bool showCroppingRect; final ScannerOverlay? scannerOverlay; final bool showFlashlight; @@ -163,9 +161,6 @@ class _ReaderWidgetState extends State cropPercent: widget.cropPercent, ); if (result.isValidBool) { - if (widget.beep) { - FlutterBeep.beep(); - } widget.onScan(result); setState(() {}); await Future.delayed(const Duration(seconds: 1)); diff --git a/pubspec.yaml b/pubspec.yaml index c9d0706..09d7977 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,7 +12,6 @@ dependencies: ffi: ^2.0.0 flutter: sdk: flutter - flutter_beep: ^1.0.0 image: ^3.2.0 dev_dependencies: diff --git a/zxscanner/android/.gitignore b/zxscanner/android/.gitignore index 6f56801..9c4d443 100644 --- a/zxscanner/android/.gitignore +++ b/zxscanner/android/.gitignore @@ -11,3 +11,8 @@ GeneratedPluginRegistrant.java key.properties **/*.keystore **/*.jks + +/fastlane/report.xml +/fastlane/private +/fastlane/**/*.png +fastlane/metadata/android/screenshots.html \ No newline at end of file diff --git a/zxscanner/android/Gemfile.lock b/zxscanner/android/Gemfile.lock index ce460b7..8ba7d4c 100644 --- a/zxscanner/android/Gemfile.lock +++ b/zxscanner/android/Gemfile.lock @@ -8,8 +8,8 @@ GEM artifactory (3.0.15) atomos (0.1.3) aws-eventstream (1.2.0) - aws-partitions (1.600.0) - aws-sdk-core (3.131.1) + aws-partitions (1.602.0) + aws-sdk-core (3.131.2) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.525.0) aws-sigv4 (~> 1.1) @@ -66,7 +66,7 @@ GEM faraday_middleware (1.2.0) faraday (~> 1.0) fastimage (2.2.6) - fastlane (2.206.2) + fastlane (2.207.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -106,9 +106,9 @@ GEM xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.22.0) - google-apis-core (>= 0.5, < 2.a) - google-apis-core (0.6.0) + google-apis-androidpublisher_v3 (0.23.0) + google-apis-core (>= 0.6, < 2.a) + google-apis-core (0.7.0) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -117,19 +117,19 @@ GEM retriable (>= 2.0, < 4.a) rexml webrick - google-apis-iamcredentials_v1 (0.11.0) - google-apis-core (>= 0.5, < 2.a) - google-apis-playcustomapp_v1 (0.8.0) - google-apis-core (>= 0.5, < 2.a) - google-apis-storage_v1 (0.15.0) - google-apis-core (>= 0.5, < 2.a) + google-apis-iamcredentials_v1 (0.12.0) + google-apis-core (>= 0.6, < 2.a) + google-apis-playcustomapp_v1 (0.9.0) + google-apis-core (>= 0.6, < 2.a) + google-apis-storage_v1 (0.16.0) + google-apis-core (>= 0.6, < 2.a) google-cloud-core (1.6.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) google-cloud-errors (1.2.0) - google-cloud-storage (1.36.2) + google-cloud-storage (1.37.0) addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) @@ -137,7 +137,7 @@ GEM google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (1.1.3) + googleauth (1.2.0) faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) memoist (~> 0.16) @@ -173,9 +173,9 @@ GEM ruby2_keywords (0.0.5) rubyzip (2.3.2) security (0.1.3) - signet (0.16.1) + signet (0.17.0) addressable (~> 2.8) - faraday (>= 0.17.5, < 3.0) + faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) simctl (1.6.8) @@ -196,7 +196,7 @@ GEM unicode-display_width (1.8.0) webrick (1.7.0) word_wrap (1.0.0) - xcodeproj (1.21.0) + xcodeproj (1.22.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) diff --git a/zxscanner/android/app/build.gradle b/zxscanner/android/app/build.gradle index dd18284..925a77e 100644 --- a/zxscanner/android/app/build.gradle +++ b/zxscanner/android/app/build.gradle @@ -57,6 +57,8 @@ android { targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } signingConfigs { @@ -81,4 +83,14 @@ flutter { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + + // Used tests to automatically generate screenshots using Fastlane Screengrab +// implementation 'androidx.test:core:1.4.0' + testImplementation 'junit:junit:4.13.2' +// testImplementation "com.google.truth:truth:1.0" + androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + androidTestImplementation 'androidx.test:runner:1.4.0' + androidTestImplementation 'androidx.test:rules:1.4.0' + androidTestImplementation 'tools.fastlane:screengrab:2.1.1' } diff --git a/zxscanner/android/app/src/androidTest/java/com/markosyan/zxscanner/JUnit4StyleTests.kt b/zxscanner/android/app/src/androidTest/java/com/markosyan/zxscanner/JUnit4StyleTests.kt new file mode 100644 index 0000000..04ebfa8 --- /dev/null +++ b/zxscanner/android/app/src/androidTest/java/com/markosyan/zxscanner/JUnit4StyleTests.kt @@ -0,0 +1,48 @@ +package com.markosyan.zxscanner + +import androidx.test.ext.junit.rules.ActivityScenarioRule +import org.junit.* +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 +import tools.fastlane.screengrab.Screengrab +import tools.fastlane.screengrab.UiAutomatorScreenshotStrategy +import tools.fastlane.screengrab.cleanstatusbar.BluetoothState +import tools.fastlane.screengrab.cleanstatusbar.CleanStatusBar +import tools.fastlane.screengrab.cleanstatusbar.MobileDataType +import tools.fastlane.screengrab.locale.LocaleTestRule + + +@RunWith(JUnit4::class) +class JUnit4StyleTests { + companion object { + @JvmStatic + @BeforeClass + fun beforeAll() { + Screengrab.setDefaultScreenshotStrategy(UiAutomatorScreenshotStrategy()) + CleanStatusBar() + .setMobileNetworkDataType(MobileDataType.LTE) + .setBluetoothState(BluetoothState.DISCONNECTED) + .enable() + } + + @JvmStatic + @AfterClass + fun afterAll() { + CleanStatusBar.disable() + } + } + + @get:Rule + var activityRule = ActivityScenarioRule(MainActivity::class.java) + + @Rule @JvmField + val localeTestRule = LocaleTestRule() + + @Test + fun testTakeScannerScreenshot() { + Thread.sleep(3000) + Screengrab.screenshot("01_scanner_screen") + Thread.sleep(3000) + Assert.assertTrue(true) + } +} diff --git a/zxscanner/android/app/src/debug/AndroidManifest.xml b/zxscanner/android/app/src/debug/AndroidManifest.xml index 26463ba..3af931a 100644 --- a/zxscanner/android/app/src/debug/AndroidManifest.xml +++ b/zxscanner/android/app/src/debug/AndroidManifest.xml @@ -5,4 +5,21 @@ to allow setting breakpoints, to provide hot reload, etc. --> + + + + + + + + + + + + + + + + + diff --git a/zxscanner/android/app/src/test/java/com/markosyan/zxscanner/ExampleTest.kt b/zxscanner/android/app/src/test/java/com/markosyan/zxscanner/ExampleTest.kt new file mode 100644 index 0000000..5683e9a --- /dev/null +++ b/zxscanner/android/app/src/test/java/com/markosyan/zxscanner/ExampleTest.kt @@ -0,0 +1,11 @@ +package com.markosyan.zxscanner + +import org.junit.Assert +import org.junit.Test + +class ExampleTest { + @Test + fun addition_isCorrect() { + Assert.assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/zxscanner/android/fastlane/Appfile b/zxscanner/android/fastlane/Appfile new file mode 100644 index 0000000..6d14f28 --- /dev/null +++ b/zxscanner/android/fastlane/Appfile @@ -0,0 +1,2 @@ +json_key_file("fastlane/private/pc-api-8902372433309418312-948-1346a3d81bee.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one +package_name("com.markosyan.zxscanner") # e.g. com.krausefx.app diff --git a/zxscanner/android/fastlane/Fastfile b/zxscanner/android/fastlane/Fastfile new file mode 100644 index 0000000..c60c52d --- /dev/null +++ b/zxscanner/android/fastlane/Fastfile @@ -0,0 +1,52 @@ +# This file contains the fastlane.tools configuration +# You can find the documentation at https://docs.fastlane.tools +# +# For a list of all available actions, check out +# +# https://docs.fastlane.tools/actions +# +# For a list of all available plugins, check out +# +# https://docs.fastlane.tools/plugins/available-plugins +# + +# Uncomment the line if you want fastlane to automatically update itself +# update_fastlane + +default_platform(:android) + +platform :android do + desc "Runs all the tests" + lane :test do + gradle(task: "test") + end + + desc "Submit a new Beta Build to Crashlytics Beta" + lane :beta do + gradle(task: "clean assembleRelease") + crashlytics + + # sh "your_script.sh" + # You can also use other beta testing services here + end + + desc "Deploy a new version to the Google Play" + lane :deploy do + gradle(task: "clean assembleRelease") + upload_to_play_store + end + + desc "Build debug and test APK for screenshots" + lane :screenshots do + # build_android_app( + # task: 'assemble', + # build_type: 'Debug' + # ) + # build_android_app( + # task: 'assemble', + # build_type: 'AndroidTest' + # ) + # screengrab() + frameit + end +end diff --git a/zxscanner/android/fastlane/README.md b/zxscanner/android/fastlane/README.md new file mode 100644 index 0000000..4bdd621 --- /dev/null +++ b/zxscanner/android/fastlane/README.md @@ -0,0 +1,56 @@ +fastlane documentation +---- + +# Installation + +Make sure you have the latest version of the Xcode command line tools installed: + +```sh +xcode-select --install +``` + +For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) + +# Available Actions + +## Android + +### android test + +```sh +[bundle exec] fastlane android test +``` + +Runs all the tests + +### android beta + +```sh +[bundle exec] fastlane android beta +``` + +Submit a new Beta Build to Crashlytics Beta + +### android deploy + +```sh +[bundle exec] fastlane android deploy +``` + +Deploy a new version to the Google Play + +### android screenshots + +```sh +[bundle exec] fastlane android screenshots +``` + +Build debug and test APK for screenshots + +---- + +This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. + +More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). + +The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools). diff --git a/zxscanner/android/fastlane/Screengrabfile b/zxscanner/android/fastlane/Screengrabfile new file mode 100644 index 0000000..a452aff --- /dev/null +++ b/zxscanner/android/fastlane/Screengrabfile @@ -0,0 +1,15 @@ +# remove the leading '#' to uncomment lines + +app_package_name('com.markosyan.zxscanner') +# use_tests_in_packages(['your.screenshot.tests.package']) + +app_apk_path('/Users/khorenmarkosyan/Documents/Projects/flutter_zxing/zxscanner/build/app/outputs/apk/debug/app-debug.apk') +tests_apk_path('/Users/khorenmarkosyan/Documents/Projects/flutter_zxing/zxscanner/build/app/outputs/apk/androidTest/debug/app-debug-androidTest.apk') + +locales(['en-US']) + +# clear all previously generated screenshots in your local output directory before creating new ones +clear_previous_screenshots(true) + +# For more information about all available options run +# fastlane screengrab --help diff --git a/zxscanner/android/fastlane/metadata/android/background.jpg b/zxscanner/android/fastlane/metadata/android/background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..83dc07c87c8a7c6c0f355704bf9e5211aa7b463d GIT binary patch literal 60058 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 literal 0 HcmV?d00001 diff --git a/zxscanner/android/fastlane/metadata/android/en-US/full_description.txt b/zxscanner/android/fastlane/metadata/android/en-US/full_description.txt new file mode 100644 index 0000000..986629c --- /dev/null +++ b/zxscanner/android/fastlane/metadata/android/en-US/full_description.txt @@ -0,0 +1,5 @@ +Barcode and QR code scanner that supports more than 15 types of codes. +- Scan barcode from camera stream +- Scan barcode from image path +- Create barcode from text +- Flashlight and pinch to zoom support \ No newline at end of file diff --git a/zxscanner/android/fastlane/metadata/android/en-US/keyword.strings b/zxscanner/android/fastlane/metadata/android/en-US/keyword.strings new file mode 100644 index 0000000..62322cd --- /dev/null +++ b/zxscanner/android/fastlane/metadata/android/en-US/keyword.strings @@ -0,0 +1,3 @@ +"01_scanner_screen" = "SCAN"; +"02_creator_screen" = "CREATE"; +"03_help_screen" = "HELP"; \ No newline at end of file diff --git a/zxscanner/android/fastlane/metadata/android/en-US/short_description.txt b/zxscanner/android/fastlane/metadata/android/en-US/short_description.txt new file mode 100644 index 0000000..39c5594 --- /dev/null +++ b/zxscanner/android/fastlane/metadata/android/en-US/short_description.txt @@ -0,0 +1 @@ +Barcode and QR Code Scanner \ No newline at end of file diff --git a/zxscanner/android/fastlane/metadata/android/en-US/title.strings b/zxscanner/android/fastlane/metadata/android/en-US/title.strings new file mode 100644 index 0000000..06e2b95 --- /dev/null +++ b/zxscanner/android/fastlane/metadata/android/en-US/title.strings @@ -0,0 +1,3 @@ +"01_scanner_screen" = "Scan Barcodes"; +"02_creator_screen" = "Create Your Barcodes"; +"03_help_screen" = "Introduction To Barcodes"; \ No newline at end of file diff --git a/zxscanner/android/fastlane/metadata/android/en-US/title.txt b/zxscanner/android/fastlane/metadata/android/en-US/title.txt new file mode 100644 index 0000000..59c7231 --- /dev/null +++ b/zxscanner/android/fastlane/metadata/android/en-US/title.txt @@ -0,0 +1 @@ +ZXScanner \ No newline at end of file diff --git a/zxscanner/android/fastlane/metadata/android/en-US/video.txt b/zxscanner/android/fastlane/metadata/android/en-US/video.txt new file mode 100644 index 0000000..e69de29 diff --git a/zxscanner/android/fastlane/metadata/android/framefile.json b/zxscanner/android/fastlane/metadata/android/framefile.json new file mode 100644 index 0000000..b759f08 --- /dev/null +++ b/zxscanner/android/fastlane/metadata/android/framefile.json @@ -0,0 +1,35 @@ +{ + "device_frame_version": "latest", + "default": { + "title": { + "color": "#545454" + }, + "background": "./background.jpg", + "padding": 30, + "show_complete_frame": false, + "stack_title" : true, + "title_below_image": false, + "frame": "BLACK" + }, + + "data": [ + { + "filter": "01_scanner_screen", + "keyword": { + "color": "#BF382A" + } + }, + { + "filter": "02_creator_screen", + "keyword": { + "color": "#26AD5E" + } + }, + { + "filter": "03_help_screen", + "keyword": { + "color": "#394C82" + } + } + ] +} diff --git a/zxscanner/android/gradle/wrapper/gradle-wrapper.properties b/zxscanner/android/gradle/wrapper/gradle-wrapper.properties index cc5527d..1eb4b36 100644 --- a/zxscanner/android/gradle/wrapper/gradle-wrapper.properties +++ b/zxscanner/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Jun 23 08:50:38 CEST 2017 +#Thu Jul 07 11:06:28 AMT 2022 distributionBase=GRADLE_USER_HOME +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip +zipStoreBase=GRADLE_USER_HOME diff --git a/zxscanner/pubspec.lock b/zxscanner/pubspec.lock index 133fa34..aecc5cf 100644 --- a/zxscanner/pubspec.lock +++ b/zxscanner/pubspec.lock @@ -21,7 +21,7 @@ packages: name: archive url: "https://pub.dartlang.org" source: hosted - version: "3.3.0" + version: "3.1.11" args: dependency: transitive description: @@ -203,7 +203,7 @@ packages: name: crypto url: "https://pub.dartlang.org" source: hosted - version: "3.0.2" + version: "3.0.1" cupertino_icons: dependency: "direct main" description: @@ -258,13 +258,6 @@ packages: description: flutter source: sdk version: "0.0.0" - flutter_beep: - dependency: transitive - description: - name: flutter_beep - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" flutter_lints: dependency: "direct dev" description: @@ -851,7 +844,7 @@ packages: name: typed_data url: "https://pub.dartlang.org" source: hosted - version: "1.3.1" + version: "1.3.0" universal_io: dependency: transitive description: diff --git a/zxscanner/pubspec.yaml b/zxscanner/pubspec.yaml index aeeb126..2ba7a04 100644 --- a/zxscanner/pubspec.yaml +++ b/zxscanner/pubspec.yaml @@ -1,6 +1,6 @@ name: zxscanner description: A barcode scanner application. -publish_to: 'none' +publish_to: "none" version: 1.0.0+4 @@ -37,15 +37,17 @@ flutter_intl: dev_dependencies: build_runner: ^2.1.11 + # espresso: ^0.2.0+2 flutter_lints: ^2.0.1 flutter_native_splash: ^2.2.4 # flutter pub run flutter_native_splash:create flutter_test: sdk: flutter hive_generator: icons_launcher: ^1.1.9 # flutter pub run icons_launcher:create + # integration_test: + # sdk: flutter mobx_codegen: - flutter: uses-material-design: true @@ -54,8 +56,8 @@ flutter_native_splash: color_dark: "#131d25" image: assets/images/app_logo.png info_plist_files: - - 'ios/Runner/Info-Debug.plist' - - 'ios/Runner/Info-Release.plist' + - "ios/Runner/Info-Debug.plist" + - "ios/Runner/Info-Release.plist" flutter_icons: android: true @@ -65,7 +67,7 @@ flutter_icons: web: false remove_alpha_ios: true image_path: "assets/images/app_icon_border.png" - image_path_ios: 'assets/images/app_icon.png' - adaptive_icon_background: '#4C9BBA' - adaptive_icon_foreground: 'assets/images/app_icon_adaptive.png' - adaptive_icon_round: 'assets/images/app_icon_round.png' \ No newline at end of file + image_path_ios: "assets/images/app_icon.png" + adaptive_icon_background: "#4C9BBA" + adaptive_icon_foreground: "assets/images/app_icon_adaptive.png" + adaptive_icon_round: "assets/images/app_icon_round.png"