Skip to content

[camera][regression] App fatally crashes when quickly switching cameras only on Android #89431

@TahaTesser

Description

@TahaTesser

Description

When running an official sample and quickly switching cameras fatally crashes the app on Android, doesn't reproduce on iPhone (iOS 15).

The crash is reproduced on multiple Android devices

Reproducible code sample

complete minimal runnable code sample
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// ignore_for_file: public_member_api_docs

import 'dart:async';
import 'dart:io';

import 'package:camera/camera.dart';
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';

class CameraExampleHome extends StatefulWidget {
  @override
  _CameraExampleHomeState createState() {
    return _CameraExampleHomeState();
  }
}

/// Returns a suitable camera icon for [direction].
IconData getCameraLensIcon(CameraLensDirection direction) {
  switch (direction) {
    case CameraLensDirection.back:
      return Icons.camera_rear;
    case CameraLensDirection.front:
      return Icons.camera_front;
    case CameraLensDirection.external:
      return Icons.camera;
    default:
      throw ArgumentError('Unknown lens direction');
  }
}

void logError(String code, String? message) {
  if (message != null) {
    print('Error: $code\nError Message: $message');
  } else {
    print('Error: $code');
  }
}

class _CameraExampleHomeState extends State<CameraExampleHome>
    with WidgetsBindingObserver, TickerProviderStateMixin {
  CameraController? controller;
  XFile? imageFile;
  XFile? videoFile;
  VideoPlayerController? videoController;
  VoidCallback? videoPlayerListener;
  bool enableAudio = true;
  double _minAvailableExposureOffset = 0.0;
  double _maxAvailableExposureOffset = 0.0;
  double _currentExposureOffset = 0.0;
  late AnimationController _flashModeControlRowAnimationController;
  late Animation<double> _flashModeControlRowAnimation;
  late AnimationController _exposureModeControlRowAnimationController;
  late Animation<double> _exposureModeControlRowAnimation;
  late AnimationController _focusModeControlRowAnimationController;
  late Animation<double> _focusModeControlRowAnimation;
  double _minAvailableZoom = 1.0;
  double _maxAvailableZoom = 1.0;
  double _currentScale = 1.0;
  double _baseScale = 1.0;

  // Counting pointers (number of user fingers on screen)
  int _pointers = 0;

  @override
  void initState() {
    super.initState();
    _ambiguate(WidgetsBinding.instance)?.addObserver(this);

    _flashModeControlRowAnimationController = AnimationController(
      duration: const Duration(milliseconds: 300),
      vsync: this,
    );
    _flashModeControlRowAnimation = CurvedAnimation(
      parent: _flashModeControlRowAnimationController,
      curve: Curves.easeInCubic,
    );
    _exposureModeControlRowAnimationController = AnimationController(
      duration: const Duration(milliseconds: 300),
      vsync: this,
    );
    _exposureModeControlRowAnimation = CurvedAnimation(
      parent: _exposureModeControlRowAnimationController,
      curve: Curves.easeInCubic,
    );
    _focusModeControlRowAnimationController = AnimationController(
      duration: const Duration(milliseconds: 300),
      vsync: this,
    );
    _focusModeControlRowAnimation = CurvedAnimation(
      parent: _focusModeControlRowAnimationController,
      curve: Curves.easeInCubic,
    );
  }

  @override
  void dispose() {
    _ambiguate(WidgetsBinding.instance)?.removeObserver(this);
    _flashModeControlRowAnimationController.dispose();
    _exposureModeControlRowAnimationController.dispose();
    super.dispose();
  }

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    final CameraController? cameraController = controller;

    // App state changed before we got the chance to initialize.
    if (cameraController == null || !cameraController.value.isInitialized) {
      return;
    }

    if (state == AppLifecycleState.inactive) {
      cameraController.dispose();
    } else if (state == AppLifecycleState.resumed) {
      onNewCameraSelected(cameraController.description);
    }
  }

  final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      key: _scaffoldKey,
      appBar: AppBar(
        title: const Text('Camera example'),
      ),
      body: Column(
        children: <Widget>[
          Expanded(
            child: Container(
              child: Padding(
                padding: const EdgeInsets.all(1.0),
                child: Center(
                  child: _cameraPreviewWidget(),
                ),
              ),
              decoration: BoxDecoration(
                color: Colors.black,
                border: Border.all(
                  color:
                      controller != null && controller!.value.isRecordingVideo
                          ? Colors.redAccent
                          : Colors.grey,
                  width: 3.0,
                ),
              ),
            ),
          ),
          _captureControlRowWidget(),
          _modeControlRowWidget(),
          Padding(
            padding: const EdgeInsets.all(5.0),
            child: Row(
              mainAxisAlignment: MainAxisAlignment.start,
              children: <Widget>[
                _cameraTogglesRowWidget(),
                _thumbnailWidget(),
              ],
            ),
          ),
        ],
      ),
    );
  }

  /// Display the preview from the camera (or a message if the preview is not available).
  Widget _cameraPreviewWidget() {
    final CameraController? cameraController = controller;

    if (cameraController == null || !cameraController.value.isInitialized) {
      return const Text(
        'Tap a camera',
        style: TextStyle(
          color: Colors.white,
          fontSize: 24.0,
          fontWeight: FontWeight.w900,
        ),
      );
    } else {
      return Listener(
        onPointerDown: (_) => _pointers++,
        onPointerUp: (_) => _pointers--,
        child: CameraPreview(
          controller!,
          child: LayoutBuilder(
              builder: (BuildContext context, BoxConstraints constraints) {
            return GestureDetector(
              behavior: HitTestBehavior.opaque,
              onScaleStart: _handleScaleStart,
              onScaleUpdate: _handleScaleUpdate,
              onTapDown: (details) => onViewFinderTap(details, constraints),
            );
          }),
        ),
      );
    }
  }

  void _handleScaleStart(ScaleStartDetails details) {
    _baseScale = _currentScale;
  }

  Future<void> _handleScaleUpdate(ScaleUpdateDetails details) async {
    // When there are not exactly two fingers on screen don't scale
    if (controller == null || _pointers != 2) {
      return;
    }

    _currentScale = (_baseScale * details.scale)
        .clamp(_minAvailableZoom, _maxAvailableZoom);

    await controller!.setZoomLevel(_currentScale);
  }

  /// Display the thumbnail of the captured image or video.
  Widget _thumbnailWidget() {
    final VideoPlayerController? localVideoController = videoController;

    return Expanded(
      child: Align(
        alignment: Alignment.centerRight,
        child: Row(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            localVideoController == null && imageFile == null
                ? Container()
                : SizedBox(
                    child: (localVideoController == null)
                        ? Image.file(File(imageFile!.path))
                        : Container(
                            child: Center(
                              child: AspectRatio(
                                  aspectRatio:
                                      localVideoController.value.size != null
                                          ? localVideoController
                                              .value.aspectRatio
                                          : 1.0,
                                  child: VideoPlayer(localVideoController)),
                            ),
                            decoration: BoxDecoration(
                                border: Border.all(color: Colors.pink)),
                          ),
                    width: 64.0,
                    height: 64.0,
                  ),
          ],
        ),
      ),
    );
  }

  /// Display a bar with buttons to change the flash and exposure modes
  Widget _modeControlRowWidget() {
    return Column(
      children: [
        Row(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          mainAxisSize: MainAxisSize.max,
          children: <Widget>[
            IconButton(
              icon: Icon(Icons.flash_on),
              color: Colors.blue,
              onPressed: controller != null ? onFlashModeButtonPressed : null,
            ),
            IconButton(
              icon: Icon(Icons.exposure),
              color: Colors.blue,
              onPressed:
                  controller != null ? onExposureModeButtonPressed : null,
            ),
            IconButton(
              icon: Icon(Icons.filter_center_focus),
              color: Colors.blue,
              onPressed: controller != null ? onFocusModeButtonPressed : null,
            ),
            IconButton(
              icon: Icon(enableAudio ? Icons.volume_up : Icons.volume_mute),
              color: Colors.blue,
              onPressed: controller != null ? onAudioModeButtonPressed : null,
            ),
            IconButton(
              icon: Icon(controller?.value.isCaptureOrientationLocked ?? false
                  ? Icons.screen_lock_rotation
                  : Icons.screen_rotation),
              color: Colors.blue,
              onPressed: controller != null
                  ? onCaptureOrientationLockButtonPressed
                  : null,
            ),
          ],
        ),
        _flashModeControlRowWidget(),
        _exposureModeControlRowWidget(),
        _focusModeControlRowWidget(),
      ],
    );
  }

  Widget _flashModeControlRowWidget() {
    return SizeTransition(
      sizeFactor: _flashModeControlRowAnimation,
      child: ClipRect(
        child: Row(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          mainAxisSize: MainAxisSize.max,
          children: [
            IconButton(
              icon: Icon(Icons.flash_off),
              color: controller?.value.flashMode == FlashMode.off
                  ? Colors.orange
                  : Colors.blue,
              onPressed: controller != null
                  ? () => onSetFlashModeButtonPressed(FlashMode.off)
                  : null,
            ),
            IconButton(
              icon: Icon(Icons.flash_auto),
              color: controller?.value.flashMode == FlashMode.auto
                  ? Colors.orange
                  : Colors.blue,
              onPressed: controller != null
                  ? () => onSetFlashModeButtonPressed(FlashMode.auto)
                  : null,
            ),
            IconButton(
              icon: Icon(Icons.flash_on),
              color: controller?.value.flashMode == FlashMode.always
                  ? Colors.orange
                  : Colors.blue,
              onPressed: controller != null
                  ? () => onSetFlashModeButtonPressed(FlashMode.always)
                  : null,
            ),
            IconButton(
              icon: Icon(Icons.highlight),
              color: controller?.value.flashMode == FlashMode.torch
                  ? Colors.orange
                  : Colors.blue,
              onPressed: controller != null
                  ? () => onSetFlashModeButtonPressed(FlashMode.torch)
                  : null,
            ),
          ],
        ),
      ),
    );
  }

  Widget _exposureModeControlRowWidget() {
    final ButtonStyle styleAuto = TextButton.styleFrom(
      primary: controller?.value.exposureMode == ExposureMode.auto
          ? Colors.orange
          : Colors.blue,
    );
    final ButtonStyle styleLocked = TextButton.styleFrom(
      primary: controller?.value.exposureMode == ExposureMode.locked
          ? Colors.orange
          : Colors.blue,
    );

    return SizeTransition(
      sizeFactor: _exposureModeControlRowAnimation,
      child: ClipRect(
        child: Container(
          color: Colors.grey.shade50,
          child: Column(
            children: [
              Center(
                child: Text("Exposure Mode"),
              ),
              Row(
                mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                mainAxisSize: MainAxisSize.max,
                children: [
                  TextButton(
                    child: Text('AUTO'),
                    style: styleAuto,
                    onPressed: controller != null
                        ? () =>
                            onSetExposureModeButtonPressed(ExposureMode.auto)
                        : null,
                    onLongPress: () {
                      if (controller != null) {
                        controller!.setExposurePoint(null);
                        showInSnackBar('Resetting exposure point');
                      }
                    },
                  ),
                  TextButton(
                    child: Text('LOCKED'),
                    style: styleLocked,
                    onPressed: controller != null
                        ? () =>
                            onSetExposureModeButtonPressed(ExposureMode.locked)
                        : null,
                  ),
                ],
              ),
              Center(
                child: Text("Exposure Offset"),
              ),
              Row(
                mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                mainAxisSize: MainAxisSize.max,
                children: [
                  Text(_minAvailableExposureOffset.toString()),
                  Slider(
                    value: _currentExposureOffset,
                    min: _minAvailableExposureOffset,
                    max: _maxAvailableExposureOffset,
                    label: _currentExposureOffset.toString(),
                    onChanged: _minAvailableExposureOffset ==
                            _maxAvailableExposureOffset
                        ? null
                        : setExposureOffset,
                  ),
                  Text(_maxAvailableExposureOffset.toString()),
                ],
              ),
            ],
          ),
        ),
      ),
    );
  }

  Widget _focusModeControlRowWidget() {
    final ButtonStyle styleAuto = TextButton.styleFrom(
      primary: controller?.value.focusMode == FocusMode.auto
          ? Colors.orange
          : Colors.blue,
    );
    final ButtonStyle styleLocked = TextButton.styleFrom(
      primary: controller?.value.focusMode == FocusMode.locked
          ? Colors.orange
          : Colors.blue,
    );

    return SizeTransition(
      sizeFactor: _focusModeControlRowAnimation,
      child: ClipRect(
        child: Container(
          color: Colors.grey.shade50,
          child: Column(
            children: [
              Center(
                child: Text("Focus Mode"),
              ),
              Row(
                mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                mainAxisSize: MainAxisSize.max,
                children: [
                  TextButton(
                    child: Text('AUTO'),
                    style: styleAuto,
                    onPressed: controller != null
                        ? () => onSetFocusModeButtonPressed(FocusMode.auto)
                        : null,
                    onLongPress: () {
                      if (controller != null) controller!.setFocusPoint(null);
                      showInSnackBar('Resetting focus point');
                    },
                  ),
                  TextButton(
                    child: Text('LOCKED'),
                    style: styleLocked,
                    onPressed: controller != null
                        ? () => onSetFocusModeButtonPressed(FocusMode.locked)
                        : null,
                  ),
                ],
              ),
            ],
          ),
        ),
      ),
    );
  }

  /// Display the control bar with buttons to take pictures and record videos.
  Widget _captureControlRowWidget() {
    final CameraController? cameraController = controller;

    return Row(
      mainAxisAlignment: MainAxisAlignment.spaceEvenly,
      mainAxisSize: MainAxisSize.max,
      children: <Widget>[
        IconButton(
          icon: const Icon(Icons.camera_alt),
          color: Colors.blue,
          onPressed: cameraController != null &&
                  cameraController.value.isInitialized &&
                  !cameraController.value.isRecordingVideo
              ? onTakePictureButtonPressed
              : null,
        ),
        IconButton(
          icon: const Icon(Icons.videocam),
          color: Colors.blue,
          onPressed: cameraController != null &&
                  cameraController.value.isInitialized &&
                  !cameraController.value.isRecordingVideo
              ? onVideoRecordButtonPressed
              : null,
        ),
        IconButton(
          icon: cameraController != null &&
                  cameraController.value.isRecordingPaused
              ? Icon(Icons.play_arrow)
              : Icon(Icons.pause),
          color: Colors.blue,
          onPressed: cameraController != null &&
                  cameraController.value.isInitialized &&
                  cameraController.value.isRecordingVideo
              ? (cameraController.value.isRecordingPaused)
                  ? onResumeButtonPressed
                  : onPauseButtonPressed
              : null,
        ),
        IconButton(
          icon: const Icon(Icons.stop),
          color: Colors.red,
          onPressed: cameraController != null &&
                  cameraController.value.isInitialized &&
                  cameraController.value.isRecordingVideo
              ? onStopButtonPressed
              : null,
        ),
        IconButton(
          icon: const Icon(Icons.pause_presentation),
          color:
              cameraController != null && cameraController.value.isPreviewPaused
                  ? Colors.red
                  : Colors.blue,
          onPressed:
              cameraController == null ? null : onPausePreviewButtonPressed,
        ),
      ],
    );
  }

  /// Display a row of toggle to select the camera (or a message if no camera is available).
  Widget _cameraTogglesRowWidget() {
    final List<Widget> toggles = <Widget>[];

    final onChanged = (CameraDescription? description) {
      if (description == null) {
        return;
      }

      onNewCameraSelected(description);
    };

    if (cameras.isEmpty) {
      return const Text('No camera found');
    } else {
      for (CameraDescription cameraDescription in cameras) {
        toggles.add(
          SizedBox(
            width: 90.0,
            child: RadioListTile<CameraDescription>(
              title: Icon(getCameraLensIcon(cameraDescription.lensDirection)),
              groupValue: controller?.description,
              value: cameraDescription,
              onChanged:
                  controller != null && controller!.value.isRecordingVideo
                      ? null
                      : onChanged,
            ),
          ),
        );
      }
    }

    return Row(children: toggles);
  }

  String timestamp() => DateTime.now().millisecondsSinceEpoch.toString();

  void showInSnackBar(String message) {
    // ignore: deprecated_member_use
    _scaffoldKey.currentState?.showSnackBar(SnackBar(content: Text(message)));
  }

  void onViewFinderTap(TapDownDetails details, BoxConstraints constraints) {
    if (controller == null) {
      return;
    }

    final CameraController cameraController = controller!;

    final offset = Offset(
      details.localPosition.dx / constraints.maxWidth,
      details.localPosition.dy / constraints.maxHeight,
    );
    cameraController.setExposurePoint(offset);
    cameraController.setFocusPoint(offset);
  }

  void onNewCameraSelected(CameraDescription cameraDescription) async {
    if (controller != null) {
      await controller!.dispose();
    }

    final CameraController cameraController = CameraController(
      cameraDescription,
      ResolutionPreset.medium,
      enableAudio: enableAudio,
      imageFormatGroup: ImageFormatGroup.jpeg,
    );

    controller = cameraController;

    // If the controller is updated then update the UI.
    cameraController.addListener(() {
      if (mounted) setState(() {});
      if (cameraController.value.hasError) {
        showInSnackBar(
            'Camera error ${cameraController.value.errorDescription}');
      }
    });

    try {
      await cameraController.initialize();
      await Future.wait([
        cameraController
            .getMinExposureOffset()
            .then((value) => _minAvailableExposureOffset = value),
        cameraController
            .getMaxExposureOffset()
            .then((value) => _maxAvailableExposureOffset = value),
        cameraController
            .getMaxZoomLevel()
            .then((value) => _maxAvailableZoom = value),
        cameraController
            .getMinZoomLevel()
            .then((value) => _minAvailableZoom = value),
      ]);
    } on CameraException catch (e) {
      _showCameraException(e);
    }

    if (mounted) {
      setState(() {});
    }
  }

  void onTakePictureButtonPressed() {
    takePicture().then((XFile? file) {
      if (mounted) {
        setState(() {
          imageFile = file;
          videoController?.dispose();
          videoController = null;
        });
        if (file != null) showInSnackBar('Picture saved to ${file.path}');
      }
    });
  }

  void onFlashModeButtonPressed() {
    if (_flashModeControlRowAnimationController.value == 1) {
      _flashModeControlRowAnimationController.reverse();
    } else {
      _flashModeControlRowAnimationController.forward();
      _exposureModeControlRowAnimationController.reverse();
      _focusModeControlRowAnimationController.reverse();
    }
  }

  void onExposureModeButtonPressed() {
    if (_exposureModeControlRowAnimationController.value == 1) {
      _exposureModeControlRowAnimationController.reverse();
    } else {
      _exposureModeControlRowAnimationController.forward();
      _flashModeControlRowAnimationController.reverse();
      _focusModeControlRowAnimationController.reverse();
    }
  }

  void onFocusModeButtonPressed() {
    if (_focusModeControlRowAnimationController.value == 1) {
      _focusModeControlRowAnimationController.reverse();
    } else {
      _focusModeControlRowAnimationController.forward();
      _flashModeControlRowAnimationController.reverse();
      _exposureModeControlRowAnimationController.reverse();
    }
  }

  void onAudioModeButtonPressed() {
    enableAudio = !enableAudio;
    if (controller != null) {
      onNewCameraSelected(controller!.description);
    }
  }

  void onCaptureOrientationLockButtonPressed() async {
    if (controller != null) {
      final CameraController cameraController = controller!;
      if (cameraController.value.isCaptureOrientationLocked) {
        await cameraController.unlockCaptureOrientation();
        showInSnackBar('Capture orientation unlocked');
      } else {
        await cameraController.lockCaptureOrientation();
        showInSnackBar(
            'Capture orientation locked to ${cameraController.value.lockedCaptureOrientation.toString().split('.').last}');
      }
    }
  }

  void onSetFlashModeButtonPressed(FlashMode mode) {
    setFlashMode(mode).then((_) {
      if (mounted) setState(() {});
      showInSnackBar('Flash mode set to ${mode.toString().split('.').last}');
    });
  }

  void onSetExposureModeButtonPressed(ExposureMode mode) {
    setExposureMode(mode).then((_) {
      if (mounted) setState(() {});
      showInSnackBar('Exposure mode set to ${mode.toString().split('.').last}');
    });
  }

  void onSetFocusModeButtonPressed(FocusMode mode) {
    setFocusMode(mode).then((_) {
      if (mounted) setState(() {});
      showInSnackBar('Focus mode set to ${mode.toString().split('.').last}');
    });
  }

  void onVideoRecordButtonPressed() {
    startVideoRecording().then((_) {
      if (mounted) setState(() {});
    });
  }

  void onStopButtonPressed() {
    stopVideoRecording().then((file) {
      if (mounted) setState(() {});
      if (file != null) {
        showInSnackBar('Video recorded to ${file.path}');
        videoFile = file;
        _startVideoPlayer();
      }
    });
  }

  Future<void> onPausePreviewButtonPressed() async {
    final CameraController? cameraController = controller;

    if (cameraController == null || !cameraController.value.isInitialized) {
      showInSnackBar('Error: select a camera first.');
      return;
    }

    if (cameraController.value.isPreviewPaused) {
      await cameraController.resumePreview();
    } else {
      await cameraController.pausePreview();
    }

    if (mounted) setState(() {});
  }

  void onPauseButtonPressed() {
    pauseVideoRecording().then((_) {
      if (mounted) setState(() {});
      showInSnackBar('Video recording paused');
    });
  }

  void onResumeButtonPressed() {
    resumeVideoRecording().then((_) {
      if (mounted) setState(() {});
      showInSnackBar('Video recording resumed');
    });
  }

  Future<void> startVideoRecording() async {
    final CameraController? cameraController = controller;

    if (cameraController == null || !cameraController.value.isInitialized) {
      showInSnackBar('Error: select a camera first.');
      return;
    }

    if (cameraController.value.isRecordingVideo) {
      // A recording is already started, do nothing.
      return;
    }

    try {
      await cameraController.startVideoRecording();
    } on CameraException catch (e) {
      _showCameraException(e);
      return;
    }
  }

  Future<XFile?> stopVideoRecording() async {
    final CameraController? cameraController = controller;

    if (cameraController == null || !cameraController.value.isRecordingVideo) {
      return null;
    }

    try {
      return cameraController.stopVideoRecording();
    } on CameraException catch (e) {
      _showCameraException(e);
      return null;
    }
  }

  Future<void> pauseVideoRecording() async {
    final CameraController? cameraController = controller;

    if (cameraController == null || !cameraController.value.isRecordingVideo) {
      return null;
    }

    try {
      await cameraController.pauseVideoRecording();
    } on CameraException catch (e) {
      _showCameraException(e);
      rethrow;
    }
  }

  Future<void> resumeVideoRecording() async {
    final CameraController? cameraController = controller;

    if (cameraController == null || !cameraController.value.isRecordingVideo) {
      return null;
    }

    try {
      await cameraController.resumeVideoRecording();
    } on CameraException catch (e) {
      _showCameraException(e);
      rethrow;
    }
  }

  Future<void> setFlashMode(FlashMode mode) async {
    if (controller == null) {
      return;
    }

    try {
      await controller!.setFlashMode(mode);
    } on CameraException catch (e) {
      _showCameraException(e);
      rethrow;
    }
  }

  Future<void> setExposureMode(ExposureMode mode) async {
    if (controller == null) {
      return;
    }

    try {
      await controller!.setExposureMode(mode);
    } on CameraException catch (e) {
      _showCameraException(e);
      rethrow;
    }
  }

  Future<void> setExposureOffset(double offset) async {
    if (controller == null) {
      return;
    }

    setState(() {
      _currentExposureOffset = offset;
    });
    try {
      offset = await controller!.setExposureOffset(offset);
    } on CameraException catch (e) {
      _showCameraException(e);
      rethrow;
    }
  }

  Future<void> setFocusMode(FocusMode mode) async {
    if (controller == null) {
      return;
    }

    try {
      await controller!.setFocusMode(mode);
    } on CameraException catch (e) {
      _showCameraException(e);
      rethrow;
    }
  }

  Future<void> _startVideoPlayer() async {
    if (videoFile == null) {
      return;
    }

    final VideoPlayerController vController =
        VideoPlayerController.file(File(videoFile!.path));
    videoPlayerListener = () {
      if (videoController != null && videoController!.value.size != null) {
        // Refreshing the state to update video player with the correct ratio.
        if (mounted) setState(() {});
        videoController!.removeListener(videoPlayerListener!);
      }
    };
    vController.addListener(videoPlayerListener!);
    await vController.setLooping(true);
    await vController.initialize();
    await videoController?.dispose();
    if (mounted) {
      setState(() {
        imageFile = null;
        videoController = vController;
      });
    }
    await vController.play();
  }

  Future<XFile?> takePicture() async {
    final CameraController? cameraController = controller;
    if (cameraController == null || !cameraController.value.isInitialized) {
      showInSnackBar('Error: select a camera first.');
      return null;
    }

    if (cameraController.value.isTakingPicture) {
      // A capture is already pending, do nothing.
      return null;
    }

    try {
      XFile file = await cameraController.takePicture();
      return file;
    } on CameraException catch (e) {
      _showCameraException(e);
      return null;
    }
  }

  void _showCameraException(CameraException e) {
    logError(e.code, e.description);
    showInSnackBar('Error: ${e.code}\n${e.description}');
  }
}

class CameraApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: CameraExampleHome(),
    );
  }
}

List<CameraDescription> cameras = [];

Future<void> main() async {
  // Fetch the available cameras before initializing the app.
  try {
    WidgetsFlutterBinding.ensureInitialized();
    cameras = await availableCameras();
  } on CameraException catch (e) {
    logError(e.code, e.description);
  }
  runApp(CameraApp());
}

/// This allows a value of type T or T? to be treated as a value of type T?.
///
/// We use this so that APIs that have become non-nullable can still be used
/// with `!` and `?` on the stable branch.
// TODO(ianh): Remove this once we roll stable in late 2021.
T? _ambiguate<T>(T? value) => value;

Preview

21-09-03-15-30-17.mp4

Pubspec.yaml

  video_player: ^2.1.4
  camera: ^0.9.2+2
  path_provider: ^2.0.0

Logs

logs
[  +66 ms] executing: [C:\Users\Taha\Code\flutter_master/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +420 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +1 ms] 4069c6355beace3accc4e3c1c6b635be821a8716
[   +1 ms] executing: [C:\Users\Taha\Code\flutter_master/] git tag --points-at 4069c6355beace3accc4e3c1c6b635be821a8716
[  +46 ms] Exit code 0 from: git tag --points-at 4069c6355beace3accc4e3c1c6b635be821a8716
[   +2 ms] executing: [C:\Users\Taha\Code\flutter_master/] git describe --match *.*.* --long --tags
4069c6355beace3accc4e3c1c6b635be821a8716
[  +74 ms] Exit code 0 from: git describe --match *.*.* --long --tags 4069c6355beace3accc4e3c1c6b635be821a8716
[        ] 2.6.0-0.0.pre-170-g4069c6355b
[   +9 ms] executing: [C:\Users\Taha\Code\flutter_master/] git rev-parse --abbrev-ref --symbolic @{u}
[  +26 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/master
[        ] executing: [C:\Users\Taha\Code\flutter_master/] git ls-remote --get-url origin
[  +27 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[ +106 ms] executing: [C:\Users\Taha\Code\flutter_master/] git rev-parse --abbrev-ref HEAD
[  +35 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] master
[  +83 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +6 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +89 ms] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe devices -l
[  +55 ms] List of devices attached
           R9ZR205XX0A            device product:a02qins model:SM_M025F device:a02q transport_id:9
[   +6 ms] C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A shell getprop
[ +176 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +7 ms] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +73 ms] Skipping pub get: version match.
[  +25 ms] Found plugin flutter_plugin_android_lifecycle at
C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-2.0.3\
[   +8 ms] Found plugin path_provider at C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\path_provider-2.0.3\
[   +2 ms] Found plugin path_provider_linux at
C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\path_provider_linux-2.0.2\
[   +2 ms] Found plugin path_provider_macos at
C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\path_provider_macos-2.0.2\
[   +2 ms] Found plugin path_provider_windows at
C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\path_provider_windows-2.0.3\
[  +13 ms] Found plugin video_player at C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\video_player-2.1.15\
[   +2 ms] Found plugin video_player_web at C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\video_player_web-2.0.3\
[  +15 ms] Found plugin integration_test at C:\Users\Taha\Code\flutter_master\packages\integration_test\
[   +1 ms] Found plugin camera at C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\
[  +74 ms] Found plugin flutter_plugin_android_lifecycle at
C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-2.0.3\
[   +4 ms] Found plugin path_provider at C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\path_provider-2.0.3\
[   +1 ms] Found plugin path_provider_linux at
C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\path_provider_linux-2.0.2\
[   +1 ms] Found plugin path_provider_macos at
C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\path_provider_macos-2.0.2\
[   +2 ms] Found plugin path_provider_windows at
C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\path_provider_windows-2.0.3\
[   +8 ms] Found plugin video_player at C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\video_player-2.1.15\
[   +2 ms] Found plugin video_player_web at C:\Users\Taha\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\video_player_web-2.0.3\
[   +7 ms] Found plugin integration_test at C:\Users\Taha\Code\flutter_master\packages\integration_test\
[   +1 ms] Found plugin camera at C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\
[   +6 ms] Generating
C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\example\android\app\src\main\java\io\flutter\plugins\GeneratedPlu
ginRegistrant.java
[  +55 ms] ro.hardware = qcom
[  +39 ms] Initializing file store
[  +10 ms] Skipping target: gen_localizations
[   +4 ms] Skipping target: gen_dart_plugin_registrant
[   +1 ms] Skipping target: _composite
[   +2 ms] complete
[   +6 ms] Launching lib\main.dart on SM M025F in debug mode...
[   +4 ms] C:\Users\Taha\Code\flutter_master\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev
C:\Users\Taha\Code\flutter_master\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root
C:\Users\Taha\Code\flutter_master\bin\cache\artifacts\engine\common\flutter_patched_sdk/ --incremental --target=flutter
--debugger-module-names --experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill
C:\Users\Taha\AppData\Local\Temp\flutter_tools.d0edd4e9\flutter_tool.1c0a06f7\app.dill --packages
C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\example\.dart_tool\package_config.json -Ddart.vm.profile=false
-Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-scheme org-dartlang-root --initialize-from-dill
build\c075001b96339384a97db4862b8ab8db.cache.dill.track.dill --flutter-widget-cache
--enable-experiment=alternative-invalidation-strategy
[   +9 ms] executing: C:\Users\Taha\Code\android-sdk\build-tools\31.0.0\aapt dump xmltree
C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\example\build\app\outputs\flutter-apk\app.apk AndroidManifest.xml
[  +12 ms] Exit code 0 from: C:\Users\Taha\Code\android-sdk\build-tools\31.0.0\aapt dump xmltree
C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\example\build\app\outputs\flutter-apk\app.apk AndroidManifest.xml
[        ] N: android=http://schemas.android.com/apk/res/android
             E: manifest (line=2)
               A: android:versionCode(0x0101021b)=(type 0x10)0x1
               A: android:versionName(0x0101021c)="1.0" (Raw: "1.0")
               A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1d
               A: android:compileSdkVersionCodename(0x01010573)="10" (Raw: "10")
               A: package="io.flutter.plugins.cameraexample" (Raw: "io.flutter.plugins.cameraexample")
               A: platformBuildVersionCode=(type 0x10)0x1d
               A: platformBuildVersionName=(type 0x10)0xa
               E: uses-sdk (line=7)
                 A: android:minSdkVersion(0x0101020c)=(type 0x10)0x15
                 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1c
               E: uses-feature (line=11)
                 A: android:name(0x01010003)="android.hardware.camera" (Raw: "android.hardware.camera")
                 A: android:required(0x0101028e)=(type 0x12)0xffffffff
               E: uses-permission (line=15)
                 A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
               E: uses-permission (line=16)
                 A: android:name(0x01010003)="android.permission.FLASHLIGHT" (Raw: "android.permission.FLASHLIGHT")
               E: uses-permission (line=17)
                 A: android:name(0x01010003)="android.permission.CAMERA" (Raw: "android.permission.CAMERA")
               E: uses-permission (line=18)
                 A: android:name(0x01010003)="android.permission.RECORD_AUDIO" (Raw: "android.permission.RECORD_AUDIO")
               E: uses-permission (line=19)
                 A: android:name(0x01010003)="android.permission.ACCESS_NETWORK_STATE" (Raw:
                 "android.permission.ACCESS_NETWORK_STATE")
               E: application (line=21)
                 A: android:label(0x01010001)="camera_example" (Raw: "camera_example")
                 A: android:icon(0x01010002)=@0x7f080000
                 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
                 A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw:
                 "androidx.core.app.CoreComponentFactory")
                 E: activity (line=26)
                   A: android:theme(0x01010000)=@0x7f0a0000
                   A: android:name(0x01010003)="io.flutter.embedding.android.FlutterActivity" (Raw:
                   "io.flutter.embedding.android.FlutterActivity")
                   A: android:launchMode(0x0101001d)=(type 0x10)0x1
                   A: android:configChanges(0x0101001f)=(type 0x11)0x24b4
                   A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                   A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
                   E: intent-filter (line=33)
                     E: action (line=34)
                       A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
                     E: category (line=36)
                       A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
                 E: meta-data (line=40)
                   A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
                   A: android:value(0x01010024)=(type 0x10)0x2
