|
|
|
|
@ -2,21 +2,33 @@
|
|
|
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
|
|
|
// found in the LICENSE file.
|
|
|
|
|
|
|
|
|
|
import UIKit
|
|
|
|
|
import Flutter
|
|
|
|
|
import UIKit
|
|
|
|
|
|
|
|
|
|
@UIApplicationMain
|
|
|
|
|
@objc class AppDelegate: FlutterAppDelegate {
|
|
|
|
|
@main
|
|
|
|
|
@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate {
|
|
|
|
|
override func application(
|
|
|
|
|
_ application: UIApplication,
|
|
|
|
|
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
|
|
|
|
|
) -> Bool {
|
|
|
|
|
let flutterViewController = window.rootViewController as! FlutterViewController
|
|
|
|
|
FlutterMethodChannel(name: "methodChannelDemo", binaryMessenger: flutterViewController.binaryMessenger).setMethodCallHandler({
|
|
|
|
|
(call: FlutterMethodCall, result: FlutterResult) -> Void in
|
|
|
|
|
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func didInitializeImplicitFlutterEngine(_ engineBridge: FlutterImplicitEngineBridge) {
|
|
|
|
|
GeneratedPluginRegistrant.register(with: engineBridge.pluginRegistry)
|
|
|
|
|
|
|
|
|
|
let messenger = engineBridge.applicationRegistrar.messenger()
|
|
|
|
|
|
|
|
|
|
FlutterMethodChannel(name: "methodChannelDemo", binaryMessenger: messenger)
|
|
|
|
|
.setMethodCallHandler({ (call: FlutterMethodCall, result: FlutterResult) -> Void in
|
|
|
|
|
guard let count = (call.arguments as? NSDictionary)?["count"] as? Int else {
|
|
|
|
|
result(FlutterError(code: "INVALID_ARGUMENT", message: "Value of count cannot be null", details: nil))
|
|
|
|
|
result(
|
|
|
|
|
FlutterError(
|
|
|
|
|
code: "INVALID_ARGUMENT",
|
|
|
|
|
message: "Value of count cannot be null",
|
|
|
|
|
details: nil
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -30,10 +42,12 @@ import Flutter
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
FlutterBasicMessageChannel(name: "platformImageDemo", binaryMessenger: flutterViewController.binaryMessenger, codec: FlutterStandardMessageCodec.sharedInstance()).setMessageHandler{
|
|
|
|
|
(message: Any?, reply: FlutterReply) -> Void in
|
|
|
|
|
|
|
|
|
|
if(message as! String == "getImage") {
|
|
|
|
|
FlutterBasicMessageChannel(
|
|
|
|
|
name: "platformImageDemo",
|
|
|
|
|
binaryMessenger: messenger,
|
|
|
|
|
codec: FlutterStandardMessageCodec.sharedInstance()
|
|
|
|
|
).setMessageHandler { (message: Any?, reply: FlutterReply) -> Void in
|
|
|
|
|
if message as! String == "getImage" {
|
|
|
|
|
guard let image = UIImage(named: "eat_new_orleans.jpg") else {
|
|
|
|
|
reply(nil)
|
|
|
|
|
return
|
|
|
|
|
@ -43,30 +57,42 @@ import Flutter
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
FlutterEventChannel(name: "eventChannelDemo", binaryMessenger: flutterViewController.binaryMessenger).setStreamHandler(AccelerometerStreamHandler())
|
|
|
|
|
FlutterEventChannel(
|
|
|
|
|
name: "eventChannelDemo",
|
|
|
|
|
binaryMessenger: messenger
|
|
|
|
|
).setStreamHandler(AccelerometerStreamHandler())
|
|
|
|
|
|
|
|
|
|
var petList: [[String: String]] = []
|
|
|
|
|
|
|
|
|
|
// A FlutterBasicMessageChannel for sending petList to Dart.
|
|
|
|
|
let stringCodecChannel = FlutterBasicMessageChannel(name: "stringCodecDemo", binaryMessenger: flutterViewController.binaryMessenger, codec: FlutterStringCodec.sharedInstance())
|
|
|
|
|
let stringCodecChannel = FlutterBasicMessageChannel(
|
|
|
|
|
name: "stringCodecDemo",
|
|
|
|
|
binaryMessenger: messenger,
|
|
|
|
|
codec: FlutterStringCodec.sharedInstance()
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// Registers a MessageHandler for FlutterBasicMessageChannel to receive pet details.
|
|
|
|
|
FlutterBasicMessageChannel(name: "jsonMessageCodecDemo", binaryMessenger: flutterViewController.binaryMessenger, codec: FlutterJSONMessageCodec.sharedInstance())
|
|
|
|
|
.setMessageHandler{(message: Any?, reply: FlutterReply) -> Void in
|
|
|
|
|
FlutterBasicMessageChannel(
|
|
|
|
|
name: "jsonMessageCodecDemo",
|
|
|
|
|
binaryMessenger: messenger,
|
|
|
|
|
codec: FlutterJSONMessageCodec.sharedInstance()
|
|
|
|
|
).setMessageHandler { (message: Any?, reply: FlutterReply) -> Void in
|
|
|
|
|
petList.insert(message! as! [String: String], at: 0)
|
|
|
|
|
stringCodecChannel.sendMessage(self.convertPetListToJson(petList: petList))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Registers a MessageHandler for FlutterBasicMessageHandler to receive indices of detail records to remove from the petList.
|
|
|
|
|
FlutterBasicMessageChannel(name: "binaryCodecDemo", binaryMessenger: flutterViewController.binaryMessenger, codec: FlutterBinaryCodec.sharedInstance()).setMessageHandler{
|
|
|
|
|
(message: Any?, reply: FlutterReply) -> Void in
|
|
|
|
|
|
|
|
|
|
guard let index = Int.init(String.init(data: message! as! Data, encoding: String.Encoding.utf8)!) else {
|
|
|
|
|
FlutterBasicMessageChannel(
|
|
|
|
|
name: "binaryCodecDemo",
|
|
|
|
|
binaryMessenger: messenger,
|
|
|
|
|
codec: FlutterBinaryCodec.sharedInstance()
|
|
|
|
|
).setMessageHandler { (message: Any?, reply: FlutterReply) -> Void in
|
|
|
|
|
guard let index = Int(String(data: message! as! Data, encoding: String.Encoding.utf8)!) else {
|
|
|
|
|
reply(nil)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (index >= 0 && index < petList.count) {
|
|
|
|
|
if index >= 0 && index < petList.count {
|
|
|
|
|
petList.remove(at: index)
|
|
|
|
|
reply("Removed Successfully".data(using: .utf8)!)
|
|
|
|
|
stringCodecChannel.sendMessage(self.convertPetListToJson(petList: petList))
|
|
|
|
|
@ -74,9 +100,6 @@ import Flutter
|
|
|
|
|
reply(nil)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
GeneratedPluginRegistrant.register(with: self)
|
|
|
|
|
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Function to convert petList to json string.
|
|
|
|
|
|