onModelChange method

  1. @override
dynamic onModelChange(
  1. WidgetModel model, {
  2. String? property,
  3. dynamic value,
})

Callback to fire the CameraViewState.build when the CameraModel changes

Implementation

@override
onModelChange(WidgetModel model, {String? property, dynamic value}) {
  if (mounted) {
    var b = Binding.fromString(property);
    switch (b?.property) {
      // changed camera
      case 'index':
        reconfigureCameras();
        break;

      // enable/disable
      case 'enabled':
        widget.model.enabled ? start() : stop();
        break;

      // visible/hidden
      case 'visible':

        // stop the camera
        if (!widget.model.visible) {
          stop();
          setState(() {});
          break;
        }

        // start the camera
        if (controller != null) {
          start();
          setState(() {});
          break;
        }

        // initialize the camera
        else {
          reconfigureCameras();
        }
        break;
    }
  }
}