switchCamera method Null safety

Future<bool> switchCamera()

a utility method which can be used to switch camera of user device if it has more than one camera

Implementation

Future<bool> switchCamera() async {
  MediaStreamTrack? videoTrack;
  if (webRTCHandle!.localStream != null) {
    videoTrack = webRTCHandle!.localStream!.getVideoTracks().firstWhere((track) => track.kind == "video");
    return await Helper.switchCamera(videoTrack);
  } else {
    if (webRTCHandle!.peerConnection!.getLocalStreams().length > 0) {
      videoTrack = webRTCHandle?.peerConnection?.getLocalStreams().first?.getVideoTracks().firstWhereOrNull((track) => track.kind == "video");
      if (videoTrack != null) {
        return await Helper.switchCamera(videoTrack);
      }
    }
    throw "Media devices and stream not initialized,try calling initializeMediaDevices() ";
  }
}