[   +7 ms] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A shell -x logcat -v time -t 1
[  +16 ms] <- compile package:camera_example/main.dart
[ +980 ms] --------- beginning of main
                    09-03 15:33:16.474 I/A       (29026): Performing deletion propagation for Geller data.
[  +11 ms] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe version
[  +20 ms] Android Debug Bridge version 1.0.41
           Version 31.0.3-7562133
           Installed as C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe
[   +1 ms] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe start-server
[  +21 ms] Building APK
[  +13 ms] Running Gradle task 'assembleDebug'...
[   +5 ms] Using gradle from C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\example\android\gradlew.bat.
[  +12 ms] executing: C:\Users\Taha\Code\android-studio\jre\bin\java -version
[ +134 ms] Exit code 0 from: C:\Users\Taha\Code\android-studio\jre\bin\java -version
[        ] openjdk version "11.0.10" 2021-01-19
           OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
           OpenJDK 64-Bit Server VM (build 11.0.10+0-b96-7249189, mixed mode)
[   +1 ms] executing: [C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\example\android/]
C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\example\android\gradlew.bat -Pverbose=true
-Ptarget-platform=android-arm -Ptarget=C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\example\lib\main.dart
-Pdart-defines=RkxVVFRFUl9XRUJfQVVUT19ERVRFQ1Q9dHJ1ZQ== -Pdart-obfuscation=false -Ptrack-widget-creation=true
-Ptree-shake-icons=false -Pfilesystem-scheme=org-dartlang-root assembleDebug
[+4784 ms] > Task :app:compileFlutterBuildDebug
[        ] [  +61 ms] executing: [C:\Users\Taha\Code\flutter_master/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [ +418 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [        ] 4069c6355beace3accc4e3c1c6b635be821a8716
[        ] [        ] executing: [C:\Users\Taha\Code\flutter_master/] git tag --points-at 4069c6355beace3accc4e3c1c6b635be821a8716
[        ] [  +45 ms] Exit code 0 from: git tag --points-at 4069c6355beace3accc4e3c1c6b635be821a8716
[        ] [   +1 ms] executing: [C:\Users\Taha\Code\flutter_master/] git describe --match *.*.* --long --tags
4069c6355beace3accc4e3c1c6b635be821a8716
[        ] [  +71 ms] Exit code 0 from: git describe --match *.*.* --long --tags 4069c6355beace3accc4e3c1c6b635be821a8716
[        ] [        ] 2.6.0-0.0.pre-170-g4069c6355b
[        ] [   +6 ms] executing: [C:\Users\Taha\Code\flutter_master/] git rev-parse --abbrev-ref --symbolic @{u}
[        ] [  +27 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] [        ] origin/master
[        ] [        ] executing: [C:\Users\Taha\Code\flutter_master/] git ls-remote --get-url origin
[        ] [  +25 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] [        ] https://github.com/flutter/flutter.git
[        ] [  +51 ms] executing: [C:\Users\Taha\Code\flutter_master/] git rev-parse --abbrev-ref HEAD
[        ] [  +28 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] [        ] master
[        ] [  +49 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [  +84 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] [   +2 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[        ] [  +31 ms] Initializing file store
[        ] [  +14 ms] Done initializing file store
[        ] [  +37 ms] Skipping target: gen_localizations
[        ] [  +10 ms] Skipping target: gen_dart_plugin_registrant
[        ] [ +496 ms] Skipping target: kernel_snapshot
[ +266 ms] [ +346 ms] Skipping target: debug_android_application
[        ] [        ] Persisting file store
[        ] [   +9 ms] Done persisting file store
[        ] [   +5 ms] build succeeded.
[        ] [  +14 ms] "flutter assemble" took 1,069ms.
[  +98 ms] [ +115 ms] ensureAnalyticsSent: 111ms
[   +1 ms] [   +2 ms] Running shutdown hooks
[        ] [        ] Shutdown hooks complete
[   +1 ms] [        ] exiting with code 0
[ +112 ms] > Task :app:packLibsflutterBuildDebug UP-TO-DATE
[        ] > Task :app:preBuild UP-TO-DATE
[        ] > Task :app:preDebugBuild UP-TO-DATE
[        ] > Task :camera:preBuild UP-TO-DATE
[        ] > Task :camera:preDebugBuild UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:preBuild UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:preDebugBuild UP-TO-DATE
[        ] > Task :integration_test:preBuild UP-TO-DATE
[        ] > Task :integration_test:preDebugBuild UP-TO-DATE
[        ] > Task :path_provider:preBuild UP-TO-DATE
[        ] > Task :path_provider:preDebugBuild UP-TO-DATE
[        ] > Task :integration_test:compileDebugAidl NO-SOURCE
[        ] > Task :path_provider:compileDebugAidl NO-SOURCE
[        ] > Task :flutter_plugin_android_lifecycle:compileDebugAidl NO-SOURCE
[        ] > Task :camera:compileDebugAidl NO-SOURCE
[        ] > Task :video_player:preBuild UP-TO-DATE
[        ] > Task :video_player:preDebugBuild UP-TO-DATE
[        ] > Task :video_player:compileDebugAidl NO-SOURCE
[        ] > Task :app:compileDebugAidl NO-SOURCE
[        ] > Task :camera:packageDebugRenderscript NO-SOURCE
[        ] > Task :flutter_plugin_android_lifecycle:packageDebugRenderscript NO-SOURCE
[        ] > Task :integration_test:packageDebugRenderscript NO-SOURCE
[        ] > Task :path_provider:packageDebugRenderscript NO-SOURCE
[        ] > Task :video_player:packageDebugRenderscript NO-SOURCE
[        ] > Task :app:compileDebugRenderscript NO-SOURCE
[        ] > Task :app:checkDebugManifest UP-TO-DATE
[        ] > Task :app:generateDebugBuildConfig UP-TO-DATE
[        ] > Task :camera:checkDebugManifest UP-TO-DATE
[        ] > Task :camera:generateDebugBuildConfig UP-TO-DATE
[        ] > Task :camera:compileDebugRenderscript NO-SOURCE
[        ] > Task :camera:generateDebugResValues UP-TO-DATE
[        ] > Task :camera:generateDebugResources UP-TO-DATE
[   +1 ms] > Task :camera:packageDebugResources UP-TO-DATE
[        ] > Task :camera:parseDebugLibraryResources UP-TO-DATE
[        ] > Task :camera:processDebugManifest UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:generateDebugResValues UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:compileDebugRenderscript NO-SOURCE
[        ] > Task :flutter_plugin_android_lifecycle:generateDebugResources UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:packageDebugResources UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:parseDebugLibraryResources UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:checkDebugManifest UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:processDebugManifest UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:generateDebugRFile UP-TO-DATE
[        ] > Task :camera:generateDebugRFile UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:generateDebugBuildConfig UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:javaPreCompileDebug UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:compileDebugJavaWithJavac UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:bundleLibCompileDebug UP-TO-DATE
[        ] > Task :camera:javaPreCompileDebug UP-TO-DATE
[  +56 ms] > Task :camera:compileDebugJavaWithJavac UP-TO-DATE
[        ] > Task :camera:bundleLibCompileDebug UP-TO-DATE
[        ] > Task :integration_test:checkDebugManifest UP-TO-DATE
[        ] > Task :integration_test:generateDebugBuildConfig UP-TO-DATE
[        ] > Task :integration_test:compileDebugRenderscript NO-SOURCE
[        ] > Task :integration_test:generateDebugResValues UP-TO-DATE
[        ] > Task :integration_test:generateDebugResources UP-TO-DATE
[        ] > Task :integration_test:packageDebugResources UP-TO-DATE
[        ] > Task :integration_test:parseDebugLibraryResources UP-TO-DATE
[        ] > Task :integration_test:processDebugManifest UP-TO-DATE
[        ] > Task :integration_test:generateDebugRFile UP-TO-DATE
[        ] > Task :integration_test:javaPreCompileDebug UP-TO-DATE
[        ] > Task :integration_test:compileDebugJavaWithJavac UP-TO-DATE
[        ] > Task :integration_test:bundleLibCompileDebug UP-TO-DATE
[        ] > Task :path_provider:checkDebugManifest UP-TO-DATE
[        ] > Task :path_provider:compileDebugRenderscript NO-SOURCE
[        ] > Task :path_provider:generateDebugBuildConfig UP-TO-DATE
[        ] > Task :path_provider:generateDebugResValues UP-TO-DATE
[        ] > Task :path_provider:generateDebugResources UP-TO-DATE
[        ] > Task :path_provider:packageDebugResources UP-TO-DATE
[        ] > Task :path_provider:parseDebugLibraryResources UP-TO-DATE
[        ] > Task :path_provider:processDebugManifest UP-TO-DATE
[        ] > Task :path_provider:generateDebugRFile UP-TO-DATE
[        ] > Task :path_provider:javaPreCompileDebug UP-TO-DATE
[        ] > Task :path_provider:compileDebugJavaWithJavac UP-TO-DATE
[        ] > Task :path_provider:bundleLibCompileDebug UP-TO-DATE
[        ] > Task :video_player:checkDebugManifest UP-TO-DATE
[        ] > Task :video_player:generateDebugBuildConfig UP-TO-DATE
[        ] > Task :video_player:compileDebugRenderscript NO-SOURCE
[        ] > Task :video_player:generateDebugResValues UP-TO-DATE
[        ] > Task :video_player:generateDebugResources UP-TO-DATE
[        ] > Task :video_player:packageDebugResources UP-TO-DATE
[        ] > Task :video_player:parseDebugLibraryResources UP-TO-DATE
[        ] > Task :video_player:processDebugManifest UP-TO-DATE
[        ] > Task :video_player:generateDebugRFile UP-TO-DATE
[        ] > Task :video_player:javaPreCompileDebug UP-TO-DATE
[        ] > Task :video_player:compileDebugJavaWithJavac UP-TO-DATE
[        ] > Task :video_player:bundleLibCompileDebug UP-TO-DATE
[ +199 ms] > Task :app:cleanMergeDebugAssets
[   +1 ms] > Task :app:javaPreCompileDebug
[        ] > Task :app:mergeDebugShaders UP-TO-DATE
[        ] > Task :app:compileDebugShaders UP-TO-DATE
[        ] > Task :app:generateDebugAssets UP-TO-DATE
[        ] > Task :camera:mergeDebugShaders UP-TO-DATE
[        ] > Task :camera:compileDebugShaders UP-TO-DATE
[        ] > Task :camera:generateDebugAssets UP-TO-DATE
[        ] > Task :camera:packageDebugAssets UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:mergeDebugShaders UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:compileDebugShaders UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:generateDebugAssets UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:packageDebugAssets UP-TO-DATE
[        ] > Task :integration_test:mergeDebugShaders UP-TO-DATE
[        ] > Task :integration_test:compileDebugShaders UP-TO-DATE
[        ] > Task :integration_test:generateDebugAssets UP-TO-DATE
[        ] > Task :integration_test:packageDebugAssets UP-TO-DATE
[        ] > Task :path_provider:mergeDebugShaders UP-TO-DATE
[        ] > Task :path_provider:compileDebugShaders UP-TO-DATE
[        ] > Task :path_provider:generateDebugAssets UP-TO-DATE
[        ] > Task :path_provider:packageDebugAssets UP-TO-DATE
[  +91 ms] > Task :video_player:mergeDebugShaders UP-TO-DATE
[   +1 ms] > Task :video_player:compileDebugShaders UP-TO-DATE
[        ] > Task :video_player:generateDebugAssets UP-TO-DATE
[        ] > Task :video_player:packageDebugAssets UP-TO-DATE
[        ] > Task :app:mergeDebugAssets
[ +297 ms] > Task :app:copyFlutterAssetsDebug
[   +3 ms] > Task :app:mainApkListPersistenceDebug UP-TO-DATE
[   +1 ms] > Task :app:generateDebugResValues UP-TO-DATE
[        ] > Task :app:generateDebugResources UP-TO-DATE
[   +2 ms] > Task :app:mergeDebugResources UP-TO-DATE
[   +1 ms] > Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
[        ] > Task :app:processDebugManifest UP-TO-DATE
[        ] > Task :app:processDebugResources UP-TO-DATE
[        ] > Task :app:compileDebugJavaWithJavac UP-TO-DATE
[        ] > Task :app:compileDebugSources UP-TO-DATE
[   +1 ms] > Task :app:processDebugJavaRes NO-SOURCE
[        ] > Task :camera:processDebugJavaRes NO-SOURCE
[   +1 ms] > Task :camera:bundleLibResDebug UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:processDebugJavaRes NO-SOURCE
[        ] > Task :flutter_plugin_android_lifecycle:bundleLibResDebug UP-TO-DATE
[   +1 ms] > Task :integration_test:processDebugJavaRes NO-SOURCE
[        ] > Task :integration_test:bundleLibResDebug UP-TO-DATE
[        ] > Task :path_provider:processDebugJavaRes NO-SOURCE
[        ] > Task :path_provider:bundleLibResDebug UP-TO-DATE
[        ] > Task :video_player:processDebugJavaRes NO-SOURCE
[        ] > Task :video_player:bundleLibResDebug UP-TO-DATE
[  +71 ms] > Task :app:desugarDebugFileDependencies UP-TO-DATE
[   +1 ms] > Task :app:checkDebugDuplicateClasses
[        ] > Task :path_provider:bundleLibRuntimeDebug UP-TO-DATE
[        ] > Task :path_provider:createFullJarDebug UP-TO-DATE
[        ] > Task :video_player:bundleLibRuntimeDebug UP-TO-DATE
[        ] > Task :app:mergeExtDexDebug UP-TO-DATE
[        ] > Task :video_player:createFullJarDebug UP-TO-DATE
[        ] > Task :integration_test:bundleLibRuntimeDebug UP-TO-DATE
[        ] > Task :integration_test:createFullJarDebug UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:bundleLibRuntimeDebug UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:createFullJarDebug UP-TO-DATE
[        ] > Task :camera:bundleLibRuntimeDebug UP-TO-DATE
[        ] > Task :camera:createFullJarDebug UP-TO-DATE
[ +687 ms] > Task :app:transformClassesWithDexBuilderForDebug
[   +2 ms] > Task :app:mergeProjectDexDebug UP-TO-DATE
[        ] > Task :app:mergeLibDexDebug UP-TO-DATE
[        ] > Task :app:validateSigningDebug UP-TO-DATE
[        ] > Task :app:signingConfigWriterDebug UP-TO-DATE
[        ] > Task :app:mergeDebugJavaResource
[        ] > Task :app:mergeDebugJniLibFolders UP-TO-DATE
[        ] > Task :camera:mergeDebugJniLibFolders UP-TO-DATE
[        ] > Task :camera:mergeDebugNativeLibs UP-TO-DATE
[        ] > Task :camera:stripDebugDebugSymbols UP-TO-DATE
[        ] > Task :camera:transformNativeLibsWithIntermediateJniLibsForDebug UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:mergeDebugJniLibFolders UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:mergeDebugNativeLibs UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:stripDebugDebugSymbols UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:transformNativeLibsWithIntermediateJniLibsForDebug UP-TO-DATE
[        ] > Task :integration_test:mergeDebugJniLibFolders UP-TO-DATE
[        ] > Task :integration_test:mergeDebugNativeLibs UP-TO-DATE
[        ] > Task :integration_test:stripDebugDebugSymbols UP-TO-DATE
[        ] > Task :integration_test:transformNativeLibsWithIntermediateJniLibsForDebug UP-TO-DATE
[        ] > Task :path_provider:mergeDebugJniLibFolders UP-TO-DATE
[        ] > Task :path_provider:mergeDebugNativeLibs UP-TO-DATE
[        ] > Task :path_provider:stripDebugDebugSymbols UP-TO-DATE
[        ] > Task :path_provider:transformNativeLibsWithIntermediateJniLibsForDebug UP-TO-DATE
[        ] > Task :video_player:mergeDebugJniLibFolders UP-TO-DATE
[        ] > Task :video_player:mergeDebugNativeLibs UP-TO-DATE
[        ] > Task :video_player:stripDebugDebugSymbols UP-TO-DATE
[        ] > Task :video_player:transformNativeLibsWithIntermediateJniLibsForDebug UP-TO-DATE
[        ] > Task :camera:extractDebugAnnotations UP-TO-DATE
[        ] > Task :camera:mergeDebugGeneratedProguardFiles UP-TO-DATE
[        ] > Task :camera:mergeDebugConsumerProguardFiles UP-TO-DATE
[        ] > Task :camera:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :camera:mergeDebugJavaResource UP-TO-DATE
[        ] > Task :camera:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE
[        ] > Task :camera:transformNativeLibsWithSyncJniLibsForDebug UP-TO-DATE
[  +84 ms] > Task :camera:bundleDebugAar UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:extractDebugAnnotations UP-TO-DATE
[        ] > Task :camera:mergeDebugResources UP-TO-DATE
[        ] > Task :camera:compileDebugSources UP-TO-DATE
[        ] > Task :camera:assembleDebug UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:mergeDebugGeneratedProguardFiles UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:mergeDebugConsumerProguardFiles UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:mergeDebugJavaResource UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:transformNativeLibsWithSyncJniLibsForDebug UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:bundleDebugAar UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:compileDebugSources UP-TO-DATE
[        ] > Task :flutter_plugin_android_lifecycle:assembleDebug UP-TO-DATE
[        ] > Task :integration_test:extractDebugAnnotations UP-TO-DATE
[        ] > Task :integration_test:mergeDebugGeneratedProguardFiles UP-TO-DATE
[        ] > Task :integration_test:mergeDebugConsumerProguardFiles UP-TO-DATE
[        ] > Task :integration_test:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :integration_test:mergeDebugJavaResource UP-TO-DATE
[        ] > Task :integration_test:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE
[        ] > Task :integration_test:transformNativeLibsWithSyncJniLibsForDebug UP-TO-DATE
[        ] > Task :integration_test:bundleDebugAar UP-TO-DATE
[        ] > Task :integration_test:compileDebugSources UP-TO-DATE
[        ] > Task :integration_test:assembleDebug UP-TO-DATE
[        ] > Task :path_provider:extractDebugAnnotations UP-TO-DATE
[        ] > Task :path_provider:mergeDebugGeneratedProguardFiles UP-TO-DATE
[        ] > Task :path_provider:mergeDebugConsumerProguardFiles UP-TO-DATE
[        ] > Task :path_provider:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :path_provider:mergeDebugJavaResource UP-TO-DATE
[        ] > Task :path_provider:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE
[        ] > Task :path_provider:transformNativeLibsWithSyncJniLibsForDebug UP-TO-DATE
[        ] > Task :path_provider:bundleDebugAar UP-TO-DATE
[        ] > Task :path_provider:compileDebugSources UP-TO-DATE
[        ] > Task :path_provider:assembleDebug UP-TO-DATE
[        ] > Task :video_player:extractDebugAnnotations UP-TO-DATE
[        ] > Task :video_player:mergeDebugGeneratedProguardFiles UP-TO-DATE
[        ] > Task :video_player:mergeDebugConsumerProguardFiles UP-TO-DATE
[  +82 ms] > Task :video_player:prepareLintJarForPublish UP-TO-DATE
[        ] > Task :video_player:mergeDebugJavaResource UP-TO-DATE
[        ] > Task :video_player:transformClassesAndResourcesWithSyncLibJarsForDebug UP-TO-DATE
[        ] > Task :video_player:transformNativeLibsWithSyncJniLibsForDebug UP-TO-DATE
[        ] > Task :video_player:bundleDebugAar UP-TO-DATE
[        ] > Task :video_player:mergeDebugResources UP-TO-DATE
[        ] > Task :video_player:compileDebugSources UP-TO-DATE
[        ] > Task :video_player:assembleDebug UP-TO-DATE
[ +506 ms] > Task :app:mergeDebugNativeLibs
[ +195 ms] > Task :app:stripDebugDebugSymbols
[        ] Compatible side by side NDK version was not found.
[        ] Unable to strip library
'C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\example\build\app\intermediates\merged_native_libs\debug\out\lib
\armeabi-v7a\libflutter.so' due to missing strip tool for ABI 'ARMEABI_V7A'. Packaging it as is.
[+1500 ms] > Task :app:packageDebug
[ +202 ms] > Task :app:assembleDebug
[        ] Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
[        ] Use '--warning-mode all' to show the individual deprecation warnings.
[        ] See https://docs.gradle.org/5.6.2/userguide/command_line_interface.html#sec:command_line_warnings
[        ] BUILD SUCCESSFUL in 9s
[        ] 173 actionable tasks: 12 executed, 161 up-to-date
[ +550 ms] Running Gradle task 'assembleDebug'... (completed in 10.1s)
[  +36 ms] calculateSha: LocalDirectory:
'C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\example\build\app\outputs\flutter-apk'/app.apk
[ +678 ms] ✓  Built build\app\outputs\flutter-apk\app-debug.apk.
[   +3 ms] executing: C:\Users\Taha\Code\android-sdk\build-tools\31.0.0\aapt dump xmltree
C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\example\build\app\outputs\flutter-apk\app.apk AndroidManifest.xml
[  +25 ms] Exit code 0 from: C:\Users\Taha\Code\android-sdk\build-tools\31.0.0\aapt dump xmltree
C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\example\build\app\outputs\flutter-apk\app.apk AndroidManifest.xml
[   +1 ms] N: android=http://schemas.android.com/apk/res/android
             E: manifest (line=2)
               A: android:versionCode(0x0101021b)=(type 0x10)0x1
               A: android:versionName(0x0101021c)="1.0" (Raw: "1.0")
               A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1d
               A: android:compileSdkVersionCodename(0x01010573)="10" (Raw: "10")
               A: package="io.flutter.plugins.cameraexample" (Raw: "io.flutter.plugins.cameraexample")
               A: platformBuildVersionCode=(type 0x10)0x1d
               A: platformBuildVersionName=(type 0x10)0xa
               E: uses-sdk (line=7)
                 A: android:minSdkVersion(0x0101020c)=(type 0x10)0x15
                 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1c
               E: uses-feature (line=11)
                 A: android:name(0x01010003)="android.hardware.camera" (Raw: "android.hardware.camera")
                 A: android:required(0x0101028e)=(type 0x12)0xffffffff
               E: uses-permission (line=15)
                 A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
               E: uses-permission (line=16)
                 A: android:name(0x01010003)="android.permission.FLASHLIGHT" (Raw: "android.permission.FLASHLIGHT")
               E: uses-permission (line=17)
                 A: android:name(0x01010003)="android.permission.CAMERA" (Raw: "android.permission.CAMERA")
               E: uses-permission (line=18)
                 A: android:name(0x01010003)="android.permission.RECORD_AUDIO" (Raw: "android.permission.RECORD_AUDIO")
               E: uses-permission (line=19)
                 A: android:name(0x01010003)="android.permission.ACCESS_NETWORK_STATE" (Raw:
                 "android.permission.ACCESS_NETWORK_STATE")
               E: application (line=21)
                 A: android:label(0x01010001)="camera_example" (Raw: "camera_example")
                 A: android:icon(0x01010002)=@0x7f080000
                 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
                 A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw:
                 "androidx.core.app.CoreComponentFactory")
                 E: activity (line=26)
                   A: android:theme(0x01010000)=@0x7f0a0000
                   A: android:name(0x01010003)="io.flutter.embedding.android.FlutterActivity" (Raw:
                   "io.flutter.embedding.android.FlutterActivity")
                   A: android:launchMode(0x0101001d)=(type 0x10)0x1
                   A: android:configChanges(0x0101001f)=(type 0x11)0x24b4
                   A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                   A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
                   E: intent-filter (line=33)
                     E: action (line=34)
                       A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
                     E: category (line=36)
                       A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
                 E: meta-data (line=40)
                   A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
                   A: android:value(0x01010024)=(type 0x10)0x2
[   +2 ms] Stopping app 'app.apk' on SM M025F.
[   +1 ms] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A shell am force-stop
io.flutter.plugins.cameraexample
[ +144 ms] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A shell pm list packages
io.flutter.plugins.cameraexample
[ +149 ms] Installing APK.
[   +2 ms] Installing build\app\outputs\flutter-apk\app.apk...
[        ] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A install -t -r
C:\Users\Taha\StudioProjects\plugins-clone\packages\camera\camera\example\build\app\outputs\flutter-apk\app.apk
[+4490 ms] Performing Streamed Install
                    Success
[        ] Installing build\app\outputs\flutter-apk\app.apk... (completed in 4.5s)
[   +1 ms] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A shell echo -n
449737337692b547265c80ac87d1a8d5f8a9ae9f > /data/local/tmp/sky.io.flutter.plugins.cameraexample.sha1
[  +54 ms] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A shell -x logcat -v time -t 1
[ +835 ms] --------- beginning of system
                    09-03 15:33:33.185 I/RoleManagerService( 1479): Granting default roles...
[   +6 ms] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A shell am start -a
android.intent.action.RUN -f 0x20000000 --ez enable-background-compilation true --ez enable-dart-profiling true --ez
enable-checked-mode true --ez verify-entry-points true
io.flutter.plugins.cameraexample/io.flutter.embedding.android.FlutterActivity
[ +205 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000
cmp=io.flutter.plugins.cameraexample/io.flutter.embedding.android.FlutterActivity (has extras) }
[   +1 ms] Waiting for observatory port to be available...
[+2532 ms] Observatory URL on device: http://127.0.0.1:36971/sMVKd2233Vs=/
[   +1 ms] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A forward tcp:0 tcp:36971
[  +19 ms] 62015
[        ] Forwarded host port 62015 to device port 36971 for Observatory
[   +5 ms] Caching compiled dill
[  +24 ms] Connecting to service protocol: http://127.0.0.1:62015/sMVKd2233Vs=/
[ +627 ms] Launching a Dart Developer Service (DDS) instance at http://127.0.0.1:0, connecting to VM service at
http://127.0.0.1:62015/sMVKd2233Vs=/.
[ +427 ms] DDS is listening at http://127.0.0.1:62020/dib_-sQe73U=/.
[  +47 ms] Successfully connected to service protocol: http://127.0.0.1:62015/sMVKd2233Vs=/
[ +278 ms] DevFS: Creating new filesystem on the device (null)
[  +88 ms] DevFS: Created new filesystem on the device
(file:///data/user/0/io.flutter.plugins.cameraexample/code_cache/exampleLADEAH/example/)
[   +2 ms] Updating assets
[  +76 ms] Syncing files to device SM M025F...
[   +2 ms] <- reset
[        ] Compiling dart to kernel with 0 updated files
[   +3 ms] <- recompile package:camera_example/main.dart 22eba3d2-f7e8-4085-8f57-09a9d16b7031
[        ] <- 22eba3d2-f7e8-4085-8f57-09a9d16b7031
[  +69 ms] Updating files.
[        ] DevFS: Sync finished
[   +1 ms] Syncing files to device SM M025F... (completed in 77ms)
[        ] Synced 0.0MB.
[   +2 ms] <- accept
[   +7 ms] Connected to _flutterView/0xbdf30810.
[   +2 ms] Flutter run key commands.
[   +1 ms] r Hot reload. 🔥🔥🔥
[   +1 ms] R Hot restart.
[        ] h List all available interactive commands.
[        ] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
[   +1 ms] q Quit (terminate the application on the device).
[   +1 ms] 💪 Running with sound null safety 💪
[        ] An Observatory debugger and profiler on SM M025F is available at: http://127.0.0.1:62020/dib_-sQe73U=/
[  +98 ms] DevTools activation throttled until 2021-09-03 22:28:27.206622.
[+2311 ms] I/s.cameraexampl(22858): Thread[3,tid=9100,WaitingInMainSignalCatcherLoop,Thread*=0xef3d5c00,peer=0x137c0000,"Signal
Catcher"]: reacting to signal 28
[   +9 ms] I/s.cameraexampl(22858):
[   +1 ms] I/s.cameraexampl(22858): SIGSAVEPRF profile save
[ +579 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): stopped(true) old=false
[   +7 ms] I/SurfaceView(22858): windowStopped(true) false io.flutter.embedding.android.FlutterSurfaceView{e22a2a5 V.E......
......ID 0,0-720,1574} of ViewRootImpl@9d3800f[FlutterActivity]
[   +2 ms] I/SurfaceView(22858): surfaceDestroyed callback.size 1 #1 io.flutter.embedding.android.FlutterSurfaceView{e22a2a5
V.E...... ......ID 0,0-720,1574}
[+1450 ms] I/Gralloc4(22858): mapper 4.x is not supported
[   +1 ms] W/Gralloc3(22858): mapper 3.x is not supported
[ +361 ms] I/SurfaceView(22858): remove() io.flutter.embedding.android.FlutterSurfaceView{e22a2a5 V.E...... ......ID 0,0-720,1574}
Surface(name=SurfaceView - io.flutter.plugins.cameraexample/io.flutter.embedding.android.FlutterActivity@e22a2a5@0)/@0x33f0f34
[   +1 ms] I/SurfaceControl(22858): nativeRelease nativeObject s[4011561376]
[   +1 ms] I/SurfaceControl(22858): nativeRelease nativeObject e[4011561376]
[   +1 ms] I/SurfaceControl(22858): nativeRelease nativeObject s[4011563456]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject e[4011563456]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject s[4011563488]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject e[4011563488]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject s[4011562496]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject e[4011562496]
[  +20 ms] I/Choreographer(22858): Skipped 109 frames!  The application may be doing too much work on its main thread.
[   +1 ms] I/SurfaceView(22858): onWindowVisibilityChanged(4) false io.flutter.embedding.android.FlutterSurfaceView{e22a2a5
V.E...... ......ID 0,0-720,1574} of ViewRootImpl@9d3800f[FlutterActivity]
[   +3 ms] The Flutter DevTools debugger and profiler on SM M025F is available at:
           http://127.0.0.1:9104?uri=http://127.0.0.1:62020/dib_-sQe73U=/
[  +10 ms] I/SurfaceControl(22858): assignNativeObject: nativeObject = 0 Surface(name=null)/@0x5e207c9 /
android.view.SurfaceControl.readFromParcel:1115 android.view.IWindowSession$Stub$Proxy.relayout:1810
android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360
android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971
android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809
android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995
[   +1 ms] I/SurfaceControl(22858): assignNativeObject: nativeObject = 0 Surface(name=null)/@0xf835288 /
android.view.SurfaceControl.readFromParcel:1115 android.view.IWindowSession$Stub$Proxy.relayout:1820
android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360
android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971
android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809
android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995
[   +1 ms] I/SurfaceControl(22858): nativeRelease nativeObject s[3502183008]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject e[3502183008]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject s[3999770912]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject e[3999770912]
[        ] I/ViewRootImpl@9d3800f[FlutterActivity](22858): Relayout returned: old=(0,0,720,1600) new=(0,0,720,1600) req=(720,1600)4
dur=12 res=0x5 s={false 0} ch=false fn=-1
[  +30 ms] I/SurfaceView(22858): onWindowVisibilityChanged(8) false io.flutter.embedding.android.FlutterSurfaceView{e22a2a5
V.E...... ......ID 0,0-720,1600} of ViewRootImpl@9d3800f[FlutterActivity]
[  +15 ms] I/SurfaceControl(22858): assignNativeObject: nativeObject = 0 Surface(name=null)/@0x5e207c9 /
android.view.SurfaceControl.readFromParcel:1115 android.view.IWindowSession$Stub$Proxy.relayout:1810
android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360
android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971
android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809
android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995
[   +1 ms] I/SurfaceControl(22858): assignNativeObject: nativeObject = 0 Surface(name=null)/@0xf835288 /
android.view.SurfaceControl.readFromParcel:1115 android.view.IWindowSession$Stub$Proxy.relayout:1820
android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360
android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971
android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809
android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995
[   +1 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): Relayout returned: old=(0,0,720,1600) new=(0,0,720,1600) req=(720,1600)8
dur=9 res=0x1 s={false 0} ch=false fn=-1
[ +711 ms] I/SurfaceView(22858): onWindowVisibilityChanged(4) false io.flutter.embedding.android.FlutterSurfaceView{e22a2a5
V.E...... ......ID 0,0-720,1600} of ViewRootImpl@9d3800f[FlutterActivity]
[  +17 ms] I/SurfaceControl(22858): assignNativeObject: nativeObject = 0 Surface(name=null)/@0x5e207c9 /
android.view.SurfaceControl.readFromParcel:1115 android.view.IWindowSession$Stub$Proxy.relayout:1810
android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360
android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971
android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809
android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995
[   +2 ms] I/SurfaceControl(22858): assignNativeObject: nativeObject = 0 Surface(name=null)/@0xf835288 /
android.view.SurfaceControl.readFromParcel:1115 android.view.IWindowSession$Stub$Proxy.relayout:1820
android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360
android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971
android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809
android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995
[  +40 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): Relayout returned: old=(0,0,720,1600) new=(0,0,720,1600) req=(720,1600)4
dur=13 res=0x1 s={false 0} ch=false fn=-1
[  +14 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): stopped(false) old=true
[   +2 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): stopped(false) old=false
[   +1 ms] I/SurfaceView(22858): onWindowVisibilityChanged(0) false io.flutter.embedding.android.FlutterSurfaceView{e22a2a5
V.E...... ......ID 0,0-720,1574} of ViewRootImpl@9d3800f[FlutterActivity]
[  +35 ms] I/SurfaceControl(22858): assignNativeObject: nativeObject = 0 Surface(name=null)/@0xf835288 /
android.view.SurfaceControl.readFromParcel:1115 android.view.IWindowSession$Stub$Proxy.relayout:1820
android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360
android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971
android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809
android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995
[   +1 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): Relayout returned: old=(0,0,720,1600) new=(0,0,720,1600) req=(720,1600)0
dur=21 res=0x7 s={true 3508700160} ch=true fn=-1
[   +1 ms] I/SurfaceView(22858): windowStopped(false) true io.flutter.embedding.android.FlutterSurfaceView{e22a2a5 V.E......
......ID 0,0-720,1574} of ViewRootImpl@9d3800f[FlutterActivity]
[   +1 ms] I/SurfaceView(22858): surfaceCreated 1 #1 io.flutter.embedding.android.FlutterSurfaceView{e22a2a5 V.E...... ......ID
0,0-720,1574}
[  +18 ms] I/SurfaceView(22858): surfaceChanged (720,1574) 1 #1 io.flutter.embedding.android.FlutterSurfaceView{e22a2a5 V.E......
......ID 0,0-720,1574}
[   +4 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): updateBoundsLayer: shouldReparent = true t =
android.view.SurfaceControl$Transaction@ab044fc sc = Surface(name=Bounds for -
io.flutter.plugins.cameraexample/io.flutter.embedding.android.FlutterActivity@1)/@0x8fa5785 frame = 1
[  +12 ms] I/SurfaceView(22858): applySurfaceTransforms: t = android.view.SurfaceControl$Transaction@f1ff9da surfaceControl =
Surface(name=SurfaceView - io.flutter.plugins.cameraexample/io.flutter.embedding.android.FlutterActivity@e22a2a5@1)/@0x759fe0b
frame = 1
[  +44 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): MSG_RESIZED_REPORT: frame=(0,0,720,1600) ci=(0,45,0,26) vi=(0,45,0,26)
or=1
[  +23 ms] I/SurfaceControl(22858): nativeRelease nativeObject s[3188066944]
[   +1 ms] I/SurfaceControl(22858): nativeRelease nativeObject e[3188066944]
[   +1 ms] I/SurfaceControl(22858): assignNativeObject: nativeObject = 0 Surface(name=null)/@0xf835288 /
android.view.SurfaceControl.readFromParcel:1115 android.view.IWindowSession$Stub$Proxy.relayout:1820
android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360
android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971
android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809
android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995
[   +1 ms] I/SurfaceControl(22858): nativeRelease nativeObject s[3999770912]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject e[3999770912]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject s[3502186400]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject e[3502186400]
[        ] I/ViewRootImpl@9d3800f[FlutterActivity](22858): Relayout returned: old=(0,0,720,1600) new=(0,0,720,1600) req=(720,1600)0
dur=18 res=0x1 s={true 3508700160} ch=false fn=2
[  +45 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): MSG_WINDOW_FOCUS_CHANGED 1 1
[   +1 ms] D/InputMethodManager(22858): prepareNavigationBarInfo() DecorView@330dbb3[FlutterActivity]
[   +1 ms] D/InputMethodManager(22858): getNavigationBarColor() -16711423
[   +1 ms] D/InputMethodManager(22858): prepareNavigationBarInfo() DecorView@330dbb3[FlutterActivity]
[   +1 ms] D/InputMethodManager(22858): getNavigationBarColor() -16711423
[        ] V/InputMethodManager(22858): Starting input: tba=io.flutter.plugins.cameraexample ic=null mNaviBarColor -16711423
mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
[        ] D/InputMethodManager(22858): startInputInner - Id : 0
[        ] I/InputMethodManager(22858): startInputInner - mService.startInputOrWindowGainedFocus
[   +5 ms] D/InputTransport(22858): Input channel constructed: 'ClientS', fd=101
[        ] D/InputMethodManager(22858): prepareNavigationBarInfo() DecorView@330dbb3[FlutterActivity]
[   +1 ms] D/InputMethodManager(22858): getNavigationBarColor() -16711423
[        ] V/InputMethodManager(22858): Starting input: tba=io.flutter.plugins.cameraexample ic=null mNaviBarColor -16711423
mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
[        ] D/InputMethodManager(22858): startInputInner - Id : 0
[  +19 ms] I/SurfaceControl(22858): nativeRelease nativeObject s[3188067104]
[   +1 ms] I/SurfaceControl(22858): nativeRelease nativeObject e[3188067104]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject s[3188066944]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject e[3188066944]
[  +27 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[ +120 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[ +649 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +57 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[ +204 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): MSG_WINDOW_FOCUS_CHANGED 0 1
[ +283 ms] I/SurfaceControl(22858): nativeRelease nativeObject s[3939937504]
[   +1 ms] I/SurfaceControl(22858): nativeRelease nativeObject e[3939937504]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject s[3939937440]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject e[3939937440]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject s[3502183040]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject e[3502183040]
[  +96 ms] D/InputTransport(22858): Input channel destroyed: 'ClientS', fd=101
[  +35 ms] I/SurfaceControl(22858): nativeRelease nativeObject s[3502185568]
[   +2 ms] I/SurfaceControl(22858): nativeRelease nativeObject e[3502185568]
[+1199 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): stopped(false) old=false
[  +19 ms] I/SurfaceControl(22858): nativeRelease nativeObject s[4008373088]
[   +2 ms] I/SurfaceControl(22858): nativeRelease nativeObject e[4008373088]
[   +3 ms] I/SurfaceControl(22858): assignNativeObject: nativeObject = 0 Surface(name=null)/@0xf835288 /
android.view.SurfaceControl.readFromParcel:1115 android.view.IWindowSession$Stub$Proxy.relayout:1820
android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360
android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971
android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809
android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995
[   +2 ms] I/SurfaceControl(22858): nativeRelease nativeObject s[3939937728]
[   +1 ms] I/SurfaceControl(22858): nativeRelease nativeObject e[3939937728]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject s[3939937600]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject e[3939937600]
[        ] I/ViewRootImpl@9d3800f[FlutterActivity](22858): Relayout returned: old=(0,0,720,1600) new=(0,0,720,1600) req=(720,1600)0
dur=11 res=0x1 s={true 3508700160} ch=false fn=14
[        ] I/ViewRootImpl@9d3800f[FlutterActivity](22858): updateBoundsLayer: shouldReparent = false t =
android.view.SurfaceControl$Transaction@ab044fc sc = Surface(name=Bounds for -
io.flutter.plugins.cameraexample/io.flutter.embedding.android.FlutterActivity@1)/@0x8fa5785 frame = 14
[  +36 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_OPEN for client
io.flutter.plugins.cameraexample API Level 2
[ +148 ms] I/Camera  (22858): startPreview
[   +2 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): MSG_WINDOW_FOCUS_CHANGED 1 1
[   +2 ms] D/InputMethodManager(22858): prepareNavigationBarInfo() DecorView@330dbb3[FlutterActivity]
[   +2 ms] D/InputMethodManager(22858): getNavigationBarColor() -16711423
[   +1 ms] D/InputMethodManager(22858): prepareNavigationBarInfo() DecorView@330dbb3[FlutterActivity]
[   +1 ms] D/InputMethodManager(22858): getNavigationBarColor() -16711423
[   +1 ms] V/InputMethodManager(22858): Starting input: tba=io.flutter.plugins.cameraexample ic=null mNaviBarColor -16711423
mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
[   +1 ms] D/InputMethodManager(22858): startInputInner - Id : 0
[        ] I/InputMethodManager(22858): startInputInner - mService.startInputOrWindowGainedFocus
[        ] D/InputTransport(22858): Input channel constructed: 'ClientS', fd=113
[  +15 ms] I/SurfaceControl(22858): nativeRelease nativeObject s[3569000864]
[   +1 ms] I/SurfaceControl(22858): nativeRelease nativeObject e[3569000864]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject s[4008373088]
[        ] I/SurfaceControl(22858): nativeRelease nativeObject e[4008373088]
[        ] I/Camera  (22858): Updating builder settings
[        ] D/Camera  (22858): Updating builder with feature: ExposureLockFeature
[  +12 ms] D/Camera  (22858): Updating builder with feature: ExposurePointFeature
[   +1 ms] D/Camera  (22858): Updating builder with feature: ZoomLevelFeature
[   +5 ms] D/Camera  (22858): Updating builder with feature: AutoFocusFeature
[   +1 ms] D/Camera  (22858): Updating builder with feature: NoiseReductionFeature
[        ] I/Camera  (22858): updateNoiseReduction | currentSetting: fast
[        ] D/Camera  (22858): Updating builder with feature: FocusPointFeature
[        ] D/Camera  (22858): Updating builder with feature: ResolutionFeature
[        ] D/Camera  (22858): Updating builder with feature: SensorOrientationFeature
[        ] D/Camera  (22858): Updating builder with feature: FlashFeature
[        ] D/Camera  (22858): Updating builder with feature: ExposureOffsetFeature
[        ] D/Camera  (22858): Updating builder with feature: FpsRangeFeature
[        ] W/Gralloc4(22858): allocator 3.x is not supported
[        ] W/Gralloc3(22858): allocator 3.x is not supported
[ +303 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_ACTIVE for client
io.flutter.plugins.cameraexample API Level 2
[+1139 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +40 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[  +14 ms] I/Camera  (22858): dispose
[   +2 ms] I/Camera  (22858): close
[   +2 ms] I/Camera  (22858): closeCaptureSession
[ +229 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_IDLE for client
io.flutter.plugins.cameraexample API Level 2
[  +57 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client
io.flutter.plugins.cameraexample API Level 2
[   +1 ms] W/s.cameraexampl(22858): Long monitor contention with owner main (22858) at void
android.hardware.camera2.impl.CameraDeviceImpl.close()(CameraDeviceImpl.java:1334) waiters=0 in void
android.hardware.camera2.impl.CameraDeviceImpl.onDeviceError(int, android.hardware.camera2.impl.CaptureResultExtras) for 258ms
[   +1 ms] I/Camera  (22858): open | onClosed
[  +12 ms] I/Camera  (22858): close
[   +8 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[   +1 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[  +17 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_OPEN for client
io.flutter.plugins.cameraexample API Level 2
[  +37 ms] I/Camera  (22858): startPreview
[  +27 ms] I/Camera  (22858): Updating builder settings
[   +2 ms] D/Camera  (22858): Updating builder with feature: ExposureLockFeature
[   +1 ms] D/Camera  (22858): Updating builder with feature: ExposurePointFeature
[   +1 ms] D/Camera  (22858): Updating builder with feature: ZoomLevelFeature
[   +1 ms] D/Camera  (22858): Updating builder with feature: AutoFocusFeature
[        ] D/Camera  (22858): Updating builder with feature: NoiseReductionFeature
[        ] I/Camera  (22858): updateNoiseReduction | currentSetting: fast
[        ] D/Camera  (22858): Updating builder with feature: FocusPointFeature
[        ] D/Camera  (22858): Updating builder with feature: ResolutionFeature
[        ] D/Camera  (22858): Updating builder with feature: SensorOrientationFeature
[        ] D/Camera  (22858): Updating builder with feature: FlashFeature
[        ] D/Camera  (22858): Updating builder with feature: ExposureOffsetFeature
[        ] D/Camera  (22858): Updating builder with feature: FpsRangeFeature
[ +133 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +50 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[  +97 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_ACTIVE for client
io.flutter.plugins.cameraexample API Level 2
[ +127 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +56 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[ +125 ms] I/Camera  (22858): dispose
[   +1 ms] I/Camera  (22858): close
[   +1 ms] I/Camera  (22858): closeCaptureSession
[ +194 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_IDLE for client
io.flutter.plugins.cameraexample API Level 2
[  +51 ms] I/Camera  (22858): open | onClosed
[   +1 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_CLOSED for client
io.flutter.plugins.cameraexample API Level 2
[  +10 ms] I/Camera  (22858): close
[  +38 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_OPEN for client
io.flutter.plugins.cameraexample API Level 2
[  +23 ms] I/Camera  (22858): startPreview
[  +23 ms] I/Camera  (22858): Updating builder settings
[   +1 ms] D/Camera  (22858): Updating builder with feature: ExposureLockFeature
[   +1 ms] D/Camera  (22858): Updating builder with feature: ExposurePointFeature
[        ] D/Camera  (22858): Updating builder with feature: ZoomLevelFeature
[        ] D/Camera  (22858): Updating builder with feature: AutoFocusFeature
[        ] D/Camera  (22858): Updating builder with feature: NoiseReductionFeature
[        ] I/Camera  (22858): updateNoiseReduction | currentSetting: fast
[        ] D/Camera  (22858): Updating builder with feature: FocusPointFeature
[        ] D/Camera  (22858): Updating builder with feature: ResolutionFeature
[        ] D/Camera  (22858): Updating builder with feature: SensorOrientationFeature
[        ] D/Camera  (22858): Updating builder with feature: FlashFeature
[        ] D/Camera  (22858): Updating builder with feature: ExposureOffsetFeature
[        ] D/Camera  (22858): Updating builder with feature: FpsRangeFeature
[ +332 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_ACTIVE for client
io.flutter.plugins.cameraexample API Level 2
[ +106 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +57 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[   +6 ms] I/Camera  (22858): dispose
[   +2 ms] I/Camera  (22858): close
[   +2 ms] I/Camera  (22858): closeCaptureSession
[ +190 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_IDLE for client
io.flutter.plugins.cameraexample API Level 2
[  +56 ms] I/Camera  (22858): open | onClosed
[   +2 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client
io.flutter.plugins.cameraexample API Level 2
[   +5 ms] I/Camera  (22858): close
[  +16 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[   +2 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[  +25 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_OPEN for client
io.flutter.plugins.cameraexample API Level 2
[  +36 ms] I/Camera  (22858): startPreview
[  +30 ms] I/Camera  (22858): Updating builder settings
[   +1 ms] D/Camera  (22858): Updating builder with feature: ExposureLockFeature
[        ] D/Camera  (22858): Updating builder with feature: ExposurePointFeature
[        ] D/Camera  (22858): Updating builder with feature: ZoomLevelFeature
[   +1 ms] D/Camera  (22858): Updating builder with feature: AutoFocusFeature
[        ] D/Camera  (22858): Updating builder with feature: NoiseReductionFeature
[        ] I/Camera  (22858): updateNoiseReduction | currentSetting: fast
[   +4 ms] D/Camera  (22858): Updating builder with feature: FocusPointFeature
[        ] D/Camera  (22858): Updating builder with feature: ResolutionFeature
[        ] D/Camera  (22858): Updating builder with feature: SensorOrientationFeature
[        ] D/Camera  (22858): Updating builder with feature: FlashFeature
[        ] D/Camera  (22858): Updating builder with feature: ExposureOffsetFeature
[        ] D/Camera  (22858): Updating builder with feature: FpsRangeFeature
[ +175 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +56 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[  +32 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_ACTIVE for client
io.flutter.plugins.cameraexample API Level 2
[ +179 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +51 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[   +4 ms] I/Camera  (22858): dispose
[   +2 ms] I/Camera  (22858): close
[   +2 ms] I/Camera  (22858): closeCaptureSession
[ +192 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_IDLE for client
io.flutter.plugins.cameraexample API Level 2
[  +55 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_CLOSED for client
io.flutter.plugins.cameraexample API Level 2
[   +2 ms] I/Camera  (22858): open | onClosed
[   +4 ms] I/Camera  (22858): close
[   +8 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +17 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_OPEN for client
io.flutter.plugins.cameraexample API Level 2
[  +30 ms] I/Camera  (22858): startPreview
[   +1 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[  +25 ms] I/Camera  (22858): Updating builder settings
[   +1 ms] D/Camera  (22858): Updating builder with feature: ExposureLockFeature
[        ] D/Camera  (22858): Updating builder with feature: ExposurePointFeature
[        ] D/Camera  (22858): Updating builder with feature: ZoomLevelFeature
[        ] D/Camera  (22858): Updating builder with feature: AutoFocusFeature
[        ] D/Camera  (22858): Updating builder with feature: NoiseReductionFeature
[        ] I/Camera  (22858): updateNoiseReduction | currentSetting: fast
[        ] D/Camera  (22858): Updating builder with feature: FocusPointFeature
[        ] D/Camera  (22858): Updating builder with feature: ResolutionFeature
[        ] D/Camera  (22858): Updating builder with feature: SensorOrientationFeature
[        ] D/Camera  (22858): Updating builder with feature: FlashFeature
[        ] D/Camera  (22858): Updating builder with feature: ExposureOffsetFeature
[        ] D/Camera  (22858): Updating builder with feature: FpsRangeFeature
[ +315 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_ACTIVE for client
io.flutter.plugins.cameraexample API Level 2
[  +12 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +65 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[ +418 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +56 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[   +6 ms] I/Camera  (22858): dispose
[   +2 ms] I/Camera  (22858): close
[   +2 ms] I/Camera  (22858): closeCaptureSession
[ +224 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_IDLE for client
io.flutter.plugins.cameraexample API Level 2
[  +56 ms] I/Camera  (22858): open | onClosed
[   +1 ms] W/s.cameraexampl(22858): Long monitor contention with owner main (22858) at void
android.hardware.camera2.impl.CameraDeviceImpl.close()(CameraDeviceImpl.java:1334) waiters=0 in void
android.hardware.camera2.impl.CameraDeviceImpl.onDeviceError(int, android.hardware.camera2.impl.CaptureResultExtras) for 256ms
[   +1 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client
io.flutter.plugins.cameraexample API Level 2
[   +2 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[   +1 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[   +1 ms] I/Camera  (22858): close
[  +32 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_OPEN for client
io.flutter.plugins.cameraexample API Level 2
[  +30 ms] I/Camera  (22858): startPreview
[  +20 ms] I/Camera  (22858): Updating builder settings
[        ] D/Camera  (22858): Updating builder with feature: ExposureLockFeature
[        ] D/Camera  (22858): Updating builder with feature: ExposurePointFeature
[        ] D/Camera  (22858): Updating builder with feature: ZoomLevelFeature
[        ] D/Camera  (22858): Updating builder with feature: AutoFocusFeature
[        ] D/Camera  (22858): Updating builder with feature: NoiseReductionFeature
[        ] I/Camera  (22858): updateNoiseReduction | currentSetting: fast
[        ] D/Camera  (22858): Updating builder with feature: FocusPointFeature
[        ] D/Camera  (22858): Updating builder with feature: ResolutionFeature
[        ] D/Camera  (22858): Updating builder with feature: SensorOrientationFeature
[        ] D/Camera  (22858): Updating builder with feature: FlashFeature
[        ] D/Camera  (22858): Updating builder with feature: ExposureOffsetFeature
[        ] D/Camera  (22858): Updating builder with feature: FpsRangeFeature
[ +290 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_ACTIVE for client
io.flutter.plugins.cameraexample API Level 2
[  +90 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +47 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[ +228 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +46 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[   +4 ms] I/Camera  (22858): dispose
[   +2 ms] I/Camera  (22858): close
[   +2 ms] I/Camera  (22858): closeCaptureSession
[ +191 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_IDLE for client
io.flutter.plugins.cameraexample API Level 2
[  +52 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_CLOSED for client
io.flutter.plugins.cameraexample API Level 2
[   +3 ms] I/Camera  (22858): open | onClosed
[   +2 ms] I/Camera  (22858): close
[  +27 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_OPEN for client
io.flutter.plugins.cameraexample API Level 2
[  +76 ms] I/Camera  (22858): startPreview
[   +2 ms] I/Camera  (22858): Updating builder settings
[   +1 ms] D/Camera  (22858): Updating builder with feature: ExposureLockFeature
[   +1 ms] D/Camera  (22858): Updating builder with feature: ExposurePointFeature
[        ] D/Camera  (22858): Updating builder with feature: ZoomLevelFeature
[        ] D/Camera  (22858): Updating builder with feature: AutoFocusFeature
[        ] D/Camera  (22858): Updating builder with feature: NoiseReductionFeature
[        ] I/Camera  (22858): updateNoiseReduction | currentSetting: fast
[        ] D/Camera  (22858): Updating builder with feature: FocusPointFeature
[        ] D/Camera  (22858): Updating builder with feature: ResolutionFeature
[        ] D/Camera  (22858): Updating builder with feature: SensorOrientationFeature
[        ] D/Camera  (22858): Updating builder with feature: FlashFeature
[        ] D/Camera  (22858): Updating builder with feature: ExposureOffsetFeature
[        ] D/Camera  (22858): Updating builder with feature: FpsRangeFeature
[  +87 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +48 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[ +134 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +26 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_ACTIVE for client
io.flutter.plugins.cameraexample API Level 2
[  +12 ms] I/Camera  (22858): dispose
[   +2 ms] I/Camera  (22858): close
[   +2 ms] I/Camera  (22858): closeCaptureSession
[ +195 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_IDLE for client
io.flutter.plugins.cameraexample API Level 2
[  +52 ms] I/Camera  (22858): open | onClosed
[   +2 ms] I/CameraManagerGlobal(22858): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client
io.flutter.plugins.cameraexample API Level 2
[   +7 ms] I/Camera  (22858): close
[  +15 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[   +2 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[   +1 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[  +22 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_OPEN for client
io.flutter.plugins.cameraexample API Level 2
[  +30 ms] I/Camera  (22858): startPreview
[   +2 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[  +21 ms] I/Camera  (22858): close
[  +11 ms] I/Camera  (22858): Updating builder settings
[   +2 ms] D/Camera  (22858): Updating builder with feature: ExposureLockFeature
[   +2 ms] D/Camera  (22858): Updating builder with feature: ExposurePointFeature
[   +2 ms] D/Camera  (22858): Updating builder with feature: ZoomLevelFeature
[   +2 ms] D/Camera  (22858): Updating builder with feature: AutoFocusFeature
[   +1 ms] D/Camera  (22858): Updating builder with feature: NoiseReductionFeature
[   +2 ms] I/Camera  (22858): updateNoiseReduction | currentSetting: fast
[   +1 ms] D/Camera  (22858): Updating builder with feature: FocusPointFeature
[   +1 ms] D/Camera  (22858): Updating builder with feature: ResolutionFeature
[   +1 ms] D/Camera  (22858): Updating builder with feature: SensorOrientationFeature
[   +1 ms] D/Camera  (22858): Updating builder with feature: FlashFeature
[   +1 ms] D/Camera  (22858): Updating builder with feature: ExposureOffsetFeature
[        ] D/Camera  (22858): Updating builder with feature: FpsRangeFeature
[  +94 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_CLOSED for client
io.flutter.plugins.cameraexample API Level 2
[   +7 ms] I/Camera  (22858): open | onClosed
[        ] E/AndroidRuntime(22858): FATAL EXCEPTION: pool-13-thread-1
[        ] E/AndroidRuntime(22858): Process: io.flutter.plugins.cameraexample, PID: 22858
[        ] E/AndroidRuntime(22858): java.lang.IllegalStateException: CameraDevice was already closed
[        ] E/AndroidRuntime(22858):     at
android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError(CameraDeviceImpl.java:2236)
[        ] E/AndroidRuntime(22858):     at
android.hardware.camera2.impl.CameraDeviceImpl.submitCaptureRequest(CameraDeviceImpl.java:1162)
[        ] E/AndroidRuntime(22858):     at
android.hardware.camera2.impl.CameraDeviceImpl.setRepeatingRequest(CameraDeviceImpl.java:1235)
[        ] E/AndroidRuntime(22858):     at
android.hardware.camera2.impl.CameraCaptureSessionImpl.setRepeatingRequest(CameraCaptureSessionImpl.java:312)
[        ] E/AndroidRuntime(22858):     at io.flutter.plugins.camera.Camera.refreshPreviewCaptureSession(Camera.java:434)
[        ] E/AndroidRuntime(22858):     at io.flutter.plugins.camera.Camera.access$600(Camera.java:83)
[        ] E/AndroidRuntime(22858):     at io.flutter.plugins.camera.Camera$2.onConfigured(Camera.java:373)
[        ] E/AndroidRuntime(22858):     at
android.hardware.camera2.impl.CallbackProxies$SessionStateCallbackProxy.lambda$onConfigured$0$CallbackProxies$SessionStateCallbackP
roxy(CallbackProxies.java:53)
[        ] E/AndroidRuntime(22858):     at
android.hardware.camera2.impl.-$$Lambda$CallbackProxies$SessionStateCallbackProxy$soW0qC12Osypoky6AfL3P2-TeDw.run(Unknown Source:4)
[        ] E/AndroidRuntime(22858):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
[        ] E/AndroidRuntime(22858):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
[        ] E/AndroidRuntime(22858):     at java.lang.Thread.run(Thread.java:923)
[        ] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[  +20 ms] I/CameraManagerGlobal(22858): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_OPEN for client
io.flutter.plugins.cameraexample API Level 2
[  +32 ms] I/Camera  (22858): startPreview
[   +1 ms] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 0
[        ] E/flutter (22858): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: A CameraController was used after
being disposed.
[        ] E/flutter (22858): Once you have called dispose() on a CameraController, it can no longer be used.
[        ] E/flutter (22858): #0      ChangeNotifier._debugAssertNotDisposed.<anonymous closure>
(package:flutter/src/foundation/change_notifier.dart:114:9)
[        ] E/flutter (22858): #1      ChangeNotifier._debugAssertNotDisposed
(package:flutter/src/foundation/change_notifier.dart:120:6)
[        ] E/flutter (22858): #2      ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:288:12)
[        ] E/flutter (22858): #3      ValueNotifier.value= (package:flutter/src/foundation/change_notifier.dart:412:5)
[        ] E/flutter (22858): #4      CameraController.initialize (package:camera/src/camera_controller.dart:307:7)
[        ] E/flutter (22858): <asynchronous suspension>
[        ] E/flutter (22858): #5      _CameraExampleHomeState.onNewCameraSelected (package:camera_example/main.dart:629:7)
[        ] E/flutter (22858): <asynchronous suspension>
[        ] E/flutter (22858):
[        ] I/ViewRootImpl@9d3800f[FlutterActivity](22858): ViewPostIme pointer 1
[  +30 ms] W/MessageQueue(22858): Handler (android.os.Handler) {5fef852} sending message to a Handler on a dead thread
[   +1 ms] W/MessageQueue(22858): java.lang.IllegalStateException: Handler (android.os.Handler) {5fef852} sending message to a
Handler on a dead thread
[        ] W/MessageQueue(22858):       at android.os.MessageQueue.enqueueMessage(MessageQueue.java:560)
[        ] W/MessageQueue(22858):       at android.os.Handler.enqueueMessage(Handler.java:778)
[        ] W/MessageQueue(22858):       at android.os.Handler.sendMessageAtTime(Handler.java:727)
[        ] W/MessageQueue(22858):       at android.os.Handler.sendMessageDelayed(Handler.java:697)
[        ] W/MessageQueue(22858):       at android.os.Handler.post(Handler.java:427)
[        ] W/MessageQueue(22858):       at
android.hardware.camera2.impl.CameraDeviceImpl$CameraHandlerExecutor.execute(CameraDeviceImpl.java:2163)
[        ] W/MessageQueue(22858):       at
android.hardware.camera2.impl.CameraDeviceImpl.configureStreamsChecked(CameraDeviceImpl.java:508)
[        ] W/MessageQueue(22858):       at
android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSessionInternal(CameraDeviceImpl.java:679)
[        ] W/MessageQueue(22858):       at
android.hardware.camera2.impl.CameraDeviceImpl.createCaptureSession(CameraDeviceImpl.java:644)
[        ] W/MessageQueue(22858):       at io.flutter.plugins.camera.Camera.createCaptureSessionWithSessionConfig(Camera.java:405)
[        ] W/MessageQueue(22858):       at io.flutter.plugins.camera.Camera.createCaptureSession(Camera.java:391)
[        ] W/MessageQueue(22858):       at io.flutter.plugins.camera.Camera.createCaptureSession(Camera.java:323)
[        ] W/MessageQueue(22858):       at io.flutter.plugins.camera.Camera.startPreview(Camera.java:993)
[        ] W/MessageQueue(22858):       at io.flutter.plugins.camera.Camera$1.onOpened(Camera.java:260)
[        ] W/MessageQueue(22858):       at android.hardware.camera2.impl.CameraDeviceImpl$1.run(CameraDeviceImpl.java:151)
[        ] W/MessageQueue(22858):       at android.os.Handler.handleCallback(Handler.java:938)
[        ] W/MessageQueue(22858):       at android.os.Handler.dispatchMessage(Handler.java:99)
[        ] W/MessageQueue(22858):       at android.os.Looper.loop(Looper.java:246)
[        ] W/MessageQueue(22858):       at android.os.HandlerThread.run(HandlerThread.java:67)
[        ] I/Camera  (22858): Updating builder settings
[        ] D/Camera  (22858): Updating builder with feature: ExposureLockFeature
[        ] D/Camera  (22858): Updating builder with feature: ExposurePointFeature
[        ] D/Camera  (22858): Updating builder with feature: ZoomLevelFeature
[        ] D/Camera  (22858): Updating builder with feature: AutoFocusFeature
[        ] D/Camera  (22858): Updating builder with feature: NoiseReductionFeature
[        ] I/Camera  (22858): updateNoiseReduction | currentSetting: fast
[        ] D/Camera  (22858): Updating builder with feature: FocusPointFeature
[        ] I/Camera  (22858): close
[        ] D/Camera  (22858): Updating builder with feature: ResolutionFeature
[        ] D/Camera  (22858): Updating builder with feature: SensorOrientationFeature
[        ] D/Camera  (22858): Updating builder with feature: FlashFeature
[        ] I/Camera  (22858): closeCaptureSession
[        ] D/Camera  (22858): Updating builder with feature: ExposureOffsetFeature
[        ] D/Camera  (22858): Updating builder with feature: FpsRangeFeature
[   +7 ms] I/Process (22858): Sending signal. PID: 22858 SIG: 9
[ +154 ms] Service protocol connection closed.
[   +1 ms] Lost connection to device.
[   +2 ms] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A forward --list
[  +18 ms] Exit code 0 from: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A forward --list
[        ] R9ZR205XX0A tcp:62015 tcp:36971
[   +1 ms] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A forward --remove tcp:62015
[  +21 ms] DevFS: Deleting filesystem on the device
(file:///data/user/0/io.flutter.plugins.cameraexample/code_cache/exampleLADEAH/example/)
[ +268 ms] Ignored error while cleaning up DevFS: TimeoutException after 0:00:00.250000: Future not completed
[  +16 ms] executing: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A forward --list
[  +18 ms] Exit code 0 from: C:\Users\Taha\Code\android-sdk\platform-tools\adb.exe -s R9ZR205XX0A forward --list
[   +1 ms] "flutter run" took 40,109ms.
[  +52 ms] ensureAnalyticsSent: 50ms
[   +1 ms] Running shutdown hooks
[        ] Shutdown hooks complete
[   +1 ms] exiting with code 0
stable master
❗️ ❗️

Check flutter doctor -v outputs for each channel below

flutter doctor -v
[✓] Flutter (Channel stable, 2.2.3, on Microsoft Windows [Version 10.0.22000.176], locale en-US)
    • Flutter version 2.2.3 at C:\Users\Taha\Code\flutter_stable
    • Framework revision f4abaa0735 (9 weeks ago), 2021-07-01 12:46:11 -0700
    • Engine revision 241c87ad80
    • Dart version 2.13.4

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\Taha\Code\android-sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\android-sdk
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.2)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.31624.102
    • Windows 10 SDK version 10.0.19041.0

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[✓] VS Code (version 1.60.0)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.26.0

[✓] Connected device (4 available)
    • IN2011 (mobile)   • c9d8ee0c • android-arm64  • Android 11 (API 30)
    • Windows (desktop) • windows  • windows-x64    • Microsoft Windows [Version 10.0.22000.176]
    • Chrome (web)      • chrome   • web-javascript • Google Chrome 93.0.4577.63
    • Edge (web)        • edge     • web-javascript • Microsoft Edge 92.0.902.84

! Doctor found issues in 1 category.
[✓] Flutter (Channel master, 2.6.0-1.0.pre.170, on Microsoft Windows [Version 10.0.22000.176], locale en-US)
    • Flutter version 2.6.0-1.0.pre.170 at C:\Users\Taha\Code\flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4069c6355b (6 hours ago), 2021-09-03 02:11:05 -0400
    • Engine revision d6f6a0fe90
    • Dart version 2.15.0 (build 2.15.0-69.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at C:\Users\Taha\Code\android-sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_SDK_ROOT = C:\Users\Taha\Code\android-sdk
    • Java binary at: C:\Users\Taha\Code\android-studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Community 2019 16.11.2)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.11.31624.102
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 2020.3)
    • Android Studio at C:\Users\Taha\Code\android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.60.0)
    • VS Code at C:\Users\Taha\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.26.0

[✓] Connected device (5 available)
    • SM M025F (mobile)       • R9ZR205XX0A • android-arm     • Android 11 (API 30)
    • Windows (desktop)       • windows     • windows-x64     • Microsoft Windows [Version 10.0.22000.176]
    • Windows (UWP) (desktop) • winuwp      • windows-uwp-x64 •
    • Chrome (web)            • chrome      • web-javascript  • Google Chrome 93.0.4577.63
    • Edge (web)              • edge        • web-javascript  • Microsoft Edge 92.0.902.84

• No issues found!

✅: No Issue ❗️: Issue reproduced

Encountered this crash when reproducing #81893

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High-priority issues at the top of the work listc: fatal crashCrashes that terminate the processc: regressionIt was better in the past than it is nowfound in release: 2.2Found to occur in 2.2found in release: 2.6Found to occur in 2.6has reproducible stepsThe issue has been confirmed reproducible and is ready to work onp: cameraThe camera pluginpackageflutter/packages repository. See also p: labels.platform-androidAndroid applications specificallyr: fixedIssue is closed as already fixed in a newer version

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions