Skip to content

Commit f50c499

Browse files
authored
🎨 Reexpose constructor (#116)
1 parent 4ef129d commit f50c499

File tree

4 files changed

+20
-9
lines changed

4 files changed

+20
-9
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ that can be found in the LICENSE file. -->
44

55
# Changelog
66

7+
## 3.5.0-dev.2
8+
9+
### Improvements
10+
11+
- Re-export `CameraPicker`'s constructor. (#116)
12+
713
## 3.5.0-dev.1
814

915
### New features

lib/src/states/camera_picker_state.dart

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ const Duration _kDuration = Duration(milliseconds: 300);
3232

3333
class CameraPickerState extends State<CameraPicker>
3434
with WidgetsBindingObserver {
35+
CameraPickerState({Locale? locale}) {
36+
Constants.textDelegate = widget.pickerConfig.textDelegate ??
37+
cameraPickerTextDelegateFromLocale(locale);
38+
}
39+
3540
/// The [Duration] for record detection. (200ms)
3641
/// 检测是否开始录制的时长 (200毫秒)
3742
final Duration recordDetectDuration = const Duration(milliseconds: 200);

lib/src/widgets/camera_picker.dart

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import 'package:flutter/services.dart';
1111

1212
import '../constants/config.dart';
1313
import '../constants/constants.dart';
14-
import '../delegates/camera_picker_text_delegate.dart';
1514
import '../states/camera_picker_state.dart';
1615

1716
import 'camera_picker_page_route.dart';
@@ -22,10 +21,11 @@ import 'camera_picker_page_route.dart';
2221
/// The picker provides create an [AssetEntity] through the [CameraController].
2322
/// 该选择器可以通过 [CameraController] 创建 [AssetEntity]
2423
class CameraPicker extends StatefulWidget {
25-
const CameraPicker._({
24+
const CameraPicker({
2625
Key? key,
2726
this.pickerConfig = const CameraPickerConfig(),
2827
this.createPickerState,
28+
this.locale,
2929
}) : super(key: key);
3030

3131
/// {@macro wechat_camera_picker.CameraPickerConfig}
@@ -35,6 +35,9 @@ class CameraPicker extends StatefulWidget {
3535
/// 构建一个自定义的 [CameraPickerState]
3636
final CameraPickerState Function()? createPickerState;
3737

38+
/// The [Locale] to determine text delegates for the picker.
39+
final Locale? locale;
40+
3841
/// Static method to create [AssetEntity] through camera.
3942
/// 通过相机创建 [AssetEntity] 的静态方法
4043
static Future<AssetEntity?> pickFromCamera(
@@ -46,13 +49,10 @@ class CameraPicker extends StatefulWidget {
4649
pageRouteBuilder,
4750
Locale? locale,
4851
}) {
49-
Constants.textDelegate = pickerConfig.textDelegate ??
50-
cameraPickerTextDelegateFromLocale(
51-
locale ?? Localizations.maybeLocaleOf(context),
52-
);
53-
final Widget picker = CameraPicker._(
52+
final Widget picker = CameraPicker(
5453
pickerConfig: pickerConfig,
5554
createPickerState: createPickerState,
55+
locale: locale,
5656
);
5757
return Navigator.of(
5858
context,
@@ -111,5 +111,5 @@ class CameraPicker extends StatefulWidget {
111111
@override
112112
CameraPickerState createState() =>
113113
// ignore: no_logic_in_create_state
114-
createPickerState?.call() ?? CameraPickerState();
114+
createPickerState?.call() ?? CameraPickerState(locale: locale);
115115
}

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: wechat_camera_picker
22
description: A camera picker which is an extension to wechat_assets_picker, but can be run separately.
3-
version: 3.5.0-dev.1
3+
version: 3.5.0-dev.2
44
homepage: https://github.com/fluttercandies/flutter_wechat_camera_picker
55

66
environment:

0 commit comments

Comments
 (0)