Skip to content

Commit ac8a42e

Browse files
handle flutterMockCamera flag
Co-authored-by: SrinivasanTarget <[email protected]>
1 parent f30eb7b commit ac8a42e

File tree

7 files changed

+79
-10
lines changed

7 files changed

+79
-10
lines changed

demo-app/ios/Podfile.lock

Lines changed: 48 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,84 @@
11
PODS:
2+
- a_bridge (0.0.1):
3+
- Flutter
4+
- camera_avfoundation (0.0.1):
5+
- Flutter
6+
- device_info_plus (0.0.1):
7+
- Flutter
28
- Flutter (1.0.0)
9+
- image_picker_ios (0.0.1):
10+
- Flutter
311
- integration_test (0.0.1):
412
- Flutter
513
- package_info_plus (0.4.5):
614
- Flutter
715
- path_provider_foundation (0.0.1):
816
- Flutter
917
- FlutterMacOS
18+
- permission_handler_apple (9.3.0):
19+
- Flutter
20+
- url_launcher_ios (0.0.1):
21+
- Flutter
22+
- video_player_avfoundation (0.0.1):
23+
- Flutter
24+
- FlutterMacOS
1025
- webview_flutter_wkwebview (0.0.1):
1126
- Flutter
1227

1328
DEPENDENCIES:
29+
- a_bridge (from `.symlinks/plugins/a_bridge/ios`)
30+
- camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`)
31+
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
1432
- Flutter (from `Flutter`)
33+
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
1534
- integration_test (from `.symlinks/plugins/integration_test/ios`)
1635
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
1736
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
37+
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
38+
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
39+
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`)
1840
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`)
1941

2042
EXTERNAL SOURCES:
43+
a_bridge:
44+
:path: ".symlinks/plugins/a_bridge/ios"
45+
camera_avfoundation:
46+
:path: ".symlinks/plugins/camera_avfoundation/ios"
47+
device_info_plus:
48+
:path: ".symlinks/plugins/device_info_plus/ios"
2149
Flutter:
2250
:path: Flutter
51+
image_picker_ios:
52+
:path: ".symlinks/plugins/image_picker_ios/ios"
2353
integration_test:
2454
:path: ".symlinks/plugins/integration_test/ios"
2555
package_info_plus:
2656
:path: ".symlinks/plugins/package_info_plus/ios"
2757
path_provider_foundation:
2858
:path: ".symlinks/plugins/path_provider_foundation/darwin"
59+
permission_handler_apple:
60+
:path: ".symlinks/plugins/permission_handler_apple/ios"
61+
url_launcher_ios:
62+
:path: ".symlinks/plugins/url_launcher_ios/ios"
63+
video_player_avfoundation:
64+
:path: ".symlinks/plugins/video_player_avfoundation/darwin"
2965
webview_flutter_wkwebview:
3066
:path: ".symlinks/plugins/webview_flutter_wkwebview/ios"
3167

3268
SPEC CHECKSUMS:
69+
a_bridge: f7ad97079e92a71f40963361c683c33101194b96
70+
camera_avfoundation: 04b44aeb14070126c6529e5ab82cc7c9fca107cf
71+
device_info_plus: 71ffc6ab7634ade6267c7a93088ed7e4f74e5896
3372
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
34-
integration_test: ce0a3ffa1de96d1a89ca0ac26fca7ea18a749ef4
35-
package_info_plus: 58f0028419748fad15bf008b270aaa8e54380b1c
36-
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
37-
webview_flutter_wkwebview: be0f0d33777f1bfd0c9fdcb594786704dbf65f36
73+
image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a
74+
integration_test: d5929033778cc4991a187e4e1a85396fa4f59b3a
75+
package_info_plus: 580e9a5f1b6ca5594e7c9ed5f92d1dfb2a66b5e1
76+
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
77+
permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d
78+
url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
79+
video_player_avfoundation: 2cef49524dd1f16c5300b9cd6efd9611ce03639b
80+
webview_flutter_wkwebview: 45a041c7831641076618876de3ba75c712860c6b
3881

3982
PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796
4083

41-
COCOAPODS: 1.15.2
84+
COCOAPODS: 1.16.2

demo-app/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@
198198
9705A1C41CF9048500538489 /* Embed Frameworks */,
199199
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
200200
DB4ACE8BE99EAE67CC907A6D /* [CP] Embed Pods Frameworks */,
201+
71A0DE9555FE30341983A1D5 /* [CP] Copy Pods Resources */,
201202
);
202203
buildRules = (
203204
);
@@ -307,6 +308,23 @@
307308
shellPath = /bin/sh;
308309
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
309310
};
311+
71A0DE9555FE30341983A1D5 /* [CP] Copy Pods Resources */ = {
312+
isa = PBXShellScriptBuildPhase;
313+
buildActionMask = 2147483647;
314+
files = (
315+
);
316+
inputFileListPaths = (
317+
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
318+
);
319+
name = "[CP] Copy Pods Resources";
320+
outputFileListPaths = (
321+
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
322+
);
323+
runOnlyForDeploymentPostprocessing = 0;
324+
shellPath = /bin/sh;
325+
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
326+
showEnvVarsInLog = 0;
327+
};
310328
9740EEB61CF901F6004384FC /* Run Script */ = {
311329
isa = PBXShellScriptBuildPhase;
312330
alwaysOutOfDate = 1;

demo-app/ios/Runner/AppDelegate.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import UIKit
22
import Flutter
3+
import WebKit
34

45
@UIApplicationMain
56
@objc class AppDelegate: FlutterAppDelegate {
@@ -8,6 +9,10 @@ import Flutter
89
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
910
) -> Bool {
1011
GeneratedPluginRegistrant.register(with: self)
12+
if #available(iOS 16.4, *) {
13+
let webView = WKWebView(frame: .zero)
14+
webView.isInspectable = true
15+
}
1116
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
1217
}
1318
}

demo-app/pubspec.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ packages:
1515
path: "../server"
1616
relative: true
1717
source: path
18-
version: "0.0.31"
18+
version: "0.0.32"
1919
archive:
2020
dependency: transitive
2121
description:

server/lib/src/handler/new_session.dart

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,14 @@ class NewSessionHandler extends RequestHandler
2727

2828
String sessionId =
2929
FlutterDriver.instance.initializeSession(session.capabilities!);
30-
if (session.capabilities?['flutterEnableMockCamera'] ?? false) {
31-
var flutterMockCameraValue = session.capabilities?['flutterEnableMockCamera'];
30+
var flutterMockCameraValue = session.capabilities?['flutterEnableMockCamera'] ??
31+
session.capabilities?['appium:flutterEnableMockCamera'];
32+
if (flutterMockCameraValue ?? false) {
3233
ImagePickerPlatform.instance = MockImagePicker();
3334
FlutterDriver.instance.setCameraMocked(true);
3435
log('Camera Instance mocked: $flutterMockCameraValue');
36+
} else {
37+
log('Camera mocking not enabled. Session capabilities: ${session.capabilities}');
3538
}
3639
return AppiumResponse(sessionId, parsedCaps);
3740
}

server/lib/src/runner.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import 'package:package_info_plus/package_info_plus.dart';
1010
const MAX_TEST_DURATION_SECS = 24 * 60 * 60;
1111
// Need a better way to fetch this for automated release, this needs to be updated along with version bump
1212
// Can stay for now as it is not a breaking change
13-
const serverVersion = '0.0.31';
13+
const serverVersion = '0.0.32';
1414

1515
Future<void> initializeTest({Widget? app, Function? callback}) async {
1616
IntegrationTestWidgetsFlutterBinding binding =

server/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: appium_flutter_server
22
description: "Appium Flutter server using Integration Test package for testing Flutter apps with Appium"
3-
version: 0.0.31
3+
version: 0.0.32
44
homepage: "https://github.com/AppiumTestDistribution/appium-flutter-server"
55

66
environment:

0 commit comments

Comments
 (0)