@@ -30,19 +30,38 @@ - (BOOL)fb_setDeviceRotation:(NSDictionary *)rotationObj
3030 if (keysForRotationObj.count == 0 ) {
3131 return NO ;
3232 }
33- NSInteger orientation = keysForRotationObj.firstObject .integerValue ;
33+ UIDeviceOrientation orientation = (UIDeviceOrientation) keysForRotationObj.firstObject .integerValue ;
3434 XCUIApplication *application = XCUIApplication.fb_activeApplication ;
3535 [XCUIDevice sharedDevice ].orientation = orientation;
3636 return [self waitUntilInterfaceIsAtOrientation: orientation application: application];
3737}
3838
39- - (BOOL )waitUntilInterfaceIsAtOrientation : (NSInteger )orientation application : (XCUIApplication *)application
39+ static UIInterfaceOrientation FBInterfaceOrientationFromDeviceOrientation (UIDeviceOrientation orientation)
40+ {
41+ switch (orientation) {
42+ case UIDeviceOrientationPortrait:
43+ return UIInterfaceOrientationPortrait;
44+ case UIDeviceOrientationPortraitUpsideDown:
45+ return UIInterfaceOrientationPortraitUpsideDown;
46+ case UIDeviceOrientationLandscapeLeft:
47+ return UIInterfaceOrientationLandscapeRight;
48+ case UIDeviceOrientationLandscapeRight:
49+ return UIInterfaceOrientationLandscapeLeft;
50+ case UIDeviceOrientationUnknown:
51+ case UIDeviceOrientationFaceUp:
52+ case UIDeviceOrientationFaceDown:
53+ default :
54+ return UIInterfaceOrientationUnknown;
55+ }
56+ }
57+
58+ - (BOOL )waitUntilInterfaceIsAtOrientation : (UIDeviceOrientation)orientation application : (XCUIApplication *)application
4059{
4160 // Tapping elements immediately after rotation may fail due to way UIKit is handling touches.
4261 // We should wait till UI cools off, before continuing
4362 [application fb_waitUntilStableWithTimeout: FBConfiguration.animationCoolOffTimeout];
4463
45- return application.interfaceOrientation == orientation;
64+ return application.interfaceOrientation == FBInterfaceOrientationFromDeviceOrientation ( orientation) ;
4665}
4766
4867- (NSDictionary *)fb_rotationMapping
0 commit comments