public void setViroContext(ViroContext context) {
        super.setViroContext(context);
        // CCheck if this material has video materials. Reset the materials if we do.
        if (mMaterials != null) {
            boolean materialsChanged = false;
            ArrayList<Material> nativeMaterials = new ArrayList<>();
            MaterialManager materialManager = getReactContext().getNativeModule(MaterialManager.class);
            for (int i = 0; i < mMaterials.size(); i++) {
                String materialName = mMaterials.get(i).getName();
                Material nativeMaterial = materialManager.getMaterial(materialName);
                if (materialManager.isVideoMaterial(materialName)) {
                    if (!(nativeMaterial.getDiffuseTexture() instanceof VideoTexture)) {
                        // Recreate the material with the proper context.
                            MaterialManager.MaterialWrapper materialWrapper = materialManager.getMaterialWrapper(materialName);
                            VideoTexture videoTexture = new VideoTexture(context, materialWrapper.getVideoTextureURI());
                            materialWrapper.recreate(videoTexture);
                            nativeMaterial = materialWrapper.getNativeMaterial();
                            materialsChanged = true;
                    }
                }

                if (nativeMaterial == null) {
                    throw new IllegalArgumentException("Material [" + materialName + "] not found. Did you create it?");
                }

                nativeMaterials.add(nativeMaterial);
            }

            if (materialsChanged) {
                setMaterials(nativeMaterials);
            }
        }

        if (hasPhysicsBody) {
            if (mPhysicsDelegate != null) {
                mNodeJni.getPhysicsBody().setCollisionListener(mPhysicsDelegate);
            } else {
                mNodeJni.getPhysicsBody().setCollisionListener(null);
            }
        }
    }
Explicitly call setMaterials again with mMaterials. Allows children who override
setMaterials to modify them.
android/viro_bridge/src/main/java/com/viromedia/bridge/component/node/VRTNode.java