Skip to content

Commit

Permalink
fix: remove runtime warning by replacing UIManager.RCTVideo with `U…
Browse files Browse the repository at this point in the history
…IManager.getViewManagerConfig('RCTVideo')` (and ensuring backwards compat) (TheWidlarzGroup#1487)

* replaced UIManager.RCTVideo >  UIManager.getViewManagerConfig('RCTVideo')

* added requested changes

* updated changelog.md

* docs: adjust wording
  • Loading branch information
nitishxyz authored and AnteWall committed Mar 1, 2019
1 parent bc405f8 commit dfd2d26
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 6 deletions.
2 changes: 1 addition & 1 deletion .eslintrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"extends": "airbnb",
"parser": "babel-eslint"
}
}
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## Changelog

### next

* Fix runtime warning by replacing `UIManager.RCTVideo` with `UIManager.getViewManagerConfig('RCTVideo')` (and ensuring backwards compat) [#1487](https://github.com/react-native-community/react-native-video/pull/1487)
* Fix loading package resolved videos when using video-caching [#1438](https://github.com/react-native-community/react-native-video/pull/1438)
* Fix "message sent to deallocated instance" crash on ios [#1482](https://github.com/react-native-community/react-native-video/pull/1482)

Expand Down
17 changes: 13 additions & 4 deletions Video.js
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,13 @@ export default class Video extends Component {
}
};

getViewManagerConfig = viewManagerName => {
if (!UIManager.getViewManagerConfig) {
return UIManager[viewManagerName];
}
return UIManager.getViewManagerConfig(viewManagerName);
};

render() {
const resizeMode = this.props.resizeMode;
const source = resolveAssetSource(this.props.source) || {};
Expand All @@ -242,14 +249,16 @@ export default class Video extends Component {
const isAsset = !!(uri && uri.match(/^(assets-library|ipod-library|file|content|ms-appx|ms-appdata):/));

let nativeResizeMode;
const RCTVideoInstance = this.getViewManagerConfig('RCTVideo');

if (resizeMode === VideoResizeMode.stretch) {
nativeResizeMode = NativeModules.UIManager.RCTVideo.Constants.ScaleToFill;
nativeResizeMode = RCTVideoInstance.Constants.ScaleToFill;
} else if (resizeMode === VideoResizeMode.contain) {
nativeResizeMode = NativeModules.UIManager.RCTVideo.Constants.ScaleAspectFit;
nativeResizeMode = RCTVideoInstance.Constants.ScaleAspectFit;
} else if (resizeMode === VideoResizeMode.cover) {
nativeResizeMode = NativeModules.UIManager.RCTVideo.Constants.ScaleAspectFill;
nativeResizeMode = RCTVideoInstance.Constants.ScaleAspectFill;
} else {
nativeResizeMode = NativeModules.UIManager.RCTVideo.Constants.ScaleNone;
nativeResizeMode = RCTVideoInstance.Constants.ScaleNone;
}

const nativeProps = Object.assign({}, this.props);
Expand Down

0 comments on commit dfd2d26

Please sign in to comment.