fixed bugs in ios version
This commit is contained in:
@@ -12,6 +12,8 @@ packages
|
|||||||
pubspec.lock
|
pubspec.lock
|
||||||
.flutter-plugins
|
.flutter-plugins
|
||||||
|
|
||||||
|
ios/Flutter
|
||||||
|
|
||||||
android/gradle
|
android/gradle
|
||||||
android/gradlew
|
android/gradlew
|
||||||
android/gradlew.bat
|
android/gradlew.bat
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -5,14 +5,22 @@
|
|||||||
#ifndef FLUTTER_FLUTTER_H_
|
#ifndef FLUTTER_FLUTTER_H_
|
||||||
#define FLUTTER_FLUTTER_H_
|
#define FLUTTER_FLUTTER_H_
|
||||||
|
|
||||||
|
/**
|
||||||
|
BREAKING CHANGES:
|
||||||
|
|
||||||
|
November 29, 2017: Added a BREAKING CHANGES section.
|
||||||
|
*/
|
||||||
|
|
||||||
#include "FlutterAppDelegate.h"
|
#include "FlutterAppDelegate.h"
|
||||||
#include "FlutterBinaryMessenger.h"
|
#include "FlutterBinaryMessenger.h"
|
||||||
#include "FlutterChannels.h"
|
#include "FlutterChannels.h"
|
||||||
#include "FlutterCodecs.h"
|
#include "FlutterCodecs.h"
|
||||||
#include "FlutterDartProject.h"
|
#include "FlutterDartProject.h"
|
||||||
|
#include "FlutterHeadlessDartRunner.h"
|
||||||
#include "FlutterMacros.h"
|
#include "FlutterMacros.h"
|
||||||
#include "FlutterNavigationController.h"
|
#include "FlutterNavigationController.h"
|
||||||
#include "FlutterPlugin.h"
|
#include "FlutterPlugin.h"
|
||||||
|
#include "FlutterTexture.h"
|
||||||
#include "FlutterViewController.h"
|
#include "FlutterViewController.h"
|
||||||
|
|
||||||
#endif // FLUTTER_FLUTTER_H_
|
#endif // FLUTTER_FLUTTER_H_
|
||||||
|
|||||||
@@ -34,6 +34,12 @@ FLUTTER_EXPORT
|
|||||||
// Defaults to window's rootViewController.
|
// Defaults to window's rootViewController.
|
||||||
- (NSObject<FlutterBinaryMessenger>*)binaryMessenger;
|
- (NSObject<FlutterBinaryMessenger>*)binaryMessenger;
|
||||||
|
|
||||||
|
// Can be overriden by subclasses to provide a custom FlutterTextureRegistry,
|
||||||
|
// typically a FlutterViewController, for plugin interop.
|
||||||
|
//
|
||||||
|
// Defaults to window's rootViewController.
|
||||||
|
- (NSObject<FlutterTextureRegistry>*)textures;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
#endif // FLUTTER_FLUTTERDARTPROJECT_H_
|
#endif // FLUTTER_FLUTTERDARTPROJECT_H_
|
||||||
|
|||||||
@@ -291,6 +291,10 @@ FLUTTER_EXPORT
|
|||||||
Invoked when the last listener is deregistered from the Stream associated to
|
Invoked when the last listener is deregistered from the Stream associated to
|
||||||
this channel on the Flutter side.
|
this channel on the Flutter side.
|
||||||
|
|
||||||
|
The channel implementation may call this method with `nil` arguments
|
||||||
|
to separate a pair of two consecutive set up requests. Such request pairs
|
||||||
|
may occur during Flutter hot restart.
|
||||||
|
|
||||||
- Parameter arguments: Arguments for the stream.
|
- Parameter arguments: Arguments for the stream.
|
||||||
- Returns: A FlutterError instance, if teardown fails.
|
- Returns: A FlutterError instance, if teardown fails.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ FLUTTER_EXPORT
|
|||||||
|
|
||||||
On the Dart side, these values are represented as follows:
|
On the Dart side, these values are represented as follows:
|
||||||
|
|
||||||
- `nil` or `NSNull`: `null`
|
- `nil` or `NSNull`: null
|
||||||
- `NSNumber`: `bool`, `int`, or `double`, depending on the contained value.
|
- `NSNumber`: `bool`, `int`, or `double`, depending on the contained value.
|
||||||
- `FlutterStandardBigInteger`: `int`
|
- `FlutterStandardBigInteger`: `int`
|
||||||
- `NSString`: `String`
|
- `NSString`: `String`
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
// Copyright 2017 The Chromium Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
// found in the LICENSE file.
|
||||||
|
|
||||||
|
#ifndef FLUTTER_FLUTTERHEADLESSDARTRUNNER_H_
|
||||||
|
#define FLUTTER_FLUTTERHEADLESSDARTRUNNER_H_
|
||||||
|
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
#include "FlutterDartProject.h"
|
||||||
|
#include "FlutterMacros.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
The FlutterHeadlessDartRunner runs Flutter Dart code with a null rasterizer,
|
||||||
|
and no native drawing surface. It is appropriate for use in running Dart
|
||||||
|
code e.g. in the background from a plugin.
|
||||||
|
*/
|
||||||
|
FLUTTER_EXPORT
|
||||||
|
@interface FlutterHeadlessDartRunner : NSObject
|
||||||
|
|
||||||
|
/**
|
||||||
|
Runs a Dart function on an Isolate that is not the main application's Isolate.
|
||||||
|
The first call will create a new Isolate. Subsequent calls will reuse that
|
||||||
|
Isolate. The Isolate is destroyed when the FlutterHeadlessDartRunner is
|
||||||
|
destroyed.
|
||||||
|
|
||||||
|
- Parameter entrypoint: The name of a top-level function from the same Dart
|
||||||
|
library that contains the app's main() function.
|
||||||
|
*/
|
||||||
|
- (void)runWithEntrypoint:(NSString*)entrypoint;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif // FLUTTER_FLUTTERHEADLESSDARTRUNNER_H_
|
||||||
@@ -20,4 +20,21 @@
|
|||||||
#define NS_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end")
|
#define NS_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end")
|
||||||
#endif // defined(NS_ASSUME_NONNULL_BEGIN)
|
#endif // defined(NS_ASSUME_NONNULL_BEGIN)
|
||||||
|
|
||||||
|
/**
|
||||||
|
Indicates that the API has been deprecated for the specifed reason. Code that
|
||||||
|
uses the deprecated API will continue to work as before. However, the API will
|
||||||
|
soon become unavailable and users are encouraged to immediately take the
|
||||||
|
appropriate action mentioned in the deprecation message and the BREAKING
|
||||||
|
CHANGES section present in the Flutter.h umbrella header.
|
||||||
|
*/
|
||||||
|
#define FLUTTER_DEPRECATED(msg) __attribute__((__deprecated__(msg)))
|
||||||
|
|
||||||
|
/**
|
||||||
|
Indicates that the previously deprecated API is now unavailable. Code that
|
||||||
|
uses the API will not work and the declaration of the API is only a stub meant
|
||||||
|
to display the given message detailing the actions for the user to take
|
||||||
|
immediately.
|
||||||
|
*/
|
||||||
|
#define FLUTTER_UNAVAILABLE(msg) __attribute__((__unavailable__(msg)))
|
||||||
|
|
||||||
#endif // FLUTTER_FLUTTERMACROS_H_
|
#endif // FLUTTER_FLUTTERMACROS_H_
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
#include "FlutterBinaryMessenger.h"
|
#include "FlutterBinaryMessenger.h"
|
||||||
#include "FlutterChannels.h"
|
#include "FlutterChannels.h"
|
||||||
#include "FlutterCodecs.h"
|
#include "FlutterCodecs.h"
|
||||||
|
#include "FlutterTexture.h"
|
||||||
|
|
||||||
NS_ASSUME_NONNULL_BEGIN
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
@protocol FlutterPluginRegistrar;
|
@protocol FlutterPluginRegistrar;
|
||||||
@@ -142,6 +143,14 @@ NS_ASSUME_NONNULL_BEGIN
|
|||||||
*/
|
*/
|
||||||
- (NSObject<FlutterBinaryMessenger>*)messenger;
|
- (NSObject<FlutterBinaryMessenger>*)messenger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns a `FlutterTextureRegistry` for registering textures
|
||||||
|
provided by the plugin.
|
||||||
|
|
||||||
|
- Returns: The texture registry.
|
||||||
|
*/
|
||||||
|
- (NSObject<FlutterTextureRegistry>*)textures;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Publishes a value for external use of the plugin.
|
Publishes a value for external use of the plugin.
|
||||||
|
|
||||||
|
|||||||
29
ios/Flutter/Flutter.framework/Headers/FlutterTexture.h
Normal file
29
ios/Flutter/Flutter.framework/Headers/FlutterTexture.h
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
// Copyright 2017 The Chromium Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
// found in the LICENSE file.
|
||||||
|
|
||||||
|
#ifndef FLUTTER_FLUTTERTEXTURE_H_
|
||||||
|
#define FLUTTER_FLUTTERTEXTURE_H_
|
||||||
|
|
||||||
|
#import <CoreMedia/CoreMedia.h>
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
|
||||||
|
#include "FlutterMacros.h"
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
FLUTTER_EXPORT
|
||||||
|
@protocol FlutterTexture<NSObject>
|
||||||
|
- (CVPixelBufferRef)copyPixelBuffer;
|
||||||
|
@end
|
||||||
|
|
||||||
|
FLUTTER_EXPORT
|
||||||
|
@protocol FlutterTextureRegistry<NSObject>
|
||||||
|
- (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture;
|
||||||
|
- (void)textureFrameAvailable:(int64_t)textureId;
|
||||||
|
- (void)unregisterTexture:(int64_t)textureId;
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
|
|
||||||
|
#endif // FLUTTER_FLUTTERTEXTURE_H_
|
||||||
@@ -11,9 +11,10 @@
|
|||||||
#include "FlutterBinaryMessenger.h"
|
#include "FlutterBinaryMessenger.h"
|
||||||
#include "FlutterDartProject.h"
|
#include "FlutterDartProject.h"
|
||||||
#include "FlutterMacros.h"
|
#include "FlutterMacros.h"
|
||||||
|
#include "FlutterTexture.h"
|
||||||
|
|
||||||
FLUTTER_EXPORT
|
FLUTTER_EXPORT
|
||||||
@interface FlutterViewController : UIViewController<FlutterBinaryMessenger>
|
@interface FlutterViewController : UIViewController<FlutterBinaryMessenger, FlutterTextureRegistry>
|
||||||
|
|
||||||
- (instancetype)initWithProject:(FlutterDartProject*)project
|
- (instancetype)initWithProject:(FlutterDartProject*)project
|
||||||
nibName:(NSString*)nibNameOrNil
|
nibName:(NSString*)nibNameOrNil
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
// This is a generated file; do not edit or check into version control.
|
// This is a generated file; do not edit or check into version control.
|
||||||
FLUTTER_ROOT=/Users/ntrlab/flutter
|
FLUTTER_ROOT=/Users/supermyon/Documents/flutter
|
||||||
FLUTTER_APPLICATION_PATH=/Users/ntrlab/semyon/apps/dinect
|
FLUTTER_APPLICATION_PATH=/Users/supermyon/Documents/Apps/checker
|
||||||
FLUTTER_TARGET=lib/main.dart
|
FLUTTER_TARGET=/Users/supermyon/Documents/Apps/checker/lib/main.dart
|
||||||
FLUTTER_BUILD_MODE=debug
|
FLUTTER_BUILD_MODE=debug
|
||||||
FLUTTER_BUILD_DIR=build
|
FLUTTER_BUILD_DIR=build
|
||||||
SYMROOT=${SOURCE_ROOT}/../build/ios
|
SYMROOT=${SOURCE_ROOT}/../build/ios
|
||||||
FLUTTER_FRAMEWORK_DIR=/Users/ntrlab/flutter/bin/cache/artifacts/engine/ios
|
FLUTTER_FRAMEWORK_DIR=/Users/supermyon/Documents/flutter/bin/cache/artifacts/engine/ios
|
||||||
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
|
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
|
||||||
|
|||||||
Binary file not shown.
@@ -1,8 +1,8 @@
|
|||||||
PODS:
|
PODS:
|
||||||
- Flutter (1.0.0)
|
- Flutter (1.0.0)
|
||||||
- FMDB (2.6.2):
|
- FMDB (2.7.2):
|
||||||
- FMDB/standard (= 2.6.2)
|
- FMDB/standard (= 2.7.2)
|
||||||
- FMDB/standard (2.6.2)
|
- FMDB/standard (2.7.2)
|
||||||
- image_picker (0.0.1):
|
- image_picker (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- path_provider (0.0.1):
|
- path_provider (0.0.1):
|
||||||
@@ -12,28 +12,28 @@ PODS:
|
|||||||
- FMDB
|
- FMDB
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- Flutter (from `/Users/ntrlab/flutter/bin/cache/artifacts/engine/ios`)
|
- Flutter (from `/Users/supermyon/Documents/flutter/bin/cache/artifacts/engine/ios`)
|
||||||
- image_picker (from `/Users/ntrlab/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.3/ios`)
|
- image_picker (from `/Users/supermyon/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.5/ios`)
|
||||||
- path_provider (from `/Users/ntrlab/.pub-cache/hosted/pub.dartlang.org/path_provider-0.2.1+1/ios`)
|
- path_provider (from `/Users/supermyon/.pub-cache/hosted/pub.dartlang.org/path_provider-0.2.2/ios`)
|
||||||
- sqflite (from `/Users/ntrlab/.pub-cache/hosted/pub.dartlang.org/sqflite-0.2.4/ios`)
|
- sqflite (from `/Users/supermyon/.pub-cache/hosted/pub.dartlang.org/sqflite-0.2.4/ios`)
|
||||||
|
|
||||||
EXTERNAL SOURCES:
|
EXTERNAL SOURCES:
|
||||||
Flutter:
|
Flutter:
|
||||||
:path: /Users/ntrlab/flutter/bin/cache/artifacts/engine/ios
|
:path: /Users/supermyon/Documents/flutter/bin/cache/artifacts/engine/ios
|
||||||
image_picker:
|
image_picker:
|
||||||
:path: /Users/ntrlab/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.3/ios
|
:path: /Users/supermyon/.pub-cache/hosted/pub.dartlang.org/image_picker-0.1.5/ios
|
||||||
path_provider:
|
path_provider:
|
||||||
:path: /Users/ntrlab/.pub-cache/hosted/pub.dartlang.org/path_provider-0.2.1+1/ios
|
:path: /Users/supermyon/.pub-cache/hosted/pub.dartlang.org/path_provider-0.2.2/ios
|
||||||
sqflite:
|
sqflite:
|
||||||
:path: /Users/ntrlab/.pub-cache/hosted/pub.dartlang.org/sqflite-0.2.4/ios
|
:path: /Users/supermyon/.pub-cache/hosted/pub.dartlang.org/sqflite-0.2.4/ios
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
Flutter: d674e78c937094a75ac71dd77e921e840bea3dbf
|
Flutter: d674e78c937094a75ac71dd77e921e840bea3dbf
|
||||||
FMDB: 854a0341b4726e53276f2a8996f06f1b80f9259a
|
FMDB: 6198a90e7b6900cfc046e6bc0ef6ebb7be9236aa
|
||||||
image_picker: a211f28b95a560433c00f5cd3773f4710a20404d
|
image_picker: a211f28b95a560433c00f5cd3773f4710a20404d
|
||||||
path_provider: f96fff6166a8867510d2c25fdcc346327cc4b259
|
path_provider: f96fff6166a8867510d2c25fdcc346327cc4b259
|
||||||
sqflite: 8e2d9fe1e7cdc95d4d537fc7eb2d23c8dc428e3c
|
sqflite: 8e2d9fe1e7cdc95d4d537fc7eb2d23c8dc428e3c
|
||||||
|
|
||||||
PODFILE CHECKSUM: 351e02e34b831289961ec3558a535cbd2c4965d2
|
PODFILE CHECKSUM: 351e02e34b831289961ec3558a535cbd2c4965d2
|
||||||
|
|
||||||
COCOAPODS: 1.2.1
|
COCOAPODS: 1.3.1
|
||||||
|
|||||||
@@ -370,7 +370,7 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
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";
|
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;
|
showEnvVarsInLog = 0;
|
||||||
};
|
};
|
||||||
ACE861291F9F745B006FEF38 /* Run Script */ = {
|
ACE861291F9F745B006FEF38 /* Run Script */ = {
|
||||||
@@ -408,7 +408,7 @@
|
|||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
|
"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
|
||||||
"${PODS_ROOT}/../../../flutter/bin/cache/artifacts/engine/ios-release/Flutter.framework",
|
"${PODS_ROOT}/../../../../flutter/bin/cache/artifacts/engine/ios/Flutter.framework",
|
||||||
);
|
);
|
||||||
name = "[CP] Embed Pods Frameworks";
|
name = "[CP] Embed Pods Frameworks";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
|||||||
BIN
ios/Runner.xcworkspace/xcuserdata/supermyon.xcuserdatad/UserInterfaceState.xcuserstate
generated
Normal file
BIN
ios/Runner.xcworkspace/xcuserdata/supermyon.xcuserdatad/UserInterfaceState.xcuserstate
generated
Normal file
Binary file not shown.
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Bucket
|
||||||
|
type = "0"
|
||||||
|
version = "2.0">
|
||||||
|
</Bucket>
|
||||||
@@ -92,6 +92,9 @@
|
|||||||
ScannerViewController *modalViewController = [ScannerViewController new];
|
ScannerViewController *modalViewController = [ScannerViewController new];
|
||||||
modalViewController.platformChannel = weekPlatformChannel;
|
modalViewController.platformChannel = weekPlatformChannel;
|
||||||
[controller presentViewController:modalViewController animated:YES completion:nil];
|
[controller presentViewController:modalViewController animated:YES completion:nil];
|
||||||
|
// [weekPlatformChannel invokeMethod:(@"findUserAndPurchase") arguments: @[@"79039441628", @"phone"]];
|
||||||
|
|
||||||
|
|
||||||
} else if ([@"isOnline" isEqualToString:call.method]) {
|
} else if ([@"isOnline" isEqualToString:call.method]) {
|
||||||
result(@YES);
|
result(@YES);
|
||||||
} else if ([@"getSupportPhone" isEqualToString:call.method]) {
|
} else if ([@"getSupportPhone" isEqualToString:call.method]) {
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ extension ZBarSymbolSet: Sequence {
|
|||||||
|
|
||||||
self.addChildViewController(readerViewController)
|
self.addChildViewController(readerViewController)
|
||||||
self.view.addSubview(readerViewController.view)
|
self.view.addSubview(readerViewController.view)
|
||||||
|
readerViewController.didMove(toParentViewController: self)
|
||||||
|
|
||||||
readerViewController.view.addSubview(topView)
|
readerViewController.view.addSubview(topView)
|
||||||
topView.addSubview(textField)
|
topView.addSubview(textField)
|
||||||
@@ -120,11 +121,14 @@ extension ZBarSymbolSet: Sequence {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func sendResult(_ str: String) {
|
func sendResult(_ str: String) {
|
||||||
platformChannel?.invokeMethod("findUserAndPurchase", arguments: [str, buttonState.searchType], result: { (result: Any?) in
|
platformChannel?.invokeMethod("findUser", arguments: [str, buttonState.searchType], result: { (result: Any?) in
|
||||||
if result is FlutterError {
|
if result is FlutterError {
|
||||||
self.showErrorAlert(str)
|
self.showErrorAlert(str)
|
||||||
} else {
|
} else {
|
||||||
self.presentingViewController?.dismiss(animated: false, completion: { self.dismiss(animated: true) })
|
|
||||||
|
self.dismiss(animated: true) {
|
||||||
|
self.platformChannel?.invokeMethod("purchase", arguments: [result, str])
|
||||||
|
}
|
||||||
}
|
}
|
||||||
print("result: \(result.debugDescription )")
|
print("result: \(result.debugDescription )")
|
||||||
})
|
})
|
||||||
@@ -139,6 +143,9 @@ extension ZBarSymbolSet: Sequence {
|
|||||||
)
|
)
|
||||||
alertController.addAction(UIAlertAction(title: "Dismiss", style: UIAlertActionStyle.default,handler: nil))
|
alertController.addAction(UIAlertAction(title: "Dismiss", style: UIAlertActionStyle.default,handler: nil))
|
||||||
|
|
||||||
|
// if let appDelegate = UIApplication.shared.delegate as? FlutterAppDelegate {
|
||||||
|
// appDelegate.window.rootViewController?.present(alertController, animated: true, completion: nil)
|
||||||
|
// }
|
||||||
self.present(alertController, animated: true, completion: nil)
|
self.present(alertController, animated: true, completion: nil)
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -157,7 +164,7 @@ extension ZBarSymbolSet: Sequence {
|
|||||||
|
|
||||||
readerViewController.view.frame = view.bounds
|
readerViewController.view.frame = view.bounds
|
||||||
topView.frame = CGRect(x: 0, y: 0, width: readerViewController.view.frame.size.width, height: 40)
|
topView.frame = CGRect(x: 0, y: 0, width: readerViewController.view.frame.size.width, height: 40)
|
||||||
textField.frame = CGRect(x: settingButton.frame.maxX + 8, y: 5, width: readerViewController.view.frame.size.width - 50, height: 30)
|
textField.frame = CGRect(x: settingButton.frame.maxX + 8 + 20 + 5, y: 5, width: readerViewController.view.frame.size.width - 50, height: 30)
|
||||||
settingButton.frame = CGRect(x: 8, y: 10, width: 20, height: 20)
|
settingButton.frame = CGRect(x: 8, y: 10, width: 20, height: 20)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ startScanner(BuildContext context, String app, SqliteHelper helper) async {
|
|||||||
|
|
||||||
if (call.method == 'logout') {
|
if (call.method == 'logout') {
|
||||||
forceLogout(token, context);
|
forceLogout(token, context);
|
||||||
} else if (call.method == 'findUserAndPurchase') {
|
} else if (call.method == 'findUser') {
|
||||||
|
|
||||||
var userResponse;
|
var userResponse;
|
||||||
String cardPhone = call.arguments[0];
|
String cardPhone = call.arguments[0];
|
||||||
@@ -129,25 +129,10 @@ startScanner(BuildContext context, String app, SqliteHelper helper) async {
|
|||||||
print(error);
|
print(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
print(users.length);
|
|
||||||
|
|
||||||
if (users.length > 0) {
|
if (users.length > 0) {
|
||||||
String userString = '${users[0]['first_name']} ${users[0]['last_name']}';
|
return users[0];
|
||||||
|
|
||||||
print(userString);
|
|
||||||
print(cardPhone);
|
|
||||||
// pushRoute(context, new PurchaseScreen(helper, app, JSON.encode(users[0]), cardPhone));
|
|
||||||
|
|
||||||
var route = new MaterialPageRoute<Null>(
|
|
||||||
builder: (BuildContext context) =>
|
|
||||||
new PurchaseScreen(helper, app, JSON.encode(users[0]), cardPhone)
|
|
||||||
);
|
|
||||||
while (Navigator.of(context).canPop()) {
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
}
|
|
||||||
Navigator.of(context).pushReplacement(route);
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
startScanner(context, app, helper);
|
||||||
throw new FlutterError("Users not found");
|
throw new FlutterError("Users not found");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,8 +142,16 @@ startScanner(BuildContext context, String app, SqliteHelper helper) async {
|
|||||||
} else if (call.method == 'settings') {
|
} else if (call.method == 'settings') {
|
||||||
pushRoute(context, new SettingsScreen(helper, app, true));
|
pushRoute(context, new SettingsScreen(helper, app, true));
|
||||||
} else {
|
} else {
|
||||||
String userString = call.arguments[0];
|
String userString;
|
||||||
|
|
||||||
|
if (call.arguments[0] is String) {
|
||||||
|
userString = call.arguments[0];
|
||||||
|
} else {
|
||||||
|
userString = JSON.encode(call.arguments[0]);
|
||||||
|
}
|
||||||
|
|
||||||
print(userString);
|
print(userString);
|
||||||
|
|
||||||
String card = call.arguments[1];
|
String card = call.arguments[1];
|
||||||
print('$userString, $card');
|
print('$userString, $card');
|
||||||
var route = new MaterialPageRoute<Null>(
|
var route = new MaterialPageRoute<Null>(
|
||||||
|
|||||||
Reference in New Issue
Block a user