diff --git a/packages/camera/camera/CHANGELOG.md b/packages/camera/camera/CHANGELOG.md index 38add27ff171..9fc9ad49bcf4 100644 --- a/packages/camera/camera/CHANGELOG.md +++ b/packages/camera/camera/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.11.4 + +* Fixes a bug where exceptions thrown during a return statement in an async function were not correctly caught, aligning behavior with expected Dart semantics (see [dart-lang/sdk#44395](https://github.com/dart-lang/sdk/issues/44395)). +* Updates example to demonstrate correct exception handling for async return statements, ensuring exceptions thrown during return are properly caught as per [dart-lang/sdk#44395](https://github.com/dart-lang/sdk/issues/44395). + ## 0.11.3+1 * Fixes delivering errors from onCameraError. @@ -828,4 +833,4 @@ Method changes: ## 0.0.1 -* Initial release +* Initial release \ No newline at end of file diff --git a/packages/camera/camera/example/lib/main.dart b/packages/camera/camera/example/lib/main.dart index 9185f3e34f1e..cca528c04fda 100644 --- a/packages/camera/camera/example/lib/main.dart +++ b/packages/camera/camera/example/lib/main.dart @@ -888,7 +888,7 @@ class _CameraExampleHomeState extends State } try { - return cameraController.stopVideoRecording(); + return await cameraController.stopVideoRecording(); } on CameraException catch (e) { _showCameraException(e); return null; diff --git a/packages/camera/camera/lib/src/camera_controller.dart b/packages/camera/camera/lib/src/camera_controller.dart index 3656e4d67ab9..8492cda13b8b 100644 --- a/packages/camera/camera/lib/src/camera_controller.dart +++ b/packages/camera/camera/lib/src/camera_controller.dart @@ -766,7 +766,7 @@ class CameraController extends ValueNotifier { Future getMinExposureOffset() async { _throwIfNotInitialized('getMinExposureOffset'); try { - return CameraPlatform.instance.getMinExposureOffset(_cameraId); + return await CameraPlatform.instance.getMinExposureOffset(_cameraId); } on PlatformException catch (e) { throw CameraException(e.code, e.message); } @@ -776,7 +776,7 @@ class CameraController extends ValueNotifier { Future getMaxExposureOffset() async { _throwIfNotInitialized('getMaxExposureOffset'); try { - return CameraPlatform.instance.getMaxExposureOffset(_cameraId); + return await CameraPlatform.instance.getMaxExposureOffset(_cameraId); } on PlatformException catch (e) { throw CameraException(e.code, e.message); } @@ -788,7 +788,7 @@ class CameraController extends ValueNotifier { Future getExposureOffsetStepSize() async { _throwIfNotInitialized('getExposureOffsetStepSize'); try { - return CameraPlatform.instance.getExposureOffsetStepSize(_cameraId); + return await CameraPlatform.instance.getExposureOffsetStepSize(_cameraId); } on PlatformException catch (e) { throw CameraException(e.code, e.message); } @@ -833,7 +833,7 @@ class CameraController extends ValueNotifier { } try { - return CameraPlatform.instance.setExposureOffset(_cameraId, offset); + return await CameraPlatform.instance.setExposureOffset(_cameraId, offset); } on PlatformException catch (e) { throw CameraException(e.code, e.message); } diff --git a/packages/camera/camera/pubspec.yaml b/packages/camera/camera/pubspec.yaml index 327b922a2b00..8623cf61e14a 100644 --- a/packages/camera/camera/pubspec.yaml +++ b/packages/camera/camera/pubspec.yaml @@ -4,7 +4,7 @@ description: A Flutter plugin for controlling the camera. Supports previewing Dart. repository: https://github.com/flutter/packages/tree/main/packages/camera/camera issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.11.3+1 +version: 0.11.4 environment: sdk: ^3.9.0 diff --git a/packages/camera/camera_android/CHANGELOG.md b/packages/camera/camera_android/CHANGELOG.md index 6ebd56630b06..916e152799a0 100644 --- a/packages/camera/camera_android/CHANGELOG.md +++ b/packages/camera/camera_android/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.10.10+15 + +* Updates example to demonstrate correct exception handling for async return statements, ensuring exceptions thrown during return are properly caught as per [dart-lang/sdk#44395](https://github.com/dart-lang/sdk/issues/44395). + ## 0.10.10+14 * Bumps com.android.tools.build:gradle from 8.12.1 to 8.13.1. diff --git a/packages/camera/camera_android/example/lib/main.dart b/packages/camera/camera_android/example/lib/main.dart index 999b281f2293..b669f6ac6831 100644 --- a/packages/camera/camera_android/example/lib/main.dart +++ b/packages/camera/camera_android/example/lib/main.dart @@ -908,7 +908,7 @@ class _CameraExampleHomeState extends State } try { - return cameraController.stopVideoRecording(); + return await cameraController.stopVideoRecording(); } on CameraException catch (e) { _showCameraException(e); return null; diff --git a/packages/camera/camera_android/pubspec.yaml b/packages/camera/camera_android/pubspec.yaml index f5dbe700d346..4448279e3a32 100644 --- a/packages/camera/camera_android/pubspec.yaml +++ b/packages/camera/camera_android/pubspec.yaml @@ -3,7 +3,7 @@ description: Android implementation of the camera plugin. repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_android issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.10.10+14 +version: 0.10.10+15 environment: sdk: ^3.9.0 diff --git a/packages/camera/camera_android_camerax/CHANGELOG.md b/packages/camera/camera_android_camerax/CHANGELOG.md index 96664813481e..b003df7a8988 100644 --- a/packages/camera/camera_android_camerax/CHANGELOG.md +++ b/packages/camera/camera_android_camerax/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.6.30+1 + +* Updates example to demonstrate correct exception handling for async return statements, ensuring exceptions thrown during return are properly caught as per [dart-lang/sdk#44395](https://github.com/dart-lang/sdk/issues/44395). + ## 0.6.30 * Bump camerax_version from 1.5.2 to 1.5.3. @@ -506,4 +510,4 @@ this plugin should now be compatible with [google_ml_kit_flutter](https://github * Displaying a live camera preview * Image streaming - See [`README.md`](README.md) for more details on the limitations of this implementation. + See [`README.md`](README.md) for more details on the limitations of this implementation. \ No newline at end of file diff --git a/packages/camera/camera_android_camerax/example/lib/camera_controller.dart b/packages/camera/camera_android_camerax/example/lib/camera_controller.dart index e09dfb861049..c9f989df5250 100644 --- a/packages/camera/camera_android_camerax/example/lib/camera_controller.dart +++ b/packages/camera/camera_android_camerax/example/lib/camera_controller.dart @@ -716,7 +716,7 @@ class CameraController extends ValueNotifier { Future getMinExposureOffset() async { _throwIfNotInitialized('getMinExposureOffset'); try { - return CameraPlatform.instance.getMinExposureOffset(_cameraId); + return await CameraPlatform.instance.getMinExposureOffset(_cameraId); } on PlatformException catch (e) { throw CameraException(e.code, e.message); } @@ -726,7 +726,7 @@ class CameraController extends ValueNotifier { Future getMaxExposureOffset() async { _throwIfNotInitialized('getMaxExposureOffset'); try { - return CameraPlatform.instance.getMaxExposureOffset(_cameraId); + return await CameraPlatform.instance.getMaxExposureOffset(_cameraId); } on PlatformException catch (e) { throw CameraException(e.code, e.message); } @@ -738,7 +738,7 @@ class CameraController extends ValueNotifier { Future getExposureOffsetStepSize() async { _throwIfNotInitialized('getExposureOffsetStepSize'); try { - return CameraPlatform.instance.getExposureOffsetStepSize(_cameraId); + return await CameraPlatform.instance.getExposureOffsetStepSize(_cameraId); } on PlatformException catch (e) { throw CameraException(e.code, e.message); } @@ -783,7 +783,7 @@ class CameraController extends ValueNotifier { } try { - return CameraPlatform.instance.setExposureOffset(_cameraId, offset); + return await CameraPlatform.instance.setExposureOffset(_cameraId, offset); } on PlatformException catch (e) { throw CameraException(e.code, e.message); } diff --git a/packages/camera/camera_android_camerax/example/lib/main.dart b/packages/camera/camera_android_camerax/example/lib/main.dart index 956a86b20167..c3aba39ed60f 100644 --- a/packages/camera/camera_android_camerax/example/lib/main.dart +++ b/packages/camera/camera_android_camerax/example/lib/main.dart @@ -898,7 +898,7 @@ class _CameraExampleHomeState extends State } try { - return cameraController.stopVideoRecording(); + return await cameraController.stopVideoRecording(); } on CameraException catch (e) { _showCameraException(e); return null; diff --git a/packages/camera/camera_android_camerax/pubspec.yaml b/packages/camera/camera_android_camerax/pubspec.yaml index e08a62897458..9a35b4fd7f08 100644 --- a/packages/camera/camera_android_camerax/pubspec.yaml +++ b/packages/camera/camera_android_camerax/pubspec.yaml @@ -2,7 +2,7 @@ name: camera_android_camerax description: Android implementation of the camera plugin using the CameraX library. repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_android_camerax issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.6.30 +version: 0.6.30+1 environment: sdk: ^3.9.0 diff --git a/packages/camera/camera_avfoundation/CHANGELOG.md b/packages/camera/camera_avfoundation/CHANGELOG.md index f66df6476e7d..14f7fe829a88 100644 --- a/packages/camera/camera_avfoundation/CHANGELOG.md +++ b/packages/camera/camera_avfoundation/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.9.23+3 + +* Updates example to demonstrate correct exception handling for async return statements, ensuring exceptions thrown during return are properly caught as per [dart-lang/sdk#44395](https://github.com/dart-lang/sdk/issues/44395). + ## 0.9.23+2 * Code refactor related to Swift pigeon's generated struct MediaSettings being immutable. diff --git a/packages/camera/camera_avfoundation/example/lib/main.dart b/packages/camera/camera_avfoundation/example/lib/main.dart index 0df8ebe185f8..f9576b96398f 100644 --- a/packages/camera/camera_avfoundation/example/lib/main.dart +++ b/packages/camera/camera_avfoundation/example/lib/main.dart @@ -903,7 +903,7 @@ class _CameraExampleHomeState extends State } try { - return cameraController.stopVideoRecording(); + return await cameraController.stopVideoRecording(); } on CameraException catch (e) { _showCameraException(e); return null; diff --git a/packages/camera/camera_avfoundation/pubspec.yaml b/packages/camera/camera_avfoundation/pubspec.yaml index 1e87023aa7b0..241456f0c5d1 100644 --- a/packages/camera/camera_avfoundation/pubspec.yaml +++ b/packages/camera/camera_avfoundation/pubspec.yaml @@ -2,7 +2,7 @@ name: camera_avfoundation description: iOS implementation of the camera plugin. repository: https://github.com/flutter/packages/tree/main/packages/camera/camera_avfoundation issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22 -version: 0.9.23+2 +version: 0.9.23+3 environment: sdk: ^3.9.0 diff --git a/packages/google_fonts/CHANGELOG.md b/packages/google_fonts/CHANGELOG.md index 5db0d9c11778..291d2284d4cd 100644 --- a/packages/google_fonts/CHANGELOG.md +++ b/packages/google_fonts/CHANGELOG.md @@ -1,3 +1,7 @@ +## 8.0.2 + +- Fixes a bug where exceptions thrown during a return statement in an async function were not correctly caught, aligning behavior with expected Dart semantics (see [dart-lang/sdk#44395](https://github.com/dart-lang/sdk/issues/44395)). + ## 8.0.1 - Fixes WOFF2/WOFF font selection when loading fonts bundled with the app to prefer compressed formats regardless of asset manifest order. @@ -1002,4 +1006,4 @@ - Initial release: supports all 960 fonts and variants from fonts.google.com - ttf files are downloaded via http on demand, and saved to local disk so that they can be loaded without making another http request for future font requests -- Fonts are loaded asynchronously through the font loader and Text widgets that use them are refreshed when they are ready +- Fonts are loaded asynchronously through the font loader and Text widgets that use them are refreshed when they are ready \ No newline at end of file diff --git a/packages/google_fonts/lib/src/google_fonts_base.dart b/packages/google_fonts/lib/src/google_fonts_base.dart index 2f0db1178859..93a6e630a2e7 100755 --- a/packages/google_fonts/lib/src/google_fonts_base.dart +++ b/packages/google_fonts/lib/src/google_fonts_base.dart @@ -151,7 +151,7 @@ Future loadFontIfNecessary(GoogleFontsDescriptor descriptor) async { byteData = rootBundle.load(assetPath); } if (await byteData != null) { - return loadFontByteData(familyWithVariantString, byteData); + return await loadFontByteData(familyWithVariantString, byteData); } // Check if this font can be loaded from the device file system. @@ -161,7 +161,7 @@ Future loadFontIfNecessary(GoogleFontsDescriptor descriptor) async { ); if (await byteData != null) { - return loadFontByteData(familyWithVariantString, byteData); + return await loadFontByteData(familyWithVariantString, byteData); } // Attempt to load this font via http, unless disallowed. @@ -171,7 +171,7 @@ Future loadFontIfNecessary(GoogleFontsDescriptor descriptor) async { descriptor.file, ); if (await byteData != null) { - return loadFontByteData(familyWithVariantString, byteData); + return await loadFontByteData(familyWithVariantString, byteData); } } else { throw Exception( diff --git a/packages/google_fonts/pubspec.yaml b/packages/google_fonts/pubspec.yaml index 37bca4191329..021ef5dff338 100644 --- a/packages/google_fonts/pubspec.yaml +++ b/packages/google_fonts/pubspec.yaml @@ -2,7 +2,7 @@ name: google_fonts description: A Flutter package to use fonts from fonts.google.com. Supports HTTP fetching, caching, and asset bundling. repository: https://github.com/flutter/packages/tree/main/packages/google_fonts issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+google_fonts%22 -version: 8.0.1 +version: 8.0.2 environment: sdk: ^3.9.0