Skip to content

Commit de45265

Browse files
author
Jenkins
committed
8.1.738
1 parent 2a1168b commit de45265

12 files changed

Lines changed: 69 additions & 23 deletions

File tree

.vscode/launch.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
// Use IntelliSense to learn about possible attributes.
3+
// Hover to view descriptions of existing attributes.
4+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5+
"version": "0.2.0",
6+
"configurations": [
7+
{
8+
"name": "Flutter",
9+
"cwd": "example",
10+
"request": "launch",
11+
"type": "dart",
12+
"flutterMode": "profile"
13+
}
14+
]
15+
}

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ android {
2828
}
2929

3030
dependencies {
31-
implementation('com.regula.face:api:7.2.4426') {
31+
implementation('com.regula.face:api:8.1.4451') {
3232
transitive = true
3333
}
3434

android/src/main/kotlin/com/regula/plugin/facesdk/FlutterFaceApiPlugin.kt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package com.regula.plugin.facesdk
22

3+
import android.app.Activity
34
import android.content.Context
45
import android.os.Handler
56
import android.os.Looper
67
import android.util.Log
78
import io.flutter.embedding.engine.plugins.FlutterPlugin
89
import io.flutter.embedding.engine.plugins.FlutterPlugin.FlutterPluginBinding
10+
import io.flutter.embedding.engine.plugins.activity.ActivityAware
11+
import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding
912
import io.flutter.plugin.common.EventChannel
1013
import io.flutter.plugin.common.EventChannel.EventSink
1114
import io.flutter.plugin.common.EventChannel.StreamHandler
@@ -18,8 +21,11 @@ val eventSinks = mutableMapOf<String, EventSink?>()
1821

1922
lateinit var args: List<Any?>
2023
lateinit var binding: FlutterPluginBinding
24+
lateinit var activityBinding: ActivityPluginBinding
2125
val context: Context
2226
get() = binding.applicationContext
27+
val activity: Activity
28+
get() = activityBinding.activity
2329

2430
fun sendEvent(id: String, data: Any? = "") {
2531
eventSinks[id]?.let { Handler(Looper.getMainLooper()).post { it.success(data.toSendable()) } }
@@ -37,7 +43,10 @@ fun setupEventChannel(id: String) = EventChannel(binding.binaryMessenger, "$chan
3743
override fun onCancel(arguments: Any?) = Unit
3844
})
3945

40-
class FlutterFaceApiPlugin : FlutterPlugin, MethodCallHandler {
46+
class FlutterFaceApiPlugin : FlutterPlugin, MethodCallHandler, ActivityAware {
47+
override fun onDetachedFromActivityForConfigChanges() = Unit
48+
override fun onReattachedToActivityForConfigChanges(binding: ActivityPluginBinding) = Unit
49+
override fun onDetachedFromActivity() = Unit
4150
override fun onDetachedFromEngine(binding: FlutterPluginBinding) = Unit
4251
override fun onMethodCall(call: MethodCall, result: MethodChannel.Result) {
4352
args = call.arguments as List<*>
@@ -48,6 +57,10 @@ class FlutterFaceApiPlugin : FlutterPlugin, MethodCallHandler {
4857
}
4958
}
5059

60+
override fun onAttachedToActivity(binding: ActivityPluginBinding) {
61+
activityBinding = binding
62+
}
63+
5164
override fun onAttachedToEngine(flutterBinding: FlutterPluginBinding) {
5265
binding = flutterBinding
5366
for (event in arrayOf(

android/src/main/kotlin/com/regula/plugin/facesdk/Main.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ fun methodCall(method: String, callback: (Any?) -> Unit): Any = when (method) {
3636
"setEnv" -> setEnv(argsNullable(0))
3737
"getLocale" -> getLocale(callback)
3838
"setLocale" -> setLocale(argsNullable(0))
39-
"setLocalizationDictionary" -> setLocalizationDictionary(args(0))
40-
"setRequestHeaders" -> setRequestHeaders(args(0))
39+
"setLocalizationDictionary" -> setLocalizationDictionary(argsNullable(0))
40+
"setRequestHeaders" -> setRequestHeaders(argsNullable(0))
4141
"setCustomization" -> setCustomization(args(0))
4242
"isInitialized" -> isInitialized(callback)
4343
"initialize" -> initialize(callback, argsNullable(0))
@@ -99,13 +99,13 @@ fun getLocale(callback: Callback) = callback(Instance().locale)
9999

100100
fun setLocale(locale: String?) = locale.let { Instance().locale = it }
101101

102-
fun setLocalizationDictionary(dictionary: JSONObject) {
103-
localizationCallbacks = LocalizationCallbacks { if (dictionary.has(it)) dictionary.getString(it) else null }
102+
fun setLocalizationDictionary(dictionary: JSONObject?) {
103+
localizationCallbacks = LocalizationCallbacks { if (dictionary?.has(it) == true) dictionary.getString(it) else null }
104104
Instance().setLocalizationCallback(localizationCallbacks!!)
105105
}
106106

107-
fun setRequestHeaders(headers: JSONObject) {
108-
networkInterceptorListener = NetworkInterceptorListener { headers.forEach { k, v -> it.header(k, v as String) } }
107+
fun setRequestHeaders(headers: JSONObject?) {
108+
networkInterceptorListener = NetworkInterceptorListener { headers?.forEach { k, v -> it.header(k, v as String) } }
109109
Instance().setNetworkInterceptorListener(networkInterceptorListener)
110110
}
111111

@@ -128,13 +128,13 @@ fun deinitialize() = Instance().deinitialize()
128128

129129
fun startFaceCapture(callback: Callback, config: JSONObject?) = config?.let {
130130
Instance().presentFaceCaptureActivity(
131-
context,
131+
activity,
132132
faceCaptureConfigFromJSON(it),
133133
faceCaptureCompletion(callback),
134134
faceCaptureNotificationCompletion()
135135
)
136136
} ?: Instance().presentFaceCaptureActivity(
137-
context,
137+
activity,
138138
faceCaptureCompletion(callback),
139139
faceCaptureNotificationCompletion()
140140
)
@@ -143,13 +143,13 @@ fun stopFaceCapture() = Instance().stopFaceCaptureActivity(context)
143143

144144
fun startLiveness(callback: Callback, config: JSONObject?) = config?.let {
145145
Instance().startLiveness(
146-
context,
146+
activity,
147147
livenessConfigFromJSON(it),
148148
livenessCompletion(callback),
149149
livenessNotificationCompletion()
150150
)
151151
} ?: Instance().startLiveness(
152-
context,
152+
activity,
153153
livenessCompletion(callback),
154154
livenessNotificationCompletion()
155155
)

example/.vscode/launch.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"configurations": [
3+
{
4+
"name": "Flutter",
5+
"request": "launch",
6+
"type": "dart",
7+
"flutterMode": "profile"
8+
}
9+
]
10+
}

example/.vscode/settings.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"dart.flutterRunAdditionalArgs": [
3+
"--profile"
4+
]
5+
}

example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
</Testables>
5252
</TestAction>
5353
<LaunchAction
54-
buildConfiguration = "Debug"
54+
buildConfiguration = "Profile"
5555
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
5656
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
5757
launchStyle = "0"

example/lib/main.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import 'dart:async';
44
import 'package:flutter_face_api/flutter_face_api.dart';
55
import 'package:image_picker/image_picker.dart';
66

7+
void main() => runApp(new MaterialApp(home: new MyApp()));
78
var faceSdk = FaceSDK.instance;
89
MatchFacesImage? image1;
910
MatchFacesImage? image2;
@@ -270,5 +271,3 @@ class MyApp extends StatefulWidget {
270271
return MyAppState();
271272
}
272273
}
273-
274-
void main() => runApp(new MaterialApp(home: new MyApp()));

example/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ dependencies:
1414
sdk: flutter
1515
flutter_face_api:
1616
path: ../
17-
flutter_face_core_basic: 7.2.235
17+
flutter_face_core_basic: 8.1.365
1818
cupertino_icons: ^1.0.8
1919

2020
dev_dependencies:

ios/Classes/FlutterFaceApiPlugin.m

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@
22

33
@implementation FlutterFaceApiPlugin
44

5-
UIViewController*(^RFSWRootViewController)(void) = ^UIViewController*(){
6-
for (UIWindow *window in UIApplication.sharedApplication.windows)
7-
if (window.isKeyWindow)
8-
return window.rootViewController;
5+
UIViewController*(^RFSWRootViewController)(void) = ^UIViewController*() {
6+
for (UIScene *scene in UIApplication.sharedApplication.connectedScenes)
7+
if ([scene isKindOfClass:[UIWindowScene class]]) {
8+
UIWindowScene *windowScene = (UIWindowScene *)scene;
9+
for (UIWindow *window in windowScene.windows)
10+
if (window.isKeyWindow)
11+
return window.rootViewController;
12+
}
913
return nil;
1014
};
1115

0 commit comments

Comments
 (0)