Skip to content

Commit 3d8b73b

Browse files
authored
[camera] Remove deprecated Optional type (flutter#6870)
* Remove Optional * Undo accidental order change * Fix examples analyze * Remove unused import * Bump versions * Correct version
1 parent acbe9b4 commit 3d8b73b

File tree

11 files changed

+66
-102
lines changed

11 files changed

+66
-102
lines changed

packages/camera/camera/CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.10.1
2+
3+
* Remove usage of deprecated quiver Optional type.
4+
15
## 0.10.0+5
26

37
* Updates code for stricter lint checks.

packages/camera/camera/lib/src/camera_controller.dart

+16-28
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import 'package:camera_platform_interface/camera_platform_interface.dart';
99
import 'package:flutter/foundation.dart';
1010
import 'package:flutter/material.dart';
1111
import 'package:flutter/services.dart';
12-
import 'package:quiver/core.dart';
1312

1413
import '../camera.dart';
1514

@@ -161,10 +160,10 @@ class CameraValue {
161160
bool? exposurePointSupported,
162161
bool? focusPointSupported,
163162
DeviceOrientation? deviceOrientation,
164-
Optional<DeviceOrientation>? lockedCaptureOrientation,
165-
Optional<DeviceOrientation>? recordingOrientation,
163+
DeviceOrientation? lockedCaptureOrientation,
164+
DeviceOrientation? recordingOrientation,
166165
bool? isPreviewPaused,
167-
Optional<DeviceOrientation>? previewPauseOrientation,
166+
DeviceOrientation? previewPauseOrientation,
168167
}) {
169168
return CameraValue(
170169
isInitialized: isInitialized ?? this.isInitialized,
@@ -181,16 +180,12 @@ class CameraValue {
181180
exposurePointSupported ?? this.exposurePointSupported,
182181
focusPointSupported: focusPointSupported ?? this.focusPointSupported,
183182
deviceOrientation: deviceOrientation ?? this.deviceOrientation,
184-
lockedCaptureOrientation: lockedCaptureOrientation == null
185-
? this.lockedCaptureOrientation
186-
: lockedCaptureOrientation.orNull,
187-
recordingOrientation: recordingOrientation == null
188-
? this.recordingOrientation
189-
: recordingOrientation.orNull,
183+
lockedCaptureOrientation:
184+
lockedCaptureOrientation ?? this.lockedCaptureOrientation,
185+
recordingOrientation: recordingOrientation ?? this.recordingOrientation,
190186
isPreviewPaused: isPreviewPaused ?? this.isPreviewPaused,
191-
previewPauseOrientation: previewPauseOrientation == null
192-
? this.previewPauseOrientation
193-
: previewPauseOrientation.orNull,
187+
previewPauseOrientation:
188+
previewPauseOrientation ?? this.previewPauseOrientation,
194189
);
195190
}
196191

@@ -358,8 +353,8 @@ class CameraController extends ValueNotifier<CameraValue> {
358353
await CameraPlatform.instance.pausePreview(_cameraId);
359354
value = value.copyWith(
360355
isPreviewPaused: true,
361-
previewPauseOrientation: Optional<DeviceOrientation>.of(
362-
value.lockedCaptureOrientation ?? value.deviceOrientation));
356+
previewPauseOrientation:
357+
value.lockedCaptureOrientation ?? value.deviceOrientation);
363358
} on PlatformException catch (e) {
364359
throw CameraException(e.code, e.message);
365360
}
@@ -372,9 +367,7 @@ class CameraController extends ValueNotifier<CameraValue> {
372367
}
373368
try {
374369
await CameraPlatform.instance.resumePreview(_cameraId);
375-
value = value.copyWith(
376-
isPreviewPaused: false,
377-
previewPauseOrientation: const Optional<DeviceOrientation>.absent());
370+
value = value.copyWith(isPreviewPaused: false);
378371
} on PlatformException catch (e) {
379372
throw CameraException(e.code, e.message);
380373
}
@@ -505,8 +498,8 @@ class CameraController extends ValueNotifier<CameraValue> {
505498
value = value.copyWith(
506499
isRecordingVideo: true,
507500
isRecordingPaused: false,
508-
recordingOrientation: Optional<DeviceOrientation>.of(
509-
value.lockedCaptureOrientation ?? value.deviceOrientation));
501+
recordingOrientation:
502+
value.lockedCaptureOrientation ?? value.deviceOrientation);
510503
} on PlatformException catch (e) {
511504
throw CameraException(e.code, e.message);
512505
}
@@ -526,10 +519,7 @@ class CameraController extends ValueNotifier<CameraValue> {
526519
try {
527520
final XFile file =
528521
await CameraPlatform.instance.stopVideoRecording(_cameraId);
529-
value = value.copyWith(
530-
isRecordingVideo: false,
531-
recordingOrientation: const Optional<DeviceOrientation>.absent(),
532-
);
522+
value = value.copyWith(isRecordingVideo: false);
533523
return file;
534524
} on PlatformException catch (e) {
535525
throw CameraException(e.code, e.message);
@@ -747,8 +737,7 @@ class CameraController extends ValueNotifier<CameraValue> {
747737
await CameraPlatform.instance.lockCaptureOrientation(
748738
_cameraId, orientation ?? value.deviceOrientation);
749739
value = value.copyWith(
750-
lockedCaptureOrientation: Optional<DeviceOrientation>.of(
751-
orientation ?? value.deviceOrientation));
740+
lockedCaptureOrientation: orientation ?? value.deviceOrientation);
752741
} on PlatformException catch (e) {
753742
throw CameraException(e.code, e.message);
754743
}
@@ -768,8 +757,7 @@ class CameraController extends ValueNotifier<CameraValue> {
768757
Future<void> unlockCaptureOrientation() async {
769758
try {
770759
await CameraPlatform.instance.unlockCaptureOrientation(_cameraId);
771-
value = value.copyWith(
772-
lockedCaptureOrientation: const Optional<DeviceOrientation>.absent());
760+
value = value.copyWith();
773761
} on PlatformException catch (e) {
774762
throw CameraException(e.code, e.message);
775763
}

packages/camera/camera/pubspec.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: A Flutter plugin for controlling the camera. Supports previewing
44
Dart.
55
repository: https://github.com/flutter/plugins/tree/main/packages/camera/camera
66
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22
7-
version: 0.10.0+5
7+
version: 0.10.1
88

99
environment:
1010
sdk: ">=2.14.0 <3.0.0"

packages/camera/camera/test/camera_preview_test.dart

+5-13
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import 'package:flutter/material.dart';
88
import 'package:flutter/services.dart';
99
import 'package:flutter/widgets.dart';
1010
import 'package:flutter_test/flutter_test.dart';
11-
import 'package:quiver/core.dart';
1211

1312
class FakeController extends ValueNotifier<CameraValue>
1413
implements CameraController {
@@ -133,11 +132,8 @@ void main() {
133132
isInitialized: true,
134133
isRecordingVideo: true,
135134
deviceOrientation: DeviceOrientation.portraitUp,
136-
lockedCaptureOrientation:
137-
const Optional<DeviceOrientation>.fromNullable(
138-
DeviceOrientation.landscapeRight),
139-
recordingOrientation: const Optional<DeviceOrientation>.fromNullable(
140-
DeviceOrientation.landscapeLeft),
135+
lockedCaptureOrientation: DeviceOrientation.landscapeRight,
136+
recordingOrientation: DeviceOrientation.landscapeLeft,
141137
previewSize: const Size(480, 640),
142138
);
143139

@@ -167,11 +163,8 @@ void main() {
167163
controller.value = controller.value.copyWith(
168164
isInitialized: true,
169165
deviceOrientation: DeviceOrientation.portraitUp,
170-
lockedCaptureOrientation:
171-
const Optional<DeviceOrientation>.fromNullable(
172-
DeviceOrientation.landscapeRight),
173-
recordingOrientation: const Optional<DeviceOrientation>.fromNullable(
174-
DeviceOrientation.landscapeLeft),
166+
lockedCaptureOrientation: DeviceOrientation.landscapeRight,
167+
recordingOrientation: DeviceOrientation.landscapeLeft,
175168
previewSize: const Size(480, 640),
176169
);
177170

@@ -201,8 +194,7 @@ void main() {
201194
controller.value = controller.value.copyWith(
202195
isInitialized: true,
203196
deviceOrientation: DeviceOrientation.portraitUp,
204-
recordingOrientation: const Optional<DeviceOrientation>.fromNullable(
205-
DeviceOrientation.landscapeLeft),
197+
recordingOrientation: DeviceOrientation.landscapeLeft,
206198
previewSize: const Size(480, 640),
207199
);
208200

packages/camera/camera/test/camera_test.dart

+1-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import 'package:flutter/widgets.dart';
1313
import 'package:flutter_test/flutter_test.dart';
1414
import 'package:mockito/mockito.dart';
1515
import 'package:plugin_platform_interface/plugin_platform_interface.dart';
16-
import 'package:quiver/core.dart';
1716

1817
List<CameraDescription> get mockAvailableCameras => <CameraDescription>[
1918
const CameraDescription(
@@ -1191,8 +1190,7 @@ void main() {
11911190
cameraController.value = cameraController.value.copyWith(
11921191
isPreviewPaused: false,
11931192
deviceOrientation: DeviceOrientation.portraitUp,
1194-
lockedCaptureOrientation:
1195-
Optional<DeviceOrientation>.of(DeviceOrientation.landscapeRight));
1193+
lockedCaptureOrientation: DeviceOrientation.landscapeRight);
11961194

11971195
await cameraController.pausePreview();
11981196

packages/camera/camera_android/CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.10.2
2+
3+
* Remove usage of deprecated quiver Optional type.
4+
15
## 0.10.1
26

37
* Implements an option to also stream when recording a video.

packages/camera/camera_android/example/lib/camera_controller.dart

+14-26
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import 'package:camera_platform_interface/camera_platform_interface.dart';
88
import 'package:flutter/foundation.dart';
99
import 'package:flutter/material.dart';
1010
import 'package:flutter/services.dart';
11-
import 'package:quiver/core.dart';
1211

1312
/// The state of a [CameraController].
1413
class CameraValue {
@@ -109,10 +108,10 @@ class CameraValue {
109108
bool? exposurePointSupported,
110109
bool? focusPointSupported,
111110
DeviceOrientation? deviceOrientation,
112-
Optional<DeviceOrientation>? lockedCaptureOrientation,
113-
Optional<DeviceOrientation>? recordingOrientation,
111+
DeviceOrientation? lockedCaptureOrientation,
112+
DeviceOrientation? recordingOrientation,
114113
bool? isPreviewPaused,
115-
Optional<DeviceOrientation>? previewPauseOrientation,
114+
DeviceOrientation? previewPauseOrientation,
116115
}) {
117116
return CameraValue(
118117
isInitialized: isInitialized ?? this.isInitialized,
@@ -125,16 +124,12 @@ class CameraValue {
125124
exposureMode: exposureMode ?? this.exposureMode,
126125
focusMode: focusMode ?? this.focusMode,
127126
deviceOrientation: deviceOrientation ?? this.deviceOrientation,
128-
lockedCaptureOrientation: lockedCaptureOrientation == null
129-
? this.lockedCaptureOrientation
130-
: lockedCaptureOrientation.orNull,
131-
recordingOrientation: recordingOrientation == null
132-
? this.recordingOrientation
133-
: recordingOrientation.orNull,
127+
lockedCaptureOrientation:
128+
lockedCaptureOrientation ?? this.lockedCaptureOrientation,
129+
recordingOrientation: recordingOrientation ?? this.recordingOrientation,
134130
isPreviewPaused: isPreviewPaused ?? this.isPreviewPaused,
135-
previewPauseOrientation: previewPauseOrientation == null
136-
? this.previewPauseOrientation
137-
: previewPauseOrientation.orNull,
131+
previewPauseOrientation:
132+
previewPauseOrientation ?? this.previewPauseOrientation,
138133
);
139134
}
140135

@@ -262,16 +257,14 @@ class CameraController extends ValueNotifier<CameraValue> {
262257
await CameraPlatform.instance.pausePreview(_cameraId);
263258
value = value.copyWith(
264259
isPreviewPaused: true,
265-
previewPauseOrientation: Optional<DeviceOrientation>.of(
266-
value.lockedCaptureOrientation ?? value.deviceOrientation));
260+
previewPauseOrientation:
261+
value.lockedCaptureOrientation ?? value.deviceOrientation);
267262
}
268263

269264
/// Resumes the current camera preview
270265
Future<void> resumePreview() async {
271266
await CameraPlatform.instance.resumePreview(_cameraId);
272-
value = value.copyWith(
273-
isPreviewPaused: false,
274-
previewPauseOrientation: const Optional<DeviceOrientation>.absent());
267+
value = value.copyWith(isPreviewPaused: false);
275268
}
276269

277270
/// Captures an image and returns the file where it was saved.
@@ -314,8 +307,8 @@ class CameraController extends ValueNotifier<CameraValue> {
314307
isRecordingVideo: true,
315308
isRecordingPaused: false,
316309
isStreamingImages: streamCallback != null,
317-
recordingOrientation: Optional<DeviceOrientation>.of(
318-
value.lockedCaptureOrientation ?? value.deviceOrientation));
310+
recordingOrientation:
311+
value.lockedCaptureOrientation ?? value.deviceOrientation);
319312
}
320313

321314
/// Stops the video recording and returns the file where it was saved.
@@ -331,7 +324,6 @@ class CameraController extends ValueNotifier<CameraValue> {
331324
value = value.copyWith(
332325
isRecordingVideo: false,
333326
isRecordingPaused: false,
334-
recordingOrientation: const Optional<DeviceOrientation>.absent(),
335327
);
336328
return file;
337329
}
@@ -400,16 +392,12 @@ class CameraController extends ValueNotifier<CameraValue> {
400392
Future<void> lockCaptureOrientation() async {
401393
await CameraPlatform.instance
402394
.lockCaptureOrientation(_cameraId, value.deviceOrientation);
403-
value = value.copyWith(
404-
lockedCaptureOrientation:
405-
Optional<DeviceOrientation>.of(value.deviceOrientation));
395+
value = value.copyWith(lockedCaptureOrientation: value.deviceOrientation);
406396
}
407397

408398
/// Unlocks the capture orientation.
409399
Future<void> unlockCaptureOrientation() async {
410400
await CameraPlatform.instance.unlockCaptureOrientation(_cameraId);
411-
value = value.copyWith(
412-
lockedCaptureOrientation: const Optional<DeviceOrientation>.absent());
413401
}
414402

415403
/// Sets the focus mode for taking pictures.

packages/camera/camera_android/pubspec.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: camera_android
22
description: Android implementation of the camera plugin.
33
repository: https://github.com/flutter/plugins/tree/main/packages/camera/camera_android
44
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22
5-
version: 0.10.1
5+
version: 0.10.2
66

77
environment:
88
sdk: ">=2.14.0 <3.0.0"

packages/camera/camera_avfoundation/CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.9.10
2+
3+
* Remove usage of deprecated quiver Optional type.
4+
15
## 0.9.9
26

37
* Implements option to also stream when recording a video.

0 commit comments

Comments
 (0)