|  | @@ -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];
 |