/**
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
*
* Do not edit this file as changes may cause incorrect behavior and will be lost
* once the code is regenerated.
*
* @generated by codegen project: GeneratePropsJavaDelegate.js
*/

package com.facebook.react.viewmanagers;

import android.view.View;
import androidx.annotation.Nullable;
import com.facebook.react.uimanager.BaseViewManager;
import com.facebook.react.uimanager.BaseViewManagerDelegate;
import com.facebook.react.uimanager.LayoutShadowNode;

public class OTRNPublisherManagerDelegate<T extends View, U extends BaseViewManager<T, ? extends LayoutShadowNode> & OTRNPublisherManagerInterface<T>> extends BaseViewManagerDelegate<T, U> {
  public OTRNPublisherManagerDelegate(U viewManager) {
    super(viewManager);
  }
  @Override
  public void setProperty(T view, String propName, @Nullable Object value) {
    switch (propName) {
      case "sessionId":
        mViewManager.setSessionId(view, value == null ? null : (String) value);
        break;
      case "publisherId":
        mViewManager.setPublisherId(view, value == null ? null : (String) value);
        break;
      case "publishAudio":
        mViewManager.setPublishAudio(view, value == null ? false : (boolean) value);
        break;
      case "publishVideo":
        mViewManager.setPublishVideo(view, value == null ? false : (boolean) value);
        break;
      case "publishCaptions":
        mViewManager.setPublishCaptions(view, value == null ? false : (boolean) value);
        break;
      case "audioBitrate":
        mViewManager.setAudioBitrate(view, value == null ? 0 : ((Double) value).intValue());
        break;
      case "publisherAudioFallback":
        mViewManager.setPublisherAudioFallback(view, value == null ? false : (boolean) value);
        break;
      case "subscriberAudioFallback":
        mViewManager.setSubscriberAudioFallback(view, value == null ? false : (boolean) value);
        break;
      case "audioTrack":
        mViewManager.setAudioTrack(view, value == null ? false : (boolean) value);
        break;
      case "cameraPosition":
        mViewManager.setCameraPosition(view, value == null ? null : (String) value);
        break;
      case "cameraTorch":
        mViewManager.setCameraTorch(view, value == null ? false : (boolean) value);
        break;
      case "cameraZoomFactor":
        mViewManager.setCameraZoomFactor(view, value == null ? 0f : ((Double) value).floatValue());
        break;
      case "enableDtx":
        mViewManager.setEnableDtx(view, value == null ? false : (boolean) value);
        break;
      case "frameRate":
        mViewManager.setFrameRate(view, value == null ? 0 : ((Double) value).intValue());
        break;
      case "name":
        mViewManager.setName(view, value == null ? null : (String) value);
        break;
      case "resolution":
        mViewManager.setResolution(view, value == null ? null : (String) value);
        break;
      case "scalableScreenshare":
        mViewManager.setScalableScreenshare(view, value == null ? false : (boolean) value);
        break;
      case "allowAudioCaptureWhileMuted":
        mViewManager.setAllowAudioCaptureWhileMuted(view, value == null ? false : (boolean) value);
        break;
      case "audioFallbackEnabled":
        mViewManager.setAudioFallbackEnabled(view, value == null ? false : (boolean) value);
        break;
      case "videoTrack":
        mViewManager.setVideoTrack(view, value == null ? false : (boolean) value);
        break;
      case "videoSource":
        mViewManager.setVideoSource(view, value == null ? null : (String) value);
        break;
      case "videoContentHint":
        mViewManager.setVideoContentHint(view, value == null ? null : (String) value);
        break;
      case "maxVideoBitrate":
        mViewManager.setMaxVideoBitrate(view, value == null ? 0 : ((Double) value).intValue());
        break;
      case "videoBitratePreset":
        mViewManager.setVideoBitratePreset(view, value == null ? null : (String) value);
        break;
      case "scaleBehavior":
        mViewManager.setScaleBehavior(view, value == null ? null : (String) value);
        break;
      case "publishSenderStats":
        mViewManager.setPublishSenderStats(view, value == null ? false : (boolean) value);
        break;
      case "preferredVideoCodecs":
        mViewManager.setPreferredVideoCodecs(view, value == null ? null : (String) value);
        break;
      default:
        super.setProperty(view, propName, value);
    }
  }
}
