public override void OnError(CameraDevice camera, CameraError error) { this.tracer.Error("CameraStateListener.OnError: CameraError={0}", error.ToString()); if (this.Fragment != null) { this.Fragment.mCameraOpenCloseLock.Release(); camera.Close(); this.Fragment.cameraDevice = null; Activity activity = this.Fragment.Activity; if (activity != null) { activity.Finish(); } } }
internal static void ThrowIfError(CameraError errorCode, string errorMessage = null, [CallerMemberName] string caller = null, [CallerLineNumber] int line = 0) { if (errorCode == CameraError.None) { return; } Log.Info(CameraLog.Tag, "errorCode : " + errorCode.ToString() + ", Caller : " + caller + ", line " + line.ToString()); switch (errorCode) { case CameraError.InvalidParameter: throw new ArgumentException(errorMessage); case CameraError.OutOfMemory: throw new OutOfMemoryException(errorMessage); case CameraError.DeviceError: case CameraError.DeviceBusy: case CameraError.Esd: throw new CameraDeviceException(errorMessage); case CameraError.DeviceNotFound: throw new CameraDeviceNotFoundException(errorMessage); case CameraError.SecurityRestricted: case CameraError.PermissionDenied: throw new UnauthorizedAccessException(errorMessage); case CameraError.NotSupported: throw new NotSupportedException(errorMessage); case CameraError.InvalidState: case CameraError.InvalidOperation: case CameraError.ResourceConflict: case CameraError.ServiceDisconnected: throw new InvalidOperationException(errorMessage); default: throw new Exception("Unknown error : " + errorCode); } }
public void OnError(CameraError error, Camera camera) { _cameraModule.ErrorMessage = error.ToString(); }
internal void MakeError(CameraError error) { OnError?.Invoke(error.ToString()); }