| 
				
			 | 
			
			
				@@ -42,6 +42,12 @@ static NSURLCredential* clientAuthenticationCredential; 
			 | 
		
	
		
			
			| 
				42
			 | 
			
				42
			 | 
			
			
				   UIColor * _savedBackgroundColor; 
			 | 
		
	
		
			
			| 
				43
			 | 
			
				43
			 | 
			
			
				   BOOL _savedHideKeyboardAccessoryView; 
			 | 
		
	
		
			
			| 
				44
			 | 
			
				44
			 | 
			
			
				   BOOL _savedKeyboardDisplayRequiresUserAction; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				45
			 | 
			
			
				+   
			 | 
		
	
		
			
			| 
				
			 | 
			
				46
			 | 
			
			
				+  // Workaround for StatusBar appearance bug for iOS 12 
			 | 
		
	
		
			
			| 
				
			 | 
			
				47
			 | 
			
			
				+  // https://github.com/react-native-community/react-native-webview/issues/62 
			 | 
		
	
		
			
			| 
				
			 | 
			
				48
			 | 
			
			
				+  BOOL _isFullScreenVideoOpen; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				49
			 | 
			
			
				+  UIStatusBarStyle _savedStatusBarStyle; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				50
			 | 
			
			
				+  BOOL _savedStatusBarHidden; 
			 | 
		
	
		
			
			| 
				45
			 | 
			
				51
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				46
			 | 
			
				52
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				47
			 | 
			
				53
			 | 
			
			
				 - (instancetype)initWithFrame:(CGRect)frame 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -56,11 +62,13 @@ static NSURLCredential* clientAuthenticationCredential; 
			 | 
		
	
		
			
			| 
				56
			 | 
			
				62
			 | 
			
			
				     _automaticallyAdjustContentInsets = YES; 
			 | 
		
	
		
			
			| 
				57
			 | 
			
				63
			 | 
			
			
				     _contentInset = UIEdgeInsetsZero; 
			 | 
		
	
		
			
			| 
				58
			 | 
			
				64
			 | 
			
			
				     _savedKeyboardDisplayRequiresUserAction = YES; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				65
			 | 
			
			
				+    _savedStatusBarStyle = RCTSharedApplication().statusBarStyle; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				66
			 | 
			
			
				+    _savedStatusBarHidden = RCTSharedApplication().statusBarHidden; 
			 | 
		
	
		
			
			| 
				59
			 | 
			
				67
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				60
			 | 
			
				68
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				61
			 | 
			
				
			 | 
			
			
				-  // Workaround for a keyboard dismissal bug present in iOS 12 
			 | 
		
	
		
			
			| 
				62
			 | 
			
				
			 | 
			
			
				-  // https://openradar.appspot.com/radar?id=5018321736957952 
			 | 
		
	
		
			
			| 
				63
			 | 
			
				69
			 | 
			
			
				   if (@available(iOS 12.0, *)) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				70
			 | 
			
			
				+    // Workaround for a keyboard dismissal bug present in iOS 12 
			 | 
		
	
		
			
			| 
				
			 | 
			
				71
			 | 
			
			
				+    // https://openradar.appspot.com/radar?id=5018321736957952 
			 | 
		
	
		
			
			| 
				64
			 | 
			
				72
			 | 
			
			
				     [[NSNotificationCenter defaultCenter] 
			 | 
		
	
		
			
			| 
				65
			 | 
			
				73
			 | 
			
			
				       addObserver:self 
			 | 
		
	
		
			
			| 
				66
			 | 
			
				74
			 | 
			
			
				       selector:@selector(keyboardWillHide) 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -69,8 +77,12 @@ static NSURLCredential* clientAuthenticationCredential; 
			 | 
		
	
		
			
			| 
				69
			 | 
			
				77
			 | 
			
			
				       addObserver:self 
			 | 
		
	
		
			
			| 
				70
			 | 
			
				78
			 | 
			
			
				       selector:@selector(keyboardWillShow) 
			 | 
		
	
		
			
			| 
				71
			 | 
			
				79
			 | 
			
			
				       name:UIKeyboardWillShowNotification object:nil]; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				80
			 | 
			
			
				+     
			 | 
		
	
		
			
			| 
				
			 | 
			
				81
			 | 
			
			
				+    // Workaround for StatusBar appearance bug for iOS 12 
			 | 
		
	
		
			
			| 
				
			 | 
			
				82
			 | 
			
			
				+    // https://github.com/react-native-community/react-native-webview/issues/62 
			 | 
		
	
		
			
			| 
				
			 | 
			
				83
			 | 
			
			
				+    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(toggleFullScreenVideoStatusBars) name:@"_MRMediaRemotePlayerSupportedCommandsDidChangeNotification" object:nil]; 
			 | 
		
	
		
			
			| 
				72
			 | 
			
				84
			 | 
			
			
				   } 
			 | 
		
	
		
			
			| 
				73
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				
			 | 
			
				85
			 | 
			
			
				+   
			 | 
		
	
		
			
			| 
				74
			 | 
			
				86
			 | 
			
			
				   return self; 
			 | 
		
	
		
			
			| 
				75
			 | 
			
				87
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				76
			 | 
			
				88
			 | 
			
			
				  
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -241,6 +253,24 @@ static NSURLCredential* clientAuthenticationCredential; 
			 | 
		
	
		
			
			| 
				241
			 | 
			
				253
			 | 
			
			
				     [super removeFromSuperview]; 
			 | 
		
	
		
			
			| 
				242
			 | 
			
				254
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				243
			 | 
			
				255
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				
			 | 
			
				256
			 | 
			
			
				+-(void)toggleFullScreenVideoStatusBars 
			 | 
		
	
		
			
			| 
				
			 | 
			
				257
			 | 
			
			
				+{ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				258
			 | 
			
			
				+#pragma clang diagnostic ignored "-Wdeprecated-declarations" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				259
			 | 
			
			
				+  if (!_isFullScreenVideoOpen) { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				260
			 | 
			
			
				+    _isFullScreenVideoOpen = YES; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				261
			 | 
			
			
				+    RCTUnsafeExecuteOnMainQueueSync(^{ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				262
			 | 
			
			
				+      [RCTSharedApplication() setStatusBarStyle:UIStatusBarStyleLightContent animated:YES]; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				263
			 | 
			
			
				+    }); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				264
			 | 
			
			
				+  } else { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				265
			 | 
			
			
				+    _isFullScreenVideoOpen = NO; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				266
			 | 
			
			
				+    RCTUnsafeExecuteOnMainQueueSync(^{ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				267
			 | 
			
			
				+      [RCTSharedApplication() setStatusBarHidden:_savedStatusBarHidden animated:YES]; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				268
			 | 
			
			
				+      [RCTSharedApplication() setStatusBarStyle:_savedStatusBarStyle animated:YES]; 
			 | 
		
	
		
			
			| 
				
			 | 
			
				269
			 | 
			
			
				+    }); 
			 | 
		
	
		
			
			| 
				
			 | 
			
				270
			 | 
			
			
				+  } 
			 | 
		
	
		
			
			| 
				
			 | 
			
				271
			 | 
			
			
				+#pragma clang diagnostic pop 
			 | 
		
	
		
			
			| 
				
			 | 
			
				272
			 | 
			
			
				+} 
			 | 
		
	
		
			
			| 
				
			 | 
			
				273
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				244
			 | 
			
				274
			 | 
			
			
				 -(void)keyboardWillHide 
			 | 
		
	
		
			
			| 
				245
			 | 
			
				275
			 | 
			
			
				 { 
			 | 
		
	
		
			
			| 
				246
			 | 
			
				276
			 | 
			
			
				     keyboardTimer = [NSTimer scheduledTimerWithTimeInterval:0 target:self selector:@selector(keyboardDisplacementFix) userInfo:nil repeats:false]; 
			 |