diff --git a/ios/Debug-Dinect-INT copy-Info.plist b/ios/Debug-Dinect-INT copy-Info.plist new file mode 100644 index 0000000..a73ac19 --- /dev/null +++ b/ios/Debug-Dinect-INT copy-Info.plist @@ -0,0 +1,53 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + Dinect Crypto + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + checker + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0.11 + CFBundleSignature + ???? + CFBundleVersion + 16 + LSRequiresIPhoneOS + + NSCameraUsageDescription + Для работы сканнера штрихкодов + NSPhotoLibraryUsageDescription + Для работы сканнера штрихкодов + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UIViewControllerBasedStatusBarAppearance + + + diff --git a/ios/Flutter/App.framework/App b/ios/Flutter/App.framework/App index a9577f0..9ad365c 100755 Binary files a/ios/Flutter/App.framework/App and b/ios/Flutter/App.framework/App differ diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig index 592ceee..e8efba1 100644 --- a/ios/Flutter/Debug.xcconfig +++ b/ios/Flutter/Debug.xcconfig @@ -1 +1,2 @@ +#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Flutter/Flutter.framework/Flutter b/ios/Flutter/Flutter.framework/Flutter index 4f15f1b..4920183 100755 Binary files a/ios/Flutter/Flutter.framework/Flutter and b/ios/Flutter/Flutter.framework/Flutter differ diff --git a/ios/Flutter/Flutter.framework/Headers/Flutter.h b/ios/Flutter/Flutter.framework/Headers/Flutter.h index 5ce388d..939040c 100644 --- a/ios/Flutter/Flutter.framework/Headers/Flutter.h +++ b/ios/Flutter/Flutter.framework/Headers/Flutter.h @@ -8,6 +8,9 @@ /** BREAKING CHANGES: + February 28, 2018: Removed "initWithFLXArchive" and + "initWithFLXArchiveWithScriptSnapshot". + January 15, 2018: Marked "initWithFLXArchive" and "initWithFLXArchiveWithScriptSnapshot" as unavailable following the deprecation from December 11, 2017. Scheduled to be removed on February diff --git a/ios/Flutter/Flutter.framework/Headers/FlutterDartProject.h b/ios/Flutter/Flutter.framework/Headers/FlutterDartProject.h index 7752ab9..65c8662 100644 --- a/ios/Flutter/Flutter.framework/Headers/FlutterDartProject.h +++ b/ios/Flutter/Flutter.framework/Headers/FlutterDartProject.h @@ -14,18 +14,6 @@ FLUTTER_EXPORT - (instancetype)initWithPrecompiledDartBundle:(NSBundle*)bundle NS_DESIGNATED_INITIALIZER; -- (instancetype)initWithFLXArchive:(NSURL*)archiveURL - dartMain:(NSURL*)dartMainURL - packages:(NSURL*)dartPackages NS_DESIGNATED_INITIALIZER - FLUTTER_UNAVAILABLE( - "This initializer is no longer available. See the deprecation message from " - "December 11, 2017 in Flutter.h. Instead, use [initWithFlutterAssets]."); - -- (instancetype)initWithFLXArchiveWithScriptSnapshot:(NSURL*)archiveURL NS_DESIGNATED_INITIALIZER - FLUTTER_UNAVAILABLE( - "This initializer is no longer available. See the deprecation message from " - "December 11, 2017 in Flutter.h. Instead, use [initWithFlutterAssetsWithScriptSnapshot]."); - - (instancetype)initWithFlutterAssets:(NSURL*)flutterAssetsURL dartMain:(NSURL*)dartMainURL packages:(NSURL*)dartPackages NS_DESIGNATED_INITIALIZER; diff --git a/ios/Flutter/Generated.xcconfig b/ios/Flutter/Generated.xcconfig index 9bd4244..fc9557a 100644 --- a/ios/Flutter/Generated.xcconfig +++ b/ios/Flutter/Generated.xcconfig @@ -1,9 +1,8 @@ // This is a generated file; do not edit or check into version control. -FLUTTER_ROOT=/Users/dinect/projects/flutter -FLUTTER_APPLICATION_PATH=/Users/dinect/projects/checker +FLUTTER_ROOT=/Users/kifio/flutter +FLUTTER_APPLICATION_PATH=/Users/kifio/Desktop/FlutterProjects/checker FLUTTER_TARGET=lib/main.dart -FLUTTER_BUILD_MODE=release +FLUTTER_BUILD_MODE=debug FLUTTER_BUILD_DIR=build SYMROOT=${SOURCE_ROOT}/../build/ios -FLUTTER_FRAMEWORK_DIR=/Users/dinect/projects/flutter/bin/cache/artifacts/engine/ios-release -#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +FLUTTER_FRAMEWORK_DIR=/Users/kifio/flutter/bin/cache/artifacts/engine/ios diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig index 592ceee..399e934 100644 --- a/ios/Flutter/Release.xcconfig +++ b/ios/Flutter/Release.xcconfig @@ -1 +1,2 @@ +#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Flutter/app.flx b/ios/Flutter/app.flx index 44f86dd..88f4fa0 100644 Binary files a/ios/Flutter/app.flx and b/ios/Flutter/app.flx differ diff --git a/ios/Podfile.lock b/ios/Podfile.lock index bbca80f..9e2dd10 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -3,8 +3,6 @@ PODS: - FMDB (2.7.2): - FMDB/standard (= 2.7.2) - FMDB/standard (2.7.2) - - image_picker (0.0.1): - - Flutter - path_provider (0.0.1): - Flutter - sqflite (0.0.1): @@ -15,26 +13,22 @@ PODS: - ZXingObjC/All (3.2.2) DEPENDENCIES: - - Flutter (from `/Users/dinect/projects/flutter/bin/cache/artifacts/engine/ios-release`) - - image_picker (from `/Users/dinect/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.5/ios`) - - path_provider (from `/Users/dinect/.pub-cache/hosted/pub.dartlang.org/path_provider-0.2.2/ios`) - - sqflite (from `/Users/dinect/.pub-cache/hosted/pub.dartlang.org/sqflite-0.6.2+2/ios`) + - Flutter (from `/Users/kifio/flutter/bin/cache/artifacts/engine/ios`) + - path_provider (from `/Users/kifio/.pub-cache/hosted/pub.dartlang.org/path_provider-0.2.2/ios`) + - sqflite (from `/Users/kifio/.pub-cache/hosted/pub.dartlang.org/sqflite-0.8.2/ios`) - ZXingObjC (~> 3.2.2) EXTERNAL SOURCES: Flutter: - :path: /Users/dinect/projects/flutter/bin/cache/artifacts/engine/ios-release - image_picker: - :path: /Users/dinect/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.5/ios + :path: /Users/kifio/flutter/bin/cache/artifacts/engine/ios path_provider: - :path: /Users/dinect/.pub-cache/hosted/pub.dartlang.org/path_provider-0.2.2/ios + :path: /Users/kifio/.pub-cache/hosted/pub.dartlang.org/path_provider-0.2.2/ios sqflite: - :path: /Users/dinect/.pub-cache/hosted/pub.dartlang.org/sqflite-0.6.2+2/ios + :path: /Users/kifio/.pub-cache/hosted/pub.dartlang.org/sqflite-0.8.2/ios SPEC CHECKSUMS: - Flutter: 7eb41cd1fd524b90d7f22bceb20da2c39338b089 + Flutter: 9d0fac939486c9aba2809b7982dfdbb47a7b0296 FMDB: 6198a90e7b6900cfc046e6bc0ef6ebb7be9236aa - image_picker: ee00aab0487cedc80a304085219503cc6d0f2e22 path_provider: 09407919825bfe3c2deae39453b7a5b44f467873 sqflite: edb0e4df7640c26fea6a107c21ed1542219e761a ZXingObjC: 2c95a0dc52daac69b23ec78fad8fa2fec05f8981 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 43e05f4..5026e56 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -31,6 +31,27 @@ ACE861441F9F745B006FEF38 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; ACE861461F9F745B006FEF38 /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; ACE861471F9F745B006FEF38 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + FB862E6620548D6C00C04986 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; + FB862E6720548D6C00C04986 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; + FB862E6820548D6C00C04986 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + FB862E6920548D6C00C04986 /* ScannerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBA9BAFE1F176DD10053B6EA /* ScannerViewController.swift */; }; + FB862E6B20548D6C00C04986 /* libiconv.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = BBA9BB601F179D270053B6EA /* libiconv.tbd */; }; + FB862E6C20548D6C00C04986 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBA9BB3B1F1792A90053B6EA /* QuartzCore.framework */; }; + FB862E6D20548D6C00C04986 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBA9BB391F17927C0053B6EA /* CoreVideo.framework */; }; + FB862E6E20548D6C00C04986 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBA9BB371F1792730053B6EA /* CoreAudio.framework */; }; + FB862E6F20548D6C00C04986 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBA9BB351F1792690053B6EA /* CoreMedia.framework */; }; + FB862E7020548D6C00C04986 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBA9BB331F17925F0053B6EA /* CoreGraphics.framework */; }; + FB862E7120548D6C00C04986 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBA9BB311F1792570053B6EA /* AVFoundation.framework */; }; + FB862E7220548D6C00C04986 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; }; + FB862E7320548D6C00C04986 /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; }; + FB862E7520548D6C00C04986 /* flutter_assets in Resources */ = {isa = PBXBuildFile; fileRef = 2D5378251FAA1A9400D5DBA9 /* flutter_assets */; }; + FB862E7620548D6C00C04986 /* app.flx in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB71CF902C7004384FC /* app.flx */; }; + FB862E7720548D6C00C04986 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + FB862E7820548D6C00C04986 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + FB862E7920548D6C00C04986 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + FB862E7A20548D6C00C04986 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + FB862E7C20548D6C00C04986 /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + FB862E7D20548D6C00C04986 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; FB8CCC16204C8249002BBFDA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; FB8CCC17204C8249002BBFDA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 97C146F21CF9000F007C117D /* main.m */; }; FB8CCC18204C8249002BBFDA /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; @@ -77,6 +98,28 @@ name = "Embed App Extensions"; runOnlyForDeploymentPostprocessing = 0; }; + FB862E7B20548D6C00C04986 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + FB862E7C20548D6C00C04986 /* App.framework in Embed Frameworks */, + FB862E7D20548D6C00C04986 /* Flutter.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + FB862E7F20548D6C00C04986 /* Embed App Extensions */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 13; + files = ( + ); + name = "Embed App Extensions"; + runOnlyForDeploymentPostprocessing = 0; + }; FB8CCC2D204C8249002BBFDA /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; @@ -133,7 +176,9 @@ BBA9BB391F17927C0053B6EA /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; BBA9BB3B1F1792A90053B6EA /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; BBA9BB601F179D270053B6EA /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; }; - FB8CCC37204C824A002BBFDA /* Debug-Dinect-INT.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Debug-Dinect-INT.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + FB862E8320548D6C00C04986 /* Dinect-Crypto.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Dinect-Crypto.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + FB862E8420548D6C00C04986 /* Debug-Dinect-INT copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Debug-Dinect-INT copy-Info.plist"; path = "/Users/kifio/Desktop/FlutterProjects/checker/ios/Debug-Dinect-INT copy-Info.plist"; sourceTree = ""; }; + FB8CCC37204C824A002BBFDA /* Dinect-INT.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Dinect-INT.app"; sourceTree = BUILT_PRODUCTS_DIR; }; FB8CCC38204C824A002BBFDA /* Runner copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Runner copy-Info.plist"; path = "/Users/kifio/Desktop/FlutterProjects/checker/ios/Runner copy-Info.plist"; sourceTree = ""; }; /* End PBXFileReference section */ @@ -157,6 +202,22 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + FB862E6A20548D6C00C04986 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + FB862E6B20548D6C00C04986 /* libiconv.tbd in Frameworks */, + FB862E6C20548D6C00C04986 /* QuartzCore.framework in Frameworks */, + FB862E6D20548D6C00C04986 /* CoreVideo.framework in Frameworks */, + FB862E6E20548D6C00C04986 /* CoreAudio.framework in Frameworks */, + FB862E6F20548D6C00C04986 /* CoreMedia.framework in Frameworks */, + FB862E7020548D6C00C04986 /* CoreGraphics.framework in Frameworks */, + FB862E7120548D6C00C04986 /* AVFoundation.framework in Frameworks */, + FB862E7220548D6C00C04986 /* Flutter.framework in Frameworks */, + FB862E7320548D6C00C04986 /* App.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; FB8CCC1A204C8249002BBFDA /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -207,6 +268,7 @@ BBA9BB001F1786510053B6EA /* Frameworks */, 578B8FA7D56ACA2E56C02128 /* Pods */, FB8CCC38204C824A002BBFDA /* Runner copy-Info.plist */, + FB862E8420548D6C00C04986 /* Debug-Dinect-INT copy-Info.plist */, ); sourceTree = ""; }; @@ -214,7 +276,8 @@ isa = PBXGroup; children = ( ACE861531F9F745B006FEF38 /* Runner.app */, - FB8CCC37204C824A002BBFDA /* Debug-Dinect-INT.app */, + FB8CCC37204C824A002BBFDA /* Dinect-INT.app */, + FB862E8320548D6C00C04986 /* Dinect-Crypto.app */, ); name = Products; sourceTree = ""; @@ -290,9 +353,30 @@ productReference = ACE861531F9F745B006FEF38 /* Runner.app */; productType = "com.apple.product-type.application"; }; - FB8CCC12204C8249002BBFDA /* Debug-Dinect-INT */ = { + FB862E6320548D6C00C04986 /* Dinect-Crypto */ = { isa = PBXNativeTarget; - buildConfigurationList = FB8CCC34204C8249002BBFDA /* Build configuration list for PBXNativeTarget "Debug-Dinect-INT" */; + buildConfigurationList = FB862E8020548D6C00C04986 /* Build configuration list for PBXNativeTarget "Dinect-Crypto" */; + buildPhases = ( + FB862E6420548D6C00C04986 /* Run Script */, + FB862E6520548D6C00C04986 /* Sources */, + FB862E6A20548D6C00C04986 /* Frameworks */, + FB862E7420548D6C00C04986 /* Resources */, + FB862E7B20548D6C00C04986 /* Embed Frameworks */, + FB862E7E20548D6C00C04986 /* Thin Binary */, + FB862E7F20548D6C00C04986 /* Embed App Extensions */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Dinect-Crypto"; + productName = Runner; + productReference = FB862E8320548D6C00C04986 /* Dinect-Crypto.app */; + productType = "com.apple.product-type.application"; + }; + FB8CCC12204C8249002BBFDA /* Dinect-INT */ = { + isa = PBXNativeTarget; + buildConfigurationList = FB8CCC34204C8249002BBFDA /* Build configuration list for PBXNativeTarget "Dinect-INT" */; buildPhases = ( FB8CCC14204C8249002BBFDA /* Run Script */, FB8CCC15204C8249002BBFDA /* Sources */, @@ -306,9 +390,9 @@ ); dependencies = ( ); - name = "Debug-Dinect-INT"; + name = "Dinect-INT"; productName = Runner; - productReference = FB8CCC37204C824A002BBFDA /* Debug-Dinect-INT.app */; + productReference = FB8CCC37204C824A002BBFDA /* Dinect-INT.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -330,8 +414,11 @@ }; }; }; + FB862E6320548D6C00C04986 = { + DevelopmentTeam = 926V94K5Q8; + ProvisioningStyle = Automatic; + }; FB8CCC12204C8249002BBFDA = { - DevelopmentTeam = BX8ZNQJVHU; ProvisioningStyle = Automatic; }; }; @@ -350,7 +437,8 @@ projectRoot = ""; targets = ( ACE861271F9F745B006FEF38 /* Runner */, - FB8CCC12204C8249002BBFDA /* Debug-Dinect-INT */, + FB8CCC12204C8249002BBFDA /* Dinect-INT */, + FB862E6320548D6C00C04986 /* Dinect-Crypto */, ); }; /* End PBXProject section */ @@ -369,6 +457,19 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + FB862E7420548D6C00C04986 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FB862E7520548D6C00C04986 /* flutter_assets in Resources */, + FB862E7620548D6C00C04986 /* app.flx in Resources */, + FB862E7720548D6C00C04986 /* LaunchScreen.storyboard in Resources */, + FB862E7820548D6C00C04986 /* AppFrameworkInfo.plist in Resources */, + FB862E7920548D6C00C04986 /* Assets.xcassets in Resources */, + FB862E7A20548D6C00C04986 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; FB8CCC26204C8249002BBFDA /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -464,6 +565,34 @@ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; showEnvVarsInLog = 0; }; + FB862E6420548D6C00C04986 /* 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"; + }; + FB862E7E20548D6C00C04986 /* 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\" thin"; + }; FB8CCC14204C8249002BBFDA /* Run Script */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -506,6 +635,17 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + FB862E6520548D6C00C04986 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + FB862E6620548D6C00C04986 /* AppDelegate.m in Sources */, + FB862E6720548D6C00C04986 /* main.m in Sources */, + FB862E6820548D6C00C04986 /* GeneratedPluginRegistrant.m in Sources */, + FB862E6920548D6C00C04986 /* ScannerViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; FB8CCC15204C8249002BBFDA /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -715,6 +855,79 @@ }; name = Release; }; + FB862E8120548D6C00C04986 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = crypto; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = 926V94K5Q8; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + INFOPLIST_FILE = "Debug-Dinect-INT copy-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + ONLY_ACTIVE_ARCH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.dinect.checker.crypto; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OBJC_INTERFACE_HEADER_NAME = "Autobonus-Swift.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Debug; + }; + FB862E8220548D6C00C04986 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = crypto; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; + CODE_SIGN_IDENTITY = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = 926V94K5Q8; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + INFOPLIST_FILE = "Debug-Dinect-INT copy-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Flutter", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.dinect.checker.crypto; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OBJC_INTERFACE_HEADER_NAME = "Autobonus-Swift.h"; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = 1; + VALID_ARCHS = "arm64 arm7 armv7s"; + }; + name = Release; + }; FB8CCC35204C8249002BBFDA /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; @@ -727,7 +940,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 926V94K5Q8; + DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -764,7 +977,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 926V94K5Q8; + DEVELOPMENT_TEAM = ""; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -809,7 +1022,16 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - FB8CCC34204C8249002BBFDA /* Build configuration list for PBXNativeTarget "Debug-Dinect-INT" */ = { + FB862E8020548D6C00C04986 /* Build configuration list for PBXNativeTarget "Dinect-Crypto" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + FB862E8120548D6C00C04986 /* Debug */, + FB862E8220548D6C00C04986 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + FB8CCC34204C8249002BBFDA /* Build configuration list for PBXNativeTarget "Dinect-INT" */ = { isa = XCConfigurationList; buildConfigurations = ( FB8CCC35204C8249002BBFDA /* Debug */, diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Debug-Dinect-INT.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Debug-Dinect-INT.xcscheme new file mode 100644 index 0000000..e49ac52 --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Debug-Dinect-INT.xcscheme @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Dinect INT.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Dinect INT.xcscheme new file mode 100644 index 0000000..e49ac52 --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Dinect INT.xcscheme @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Dinect-Crypto.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Dinect-Crypto.xcscheme new file mode 100644 index 0000000..d8c6997 --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Dinect-Crypto.xcscheme @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcodeproj/xcuserdata/kifio.xcuserdatad/xcschemes/xcschememanagement.plist b/ios/Runner.xcodeproj/xcuserdata/kifio.xcuserdatad/xcschemes/xcschememanagement.plist index 36f9563..779c523 100644 --- a/ios/Runner.xcodeproj/xcuserdata/kifio.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/ios/Runner.xcodeproj/xcuserdata/kifio.xcuserdatad/xcschemes/xcschememanagement.plist @@ -4,15 +4,28 @@ SchemeUserState - Debug-Dinect-INT.xcscheme + Dinect INT.xcscheme_^#shared#^_ orderHint - 7 + 1 + + Dinect-Crypto.xcscheme_^#shared#^_ + + orderHint + 8 Runner.xcscheme_^#shared#^_ orderHint - 4 + 0 + + + SuppressBuildableAutocreation + + FB862E6320548D6C00C04986 + + primary + diff --git a/ios/Runner.xcworkspace/xcuserdata/kifio.xcuserdatad/UserInterfaceState.xcuserstate b/ios/Runner.xcworkspace/xcuserdata/kifio.xcuserdatad/UserInterfaceState.xcuserstate index 4d7e129..47a0be0 100644 Binary files a/ios/Runner.xcworkspace/xcuserdata/kifio.xcuserdatad/UserInterfaceState.xcuserstate and b/ios/Runner.xcworkspace/xcuserdata/kifio.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/ios/Runner/AppDelegate.m b/ios/Runner/AppDelegate.m index 3b3928f..406b536 100644 --- a/ios/Runner/AppDelegate.m +++ b/ios/Runner/AppDelegate.m @@ -63,6 +63,17 @@ @"appTitle" : @"PIP", @"showBonus" : @YES, }, + @"com.dinect.checker.crypto" : @{ + @"locale" : @"ru", + @"flavor" : @"crypto", + @"currency" : @643, + @"supportPhone" : @"8-800-77-55-032", + @"supportUrl" : @"http://www.dinect.com", + @"endPoint" : @"https://pos-api-int.dinect.com/20130701/", + @"appToken" : @"9fec83cdca38c357e6b65dbb17514cdd36bf2a08", + @"appTitle" : @"Dinect Crypto", + @"showBonus" : @NO, + }, }; NSDictionary *buildSettings = settings[bundleIdentifier]; diff --git a/ios/Runner/Assets.xcassets/crypto.appiconset/Contents.json b/ios/Runner/Assets.xcassets/crypto.appiconset/Contents.json new file mode 100644 index 0000000..bf3132b --- /dev/null +++ b/ios/Runner/Assets.xcassets/crypto.appiconset/Contents.json @@ -0,0 +1,90 @@ +{ + "author" : "Iconizer", + "version" : "1.0", + "images" : [ + { + "size" : "1024x1024", + "filename" : "ios-marketing.png", + "expected-size" : "1024", + "idiom" : "ios-marketing", + "scale" : "1x" + }, + { + "size" : "60x60", + "filename" : "iphone-appicon@3x.png", + "expected-size" : "180", + "idiom" : "iphone", + "scale" : "3x" + }, + { + "size" : "40x40", + "filename" : "iphone-spotlight@2x.png", + "expected-size" : "80", + "idiom" : "iphone", + "scale" : "2x" + }, + { + "size" : "40x40", + "filename" : "iphone-spotlight@3x.png", + "expected-size" : "120", + "idiom" : "iphone", + "scale" : "3x" + }, + { + "size" : "60x60", + "filename" : "iphone-appicon@2x.png", + "expected-size" : "120", + "idiom" : "iphone", + "scale" : "2x" + }, + { + "size" : "57x57", + "filename" : "iphone-oldAppicon@1x.png", + "expected-size" : "57", + "idiom" : "iphone", + "scale" : "1x" + }, + { + "size" : "29x29", + "filename" : "iphone-settings@2x.png", + "expected-size" : "58", + "idiom" : "iphone", + "scale" : "2x" + }, + { + "size" : "29x29", + "filename" : "iphone-settings@1x.png", + "expected-size" : "29", + "idiom" : "iphone", + "scale" : "1x" + }, + { + "size" : "29x29", + "filename" : "iphone-settings@3x.png", + "expected-size" : "87", + "idiom" : "iphone", + "scale" : "3x" + }, + { + "size" : "57x57", + "filename" : "iphone-oldAppicon@2x.png", + "expected-size" : "114", + "idiom" : "iphone", + "scale" : "2x" + }, + { + "size" : "20x20", + "filename" : "iphone-notification@2x.png", + "expected-size" : "40", + "idiom" : "iphone", + "scale" : "2x" + }, + { + "size" : "20x20", + "filename" : "iphone-notification@3x.png", + "expected-size" : "60", + "idiom" : "iphone", + "scale" : "3x" + } + ] +} \ No newline at end of file diff --git a/ios/Runner/Assets.xcassets/crypto.appiconset/ios-marketing.png b/ios/Runner/Assets.xcassets/crypto.appiconset/ios-marketing.png new file mode 100644 index 0000000..cc4c7c4 Binary files /dev/null and b/ios/Runner/Assets.xcassets/crypto.appiconset/ios-marketing.png differ diff --git a/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-appicon@2x.png b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-appicon@2x.png new file mode 100644 index 0000000..caa913e Binary files /dev/null and b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-appicon@2x.png differ diff --git a/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-appicon@3x.png b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-appicon@3x.png new file mode 100644 index 0000000..2fd2200 Binary files /dev/null and b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-appicon@3x.png differ diff --git a/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-notification@2x.png b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-notification@2x.png new file mode 100644 index 0000000..8f4a506 Binary files /dev/null and b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-notification@2x.png differ diff --git a/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-notification@3x.png b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-notification@3x.png new file mode 100644 index 0000000..1a965ab Binary files /dev/null and b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-notification@3x.png differ diff --git a/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-oldAppicon@1x.png b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-oldAppicon@1x.png new file mode 100644 index 0000000..f4da0aa Binary files /dev/null and b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-oldAppicon@1x.png differ diff --git a/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-oldAppicon@2x.png b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-oldAppicon@2x.png new file mode 100644 index 0000000..13e4220 Binary files /dev/null and b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-oldAppicon@2x.png differ diff --git a/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-settings@1x.png b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-settings@1x.png new file mode 100644 index 0000000..1078ade Binary files /dev/null and b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-settings@1x.png differ diff --git a/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-settings@2x.png b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-settings@2x.png new file mode 100644 index 0000000..4470b72 Binary files /dev/null and b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-settings@2x.png differ diff --git a/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-settings@3x.png b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-settings@3x.png new file mode 100644 index 0000000..63868c8 Binary files /dev/null and b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-settings@3x.png differ diff --git a/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-spotlight@2x.png b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-spotlight@2x.png new file mode 100644 index 0000000..ae4caad Binary files /dev/null and b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-spotlight@2x.png differ diff --git a/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-spotlight@3x.png b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-spotlight@3x.png new file mode 100644 index 0000000..caa913e Binary files /dev/null and b/ios/Runner/Assets.xcassets/crypto.appiconset/iphone-spotlight@3x.png differ diff --git a/ios/Runner/ScannerViewController.swift b/ios/Runner/ScannerViewController.swift index fd381fc..49f95d0 100644 --- a/ios/Runner/ScannerViewController.swift +++ b/ios/Runner/ScannerViewController.swift @@ -138,6 +138,7 @@ import Flutter } func sendResult(_ str: String) { + print("result: \(str)") platformChannel?.invokeMethod("findUser", arguments: [str, buttonState.searchType], result: { (result: Any?) in if result is FlutterError { self.showErrorAlert(str) @@ -296,8 +297,6 @@ import Flutter location = "\(location) (\(transformedPoint.x), \(transformedPoint.y))" points.append(windowPointValue) } - // We got a result. Display information about the result onscreen. - let formatString: String = barcodeFormat(toString: result.barcodeFormat) sendResult(result.text) print(result.text) self.capture.stop() diff --git a/lib/common.dart b/lib/common.dart index 5a7d84f..1be79a3 100644 --- a/lib/common.dart +++ b/lib/common.dart @@ -1,31 +1,15 @@ import 'dart:async'; import 'package:checker/screens/faq.dart'; -import 'package:checker/screens/purchase.dart'; -import 'package:checker/screens/registration.dart'; -import 'package:checker/screens/settings.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:image_picker/image_picker.dart'; import 'db.dart'; -import 'dart:convert'; -import 'network.dart'; -import 'resources.dart'; import 'strings.dart'; // Канал для взаимодействия с кодом платформы. const platform = const MethodChannel('com.dinect.checker/instance_id'); -// Метод обеспечивает замену текущего объекта route новым. -pushRouteReplacement(BuildContext context, Widget widget) { - var route = - new MaterialPageRoute(builder: (BuildContext context) => widget); - new Future.delayed(const Duration(milliseconds: 200), () { - Navigator.of(context).pushReplacement(route); - }); -} - pushRoute(BuildContext context, Widget widget) { var route = new MaterialPageRoute(builder: (BuildContext context) => widget, fullscreenDialog: true); @@ -41,54 +25,6 @@ faq(SqliteHelper helper, String app, BuildContext context, pushRoute(context, new FAQScreen(helper, app, returnToScanner)); } -// В методе отправляется запрос на удаление токена кассы, очищаются SharedPreferences приложения. -logout(BuildContext context, SqliteHelper helper) async { - String token = await helper.getToken(); - VoidCallback positiveCallback = () { - if (token != null) { - getDeleteTokenRequest(token).then((response) { - helper.clear().then((result) { - platform.invokeMethod('getFlavor').then((flavor) { - while (Navigator.of(context).canPop()) { - Navigator.of(context).pop(); - } - pushRouteReplacement(context, new RegistrationScreen(helper, flavor)); - }); - }); - }).catchError((error) { - print(error.toString()); - }); - } else { - while (Navigator.of(context).canPop()) { - Navigator.of(context).pop(); - } - } - }; - - showYesNoDialog(context, StringsLocalization.confirmation(), - StringsLocalization.askChangeStore(), positiveCallback); -} - -// Запуск диалога с двумя кнопками -showYesNoDialog(BuildContext context, String title, String content, - VoidCallback positiveCallback) { - showDialog( - context: context, - child: new AlertDialog( - title: new Text(title), - content: new Text(content), - actions: [ - new FlatButton( - child: new Text(StringsLocalization.no()), - onPressed: () { - Navigator.of(context).pop(); - }), - new FlatButton( - child: new Text(StringsLocalization.yes()), - onPressed: positiveCallback) - ])); -} - getCurrencyTitle(int code) { switch (code) { case 643: @@ -116,8 +52,3 @@ getLocaleTitle(String code) { return 'Español'; } } - -// Добавил вызов, что-бы AOT компилер не выкинул либу. -getImage() async { - return await ImagePicker.pickImage(); -} diff --git a/lib/db.dart b/lib/db.dart index 8236693..66711c7 100644 --- a/lib/db.dart +++ b/lib/db.dart @@ -77,15 +77,17 @@ class SqliteHelper { } Future getSettings(bool withSession) async { - + Map results = new Map(); Map settings = await selectAll(tableSettings); - results.addAll(settings); + if (settings != null && settings.isNotEmpty) { + results.addAll(settings); + } if (withSession) { Map session = await selectAll(tableSession); - if (settings != null && session != null) { + if (session != null && session.isNotEmpty) { results.addAll(session); } } diff --git a/lib/main.dart b/lib/main.dart index 11477f3..0c5ab5f 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -19,7 +19,7 @@ main() { helper.open().then((_) { helper.getLocale().then((locale) { if (locale == null) { - initWithSystemValue(app, appName, helper); + initWithSystemValue(app, appName, locale, helper); } else { start(app, appName, locale, helper); } @@ -29,9 +29,9 @@ main() { }); } -initWithSystemValue(String app, String name, SqliteHelper helper) { +initWithSystemValue(String app, String name, String locale, SqliteHelper helper) { helper.getSettings(false).then((settings) { - if (settings == null) { + if (settings.isEmpty) { createSettingsTable(app, name, helper); } else { start(app, name, locale, helper); diff --git a/lib/screens/faq.dart b/lib/screens/faq.dart index f89dc8d..4f74b73 100644 --- a/lib/screens/faq.dart +++ b/lib/screens/faq.dart @@ -135,11 +135,7 @@ class FAQScreenState extends BaseState { } } -// onWillPop() { -// if(returnToScanner) { -// return startScanner(context, app, helper); -// } else { -// return true; -// } -// } + @override bool isAutomaticallyImplyLeading() { + return true; + } } diff --git a/lib/screens/finish_registration.dart b/lib/screens/finish_registration.dart index 9c52db9..f44736c 100644 --- a/lib/screens/finish_registration.dart +++ b/lib/screens/finish_registration.dart @@ -59,28 +59,25 @@ class RegistrationScreenState extends BaseState { // Если токен активирован, то открывается экран со сканером, // Если нет, то отправляется запрос на проверку статуса токена. - handleTap() async { + handleTap() { print('tokenActive: $_tokenActive'); if (_tokenActive) { - new Future.delayed(const Duration(milliseconds: 200), () { - Navigator.of(context).pop(); - }); + Navigator.of(context).pop(true); } else { - if (await platform.invokeMethod('isOnline')) { - String token = await helper.getToken(); - getCheckTokenStatusRequest(token).then((response) { - Map parsedMap = JSON.decode(response.body); - - // Обновить экран, заменить сообщение о необходимости активации токена, на сообщние о том, что токен активен. - setState(() { - _tokenActive = parsedMap['active']; + platform.invokeMethod('isOnline').then((isOnline) { + if (isOnline ) { + helper.getToken().then((token) { + getCheckTokenStatusRequest(token).then((response) { + setState(() { + _tokenActive = JSON.decode(response.body)['active']; + }); + }).catchError((error) { + print(error.toString()); + return false; + }); }); - - }).catchError((error) { - print(error.toString()); - return false; - }); - } + } + }); } } diff --git a/lib/screens/registration.dart b/lib/screens/registration.dart index d5c2e28..208a166 100644 --- a/lib/screens/registration.dart +++ b/lib/screens/registration.dart @@ -114,7 +114,7 @@ class RegistrationScreenState extends BaseState { helper.createSession(merchantID, posID, parsedMap['token']).then((_) { new Future.delayed(const Duration(milliseconds: 200), () { var route = new MaterialPageRoute(builder: (BuildContext context) => new FinishRegistrationScreen(helper, app), fullscreenDialog: true); - Navigator.of(context).pushReplacement(route).then((b) { + Navigator.of(context).push(route).then((b) { print('finish registration closed: $b'); }); }); diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart index c35e9e8..a68e9c6 100644 --- a/lib/screens/settings.dart +++ b/lib/screens/settings.dart @@ -1,10 +1,14 @@ +import 'dart:async'; + import 'package:checker/base/base_screen.dart'; import 'package:checker/base/base_state.dart'; import 'package:checker/common.dart'; import 'package:checker/consts.dart'; import 'package:checker/db.dart'; +import 'package:checker/network.dart'; import 'package:checker/screens/currencies.dart'; import 'package:checker/screens/languages.dart'; +import 'package:checker/screens/splash.dart'; import 'package:checker/strings.dart'; import 'package:flutter/material.dart'; @@ -42,12 +46,18 @@ class SettingsState extends BaseState { this.returnToScanner = returnToScanner; } + @override + void initState() { + print('init state!'); + super.initState(); + } + @override Widget build(BuildContext ctx) { helper.getSettings(true).then((info) { setState(() { - print('currency: ${info['currency']}'); - print('locale: ${info['locale']}'); - print('token: ${info['token']}'); +// print('currency: ${info['currency']}'); +// print('locale: ${info['locale']}'); +// print('token: ${info['token']}'); menuItems[0].title = StringsLocalization.currency(); menuItems[1].title = StringsLocalization.locale(); menuItems[2].title = StringsLocalization.logout(); @@ -152,6 +162,55 @@ class SettingsState extends BaseState { } } + // В методе отправляется запрос на удаление токена кассы, очищаются SharedPreferences приложения. + logout(BuildContext context, SqliteHelper helper) async { + String token = await helper.getToken(); + VoidCallback positiveCallback = () { + if (token != null) { + getDeleteTokenRequest(token).then((response) { + helper.clear().then((result) { + while (Navigator.of(context).canPop()) { + Navigator.of(context).pop(); + } + var route = new MaterialPageRoute(builder: (BuildContext context) => new SplashScreen(helper, app)); + new Future.delayed(const Duration(milliseconds: 200), () { + Navigator.of(context).pushReplacement(route); + }); + }); + }).catchError((error) { + print(error.toString()); + }); + } else { + while (Navigator.of(context).canPop()) { + Navigator.of(context).pop(); + } + } + }; + + showYesNoDialog(context, StringsLocalization.confirmation(), + StringsLocalization.askChangeStore(), positiveCallback); + } + +// Запуск диалога с двумя кнопками + showYesNoDialog(BuildContext context, String title, String content, + VoidCallback positiveCallback) { + showDialog( + context: context, + child: new AlertDialog( + title: new Text(title), + content: new Text(content), + actions: [ + new FlatButton( + child: new Text(StringsLocalization.no()), + onPressed: () { + Navigator.of(context).pop(); + }), + new FlatButton( + child: new Text(StringsLocalization.yes()), + onPressed: positiveCallback) + ])); + } + Widget getArrow() { return new Container(margin: new EdgeInsets.only(left: 8.0), child: new Image.asset(settings_arrow_png, height: 42.0)); @@ -161,12 +220,4 @@ class SettingsState extends BaseState { String getTitle() { return StringsLocalization.settings(); } - -// onWillPop() { -// if (returnToScanner) { -// return startScanner(context, app, helper); -// } else { -// return true; -// } -// } } diff --git a/lib/screens/splash.dart b/lib/screens/splash.dart index f5add02..5e514c2 100644 --- a/lib/screens/splash.dart +++ b/lib/screens/splash.dart @@ -78,24 +78,23 @@ class _SplashScreenState extends BaseState { ])); } + startRegistration(Widget screen) { + new Future.delayed(const Duration(milliseconds: 200), () { + var route = new MaterialPageRoute( + builder: (BuildContext context) => screen, fullscreenDialog: true); + Navigator.of(context).push(route).then((token) { + _initAndStartScanner(context, app, token, helper); + }); + }); + } + /// Запуск следующего экрана приложения. showNextScreen() async { - String token = await helper.getToken(); - // В случае, если в приложении отсутствует токен, // необходимо запустить регистрацию кассы. if (token == null) { - - new Future.delayed(const Duration(milliseconds: 200), () { - var route = new MaterialPageRoute( - builder: (BuildContext context) => new RegistrationScreen(helper, app), fullscreenDialog: true); - Navigator.of(context).push(route).then((b) { - _initAndStartScanner(context, app, token, helper); - }); - }); - - // pushRoute(context, new RegistrationScreen(helper, app)); + startRegistration(new RegistrationScreen(helper, app)); } else { if (await platform.invokeMethod('isOnline')) { getCheckTokenStatusRequest(token).then((statusResponse) { @@ -114,7 +113,7 @@ class _SplashScreenState extends BaseState { int code = statusResponse.statusCode; if (code == 404) { helper.clear().then((result) { - pushRouteReplacement(context, new RegistrationScreen(helper, app)); + startRegistration(new RegistrationScreen(helper, app)); }); } else { Map status = JSON.decode(statusResponse.body); @@ -146,8 +145,7 @@ class _SplashScreenState extends BaseState { getCreateTokenRequest({'merchant_shop': merchantID, 'pos': posID}) .then((response) { if (response.statusCode == 409) { - pushRouteReplacement( - context, new FinishRegistrationScreen(helper, app)); + startRegistration(new FinishRegistrationScreen(helper, app)); } else if (response.statusCode == 201) { clearToken(response, helper); } @@ -161,8 +159,7 @@ class _SplashScreenState extends BaseState { helper.clear().then((_) { Map parsedMap = JSON.decode(response.body); getDeleteTokenRequest(parsedMap['token']).then((_) { - Navigator.of(context).pop(); - pushRouteReplacement(context, new RegistrationScreen(helper, app)); + startRegistration(new RegistrationScreen(helper, app)); }).catchError((error) { print(error.toString()); }); @@ -186,6 +183,8 @@ class _SplashScreenState extends BaseState { userResponse.then((response) { List users; + + try { users = JSON.decode(response.body); } catch (error) { @@ -203,10 +202,9 @@ class _SplashScreenState extends BaseState { faq(helper, app, context, true); } else if (call.method == 'settings') { new Future.delayed(const Duration(milliseconds: 200), () { - var route = new MaterialPageRoute( + var route = new MaterialPageRoute( builder: (BuildContext context) => new SettingsScreen(helper, app, true), fullscreenDialog: true); - Navigator.of(context).push(route).then((b) { - print('purchase closed: $b'); + Navigator.of(context).push(route).then((_) { _initAndStartScanner(context, app, token, helper); }); }); @@ -246,10 +244,9 @@ class _SplashScreenState extends BaseState { startScanner(String token, String userString, String card) { new Future.delayed(const Duration(milliseconds: 200), () { - var route = new MaterialPageRoute( + var route = new MaterialPageRoute( builder: (BuildContext context) => new PurchaseScreen(helper, app, userString, card), fullscreenDialog: true); - Navigator.of(context).push(route).then((b) { - print('purchase closed: $b'); + Navigator.of(context).push(route).then((_) { _initAndStartScanner(context, app, token, helper); }); }); @@ -272,4 +269,4 @@ class _SplashScreenState extends BaseState { return null; } } -} \ No newline at end of file +} diff --git a/pubspec.lock b/pubspec.lock index 29adeb3..f5def50 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -41,13 +41,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "3.1.1" - image_picker: - dependency: "direct main" - description: - name: image_picker - url: "https://pub.dartlang.org" - source: hosted - version: "0.1.5" matcher: dependency: transitive description: @@ -82,7 +75,7 @@ packages: name: petitparser url: "https://pub.dartlang.org" source: hosted - version: "1.7.3" + version: "1.7.5" sky_engine: dependency: transitive description: flutter @@ -152,4 +145,4 @@ packages: source: hosted version: "2.6.0" sdks: - dart: ">=2.0.0-dev.23.0 <=2.0.0-edge.fe96de2858f078e4ad04f8f30640184bf3d8102d" + dart: ">=2.0.0-dev.23.0 <=2.0.0-edge.0d5cf900b021bf5c9fa593ffa12b15bcd1cc5fe0" diff --git a/pubspec.yaml b/pubspec.yaml index 133ff60..f51ca1a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -6,7 +6,6 @@ dependencies: sprintf: "^3.0.2" path_provider: "^0.2.1+1" sqflite: any - image_picker: '^0.1.3' # use for ask permissions @ iOS xml: "^2.6.0" flutter: sdk: flutter