-
Notifications
You must be signed in to change notification settings - Fork 9.8k
[ios_platform_images] Migrate to null safety #3381
[ios_platform_images] Migrate to null safety #3381
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with one optional opportunistic API improvement.
Good catch on the missing licenses!
@@ -129,7 +143,7 @@ class IosPlatformImages { | |||
/// Returns null if the resource can't be found. | |||
/// | |||
/// See [https://developer.apple.com/documentation/foundation/nsbundle/1411540-urlforresource?language=objc] | |||
static Future<String> resolveURL(String name, [String ext]) { | |||
static Future<String?> resolveURL(String name, [String? ext]) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we're doing breaking changes anyway, and optional positional elements are strongly discouraged, should we take the opportunity to make this {String? extension}
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
* [image_picker] use LocalizedString to fix lint error. (flutter#3349) * [connectivity] Clear networkCallback object as soon as stream is cancelled (flutter#3303) Set networkCallback back to null when event stream is cancelled * [local_auth] Update README for Android Integration (flutter#3348) * Fix outdated links across a number of markdown files (flutter#3276) * [camera] Flash functionality for Android and iOS (flutter#3314) * Move camera to camera/camera * Fix relative path after move * First suggestion for camera platform interface * Remove test coverage folder * Update the version to 1.0.0 * Remove redundant analysis overrides * Renamed onLatestImageAvailableHandler definition * Split CameraEvents into separate streams * Updated platform interface to have recording methods return XFile instances. * Update documentation and unit tests to match platform interface changes * Make file input optional for recording methods in platform interface. Update docs. * Add missing full stop in docs. * Run dartfmt. Wrapped docs after max 80 cols. Added missing full stop. * Implemented & tested first parts of method channel implementation * Remove unused EventChannelMock class * Add missing unit tests * Add availableCameras to method channel implementation * Updated platform interface * Update packages/camera/camera_platform_interface/lib/src/platform_interface/camera_platform.dart Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Update packages/camera/camera_platform_interface/lib/src/platform_interface/camera_platform.dart Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Added placeholders in default method channel implementation * Add missing implementations to default method channel implementation * Fix formatting * Fix PR feedback * Add unit test for availableCameras * Expand availableCameras unit test. Added unit test for takePicture. * Add unit test for startVideoRecording * Add unit test for prepareForVideoRecording * Add unit test for stopVideoRecording * Add unit test for pauseVideoRecording * Add unit test for buildView * Remove TODO comment * Update packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Update packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Update packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * WIP: Dart and Android implementation * Have resolution stream replay last value on subscription. Replace stream_transform with rxdart. * Added reverse method channel to replace event channel. Updated initialise and takePicture implementations for android. WIP implementation for startVideoRecording * Fixed example app for Android. Removed isRecordingVideo and isStreamingImages from buildView method. * iOS implementation: Removed standard event channel. Added reverse method channel. Updated initialize method. Added resolution changed event. Updated error reporting to use new method channel. * Added some first tests for camera/camera * Started splitting initialize method * More tests and some feedback * Finish splitting up initialize for iOS * Update unit tests * Remove unused listener in plugin * Fix takePicture method on iOS * Fix video recording on iOS. Updated platform interface. * Update unit tests * Update error handling of video methods in iOS code. Make iOS code more consistent. * Split initialize method on Android * Updated startVideoRecording documentation * Make sure file is returned by stopVideoRecording * Change cast * Use correct event-type after initializing * Fix DartMessenger unit-tests * Fix formatting * Fixed tests, formatting and analysis warnings * Added missing documentation public APIs * Added missing license to Dart files * Fix formatting issues * Updated CHANGELOG and version * Added more tests * Formatted code * Added additional unit-tests to platform_interface * Fix formatting issues * Re-added the CameraPreview widget * Refactored CameraException not to use * Use import/export instead of part implementation * fixed formatting * Resolved additional feedback * Resolved additional feedback * Flash WIP * Implement flash modes for Android * Update dependency to git repo * Add missing PictureCaptureRequest class * Add PR feedback * Move enums out of Camera.java * Expanded platform interface so support setting flash mode * Formatted dart code * Manually serialize flash mode enum rather than relying on stringification. * Add default to flash mode serialization * Fix for unit tests and reformatting * Fixed CHANGELOG and remove redundant iOS files * Expose FlashMode through camera package * Add reqeusted unit tests * Clean up new tests * Add unit tests for Android implementation * Update platform interface dependency to point to pub.dev release. Co-authored-by: Maurits van Beusekom <maurits@baseflow.com> Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> Co-authored-by: daniel <daniel.roek@gmail.com> * Add implementation of didFinishProcessingPhoto callback (flutter#3337) * [camera] Zoom functionality for Android and iOS (flutter#3315) * Refactored and tested zoom on Android * Fix merge conflict * Fix test exclusion logic for nnbd plugins (flutter#3342) * [video_player] Fix video player test (flutter#3361) * [image_picker] Do not copy a static field into another static field (flutter#3353) * [url_launcher] forceSafariVC should be nullable to avoid breaking change (flutter#3354) * Fix documentation (flutter#3362) * Make sure saveTo returns a Future (flutter#3363) * add check for duration is CMTIME_IS_INDEFINITE * updated changelog and version * [camera] Add implementations for the torch flash mode. (flutter#3338) * Added torch mode functionality for Android and iOS. * Format objective c code * [camera] Fix flash/torch not working on some Android devices. (flutter#3367) * Wait pre capture to finish * Add autofocus stage to capture * Fixed autofocus stage * Make sure torch is turned off * Format & structure improvements * Update changelog and pubspec * Update packages/camera/camera/android/src/main/java/io/flutter/plugins/camera/Camera.java Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Update packages/camera/camera/android/src/main/java/io/flutter/plugins/camera/PictureCaptureRequest.java Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Update packages/camera/camera/CHANGELOG.md Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Update packages/camera/camera/pubspec.yaml Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Remove unnecessary import. * Updated unit tests Co-authored-by: Maurits van Beusekom <maurits@baseflow.com> Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * [camera] Fix video recording exception on Android (flutter#3375) * Fixed video recording * Update changelog and pubspec version * Update packages/camera/camera/CHANGELOG.md Co-authored-by: Maurits van Beusekom <maurits@baseflow.com> Co-authored-by: Maurits van Beusekom <maurits@baseflow.com> * [camera] Added maxVideoDuration to startVideoRecording (flutter#3365) * Added maxVideoDuration to startVideoRecording * updated documentation Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * updated documentation Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Fixed long line in docs * Formatting Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * [camera_platform_interface] Add platform interface methods for setting auto exposure. (flutter#3345) * Added platform interface methods for setting auto exposure. * Added platform interface methods for setting auto exposure. * Remove workspace files * Update camera_platform_interface to 1.2.0 (flutter#3376) * Change platform interface dependency (flutter#3377) * [camera] Add iOS and Android implementations for managing auto exposure. (flutter#3346) * Added platform interface methods for setting auto exposure. * Added platform interface methods for setting auto exposure. * Remove workspace files * Added auto exposure implementations for Android and iOS * iOS fix for setting the exposure point * Removed unnecessary check * Update platform interface dependency * Implement PR feedback * Restore test * Small improvements for exposure point resetting * Added closeCaptureSession() to stopVideoRecording in Camera.java to fix an Android 6 crash (flutter#3336) Co-authored-by: Maurits van Beusekom <maurits@baseflow.com> * [camera_platform_interface] Added imageFormatGroup to initialize (flutter#3364) * Added imageFormatGroup to initialize * Apply suggestions from code review Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Added period to sentence * Moved ImageFormatGroup to platform_interface; Added extension to convert ImageFormatGroup to name; Changed int to ImageFormatGroup for initializeCamera * Fixed test * Separated Android and iOS in name extension * Clarified returns on name extension * Export image_format_group.dart in types.dart * Changed enum values to lowercase * Added ImageFormatGroup test * Fixed formatting * Removed target platform switch. * Fixed formatting Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * [camera] Fixed stale images in imageStream subscriptions (flutter#3344) * Fixed stale images in imageStream subscriptions * Implemented feedback * Fixed format exception * added null-check for imageStreamReader * Removed setOnImageAvailableListener from onCancel * fixed formatting * [camera] disable auto focus when using front facing camera on Android (flutter#3383) * Refactured Camera and fix issue front facing camera * Update FPS range on Android to have correct brightness * Formatted files * Fix version conflict * [camera_platform_interface] Add platform interface methods for setting auto focus. (flutter#3369) * Added platform interface methods for setting auto exposure. * Added platform interface methods for setting auto exposure. * Remove workspace files * Added auto exposure implementations for Android and iOS * Added platform interface methods for managing auto focus. * Formatted code * Export focus mode * Update platform interface for changes to autofocus methods * Revert "Update platform interface for changes to autofocus methods" This reverts commit bdeed1d. * iOS fix for setting the exposure point * Removed unnecessary check * Updated changelog and pubspec.yaml * Update platform interface dependency * Implement PR feedback * Restore test * Revert test change * Update camera pubspec * Update platform interface to prevent breaking changes with current master Co-authored-by: Maurits van Beusekom <maurits@baseflow.com> * [camera_platform_interface] Add platform interface methods for locking capture orientation. (flutter#3389) * Expand platform interface to support reporting device orientation * Switch to flutter DeviceOrientation enum * Add interface methods for (un)locking the capture orientation. * Update capture orientation interfaces and add unit tests. * Made device orientation mandatory for locking capture orientation in the platform interface. * Update comment * Update comment. * Update changelog and pubspec version * Update packages/camera/camera_platform_interface/lib/src/events/device_event.dart Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Update packages/camera/camera_platform_interface/lib/src/events/device_event.dart Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Update packages/camera/camera_platform_interface/lib/src/events/device_event.dart Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Update packages/camera/camera_platform_interface/lib/src/events/device_event.dart Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Update packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Update packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> Co-authored-by: Maurits van Beusekom <maurits@baseflow.com> * [camera] set useAutoFocus to true by default (flutter#3396) * set useAutoFocus to true by default there's no way to set useAutoFocus to `true` and it is `false` by default so the auto focus is not working. * Update pubspec.yaml * Update CHANGELOG.md * [image_picker] Update README.md (flutter#3098) * [in_app_purchase] Added serviceTimeout code (flutter#3287) * Update obsolete button refs in plugin examples (flutter#3395) * Update packages/video_player/video_player/ios/Classes/FLTVideoPlayerPlugin.m * Update pubspec version * fix version (flutter#3399) * Ignore deprecated_member_use analysis lint (flutter#3400) * [battery] Migrate battery_plugin_interface to null safety (flutter#3366) * Sync the PR template to the new style (flutter#3397) * [camera] Implemented ImageStream ImageFormat setting for Dart and Android (flutter#3359) * Implemented ImageStream ImageFormat setting for Dart and Android * Fixed formatting and toString test * Apply suggestions from code review * Removed imageStreamImageFormat from CameraValue * Removed imageStreamImageFormat from CameraValue * Removed imageStreamImageFormat from CameraValue * fixed formatting * fixed formatting * fixed formatting * WIP: iOS implementation * Imaplemented suggested changes, added tests. * iOS switch case videoFormat * Added imageFormatGroup to initialize * Apply suggestions from code review Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * Added period to sentence * Moved ImageFormatGroup to platform_interface; Added extension to convert ImageFormatGroup to name; Changed int to ImageFormatGroup for initializeCamera * Fixed test * Separated Android and iOS in name extension * Clarified returns on name extension * updated Android implementation to support String output * removed getOrDefault * Updated camera implementation to use ImageFormatGroupName; Updated to Dart 2.7.0 to support extensions; * removed unused import * Export image_format_group.dart in types.dart * Changed enum values to lowercase * Added ImageFormatGroup test * Fixed formatting * made enum strings lowercase * Removed target platform switch. * Fixed formatting * Updated Android implementation * Updated iOS implementation * updated log message for unsupported ImageFormatGroup * Updated Android implementation * fixed period in docs * Switch change to if-statement * Moved switching videoFormat to method in iOS * Implemented feedback * fixed formatting * fixed mistakingly removed bracket * fixed formatting * Updated version * Updated version * fixed formatting * Define TAG correctly Co-authored-by: anniek <anniekvalk@gmail.com> Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> Co-authored-by: Maurits van Beusekom <maurits@baseflow.com> * [camera] Add iOS and Android implementations for managing auto focus. (flutter#3370) * Added platform interface methods for setting auto exposure. * Added platform interface methods for setting auto exposure. * Remove workspace files * Added auto exposure implementations for Android and iOS * Added platform interface methods for managing auto focus. * Formatted code * Export focus mode * Add Android and iOS implementations (WIP) * Update platform interface for changes to autofocus methods * WIP * Revert "Update platform interface for changes to autofocus methods" This reverts commit bdeed1d. * Finish android implementation * Fix iOS implementation * iOS fix for setting the exposure point * Removed unnecessary check * Updated changelog and pubspec.yaml * Updated changelog and pubspec.yaml * Update platform interface dependency * Implement PR feedback * Restore test * Revert test change * Update camera pubspec * Update platform interface to prevent breaking changes with current master * Update test to match platform interface updates * Code format * Fixed compilation error * Fix formatting * Add missing license headers to java source files. * Update platform interface dependency * Change fps range determination * Fix analysis warnings Co-authored-by: Maurits van Beusekom <maurits@baseflow.com> * [google_maps_flutter_platform_interface] Adds support for holes in polygon overlays to the Google Maps plugin (flutter#3135) * [video_player] Migrate deprecated api (flutter#3409) * [battery] Migrate battery to null safety (flutter#3380) * [file_selector_web] Add initial implementation (flutter#3141) Add the file_selector web implementation * [camera] Implemented capture orientation locking. Fixed preview rotation issues. Fixed video and photo orientation upon save. (flutter#3390) * [google_maps_flutter] Adds support for holes in polygon overlays to the Google Maps plugin (flutter#1721) * [file_selector_web] Add dummy ios directory. (flutter#3416) This is required so the plugin is publishable. * [camera] Fix picture capture causing a crash on some Huawei devices. (flutter#3414) * [camera] Fix initialization error in camera example on iOS (flutter#3406) * Fix error on first camera initialize in example app * Improved error handling a bit & updated tests. * Updated pubspec and changelog Co-authored-by: Maurits van Beusekom <maurits@baseflow.com> * [camera] Fixes crash with using inner camera on some Android devices. (flutter#3419) * [camera] Copy zoom settings from preview to final capture builder on Android (flutter#3413) * Copy SCALER_CROP_REGION from preview to final capture builder * Update version number * Fix formatting * fix to properly place polyline at initial camera position in example app (flutter#2941) * [camera] Fixes crash when taking a picture on iOS devices without flash (flutter#3411) * [file_selector_platform_interface] Bump the cross_file version (flutter#3422) * [local_auth] Allow device authentication (pin/pattern/passcode) (flutter#2489) * [google_sign_in] Migrate to nnbd (flutter#3329) * [script] Update build_all_plugins_app to exclude some plugins in `master`. (flutter#3432) * [google_maps_flutter_web] Support for Holes in Polygons (flutter#3412) * [google_sign_in, url_launcher] Document unendorsement of web. (flutter#3436) Add some documentation to the CHANGELOGs to mention that null-safety is still not supported by web plugins, so they're being un-endorsed. * [plugin_platform_interface] Use Mockito nnbd (flutter#3437) * combine release messages and versions (flutter#3435) * Add Labeler Github Action (flutter#3433) * Update pubspec version * Windows nullsafety prep (flutter#3442) shared_preferences_windows depends on path_provider_windows, and both use 'ffi'. This relaxes the 'ffi' version constraint on shared_preferences_windows to allow path_provider_windows to be migrated to null-safety (which requires updating to the nullsafe version of ffi). Part of flutter/flutter#70229 * [path_provider] Migrate path_provider_windows to nullsafety (flutter#3410) Migrates path_provider_windows to null-safety. Part of flutter/flutter#70229 * [camera] Ensure that channel.invokeMethod runs on the main thread (flutter#3444) * [google_maps_flutter_web] Reverse Hole winding when needed (flutter#3440) The Web Version needs the holes in a polygon to be defined in the opposite direction to their parent polygon. This change automatically reverses the definition of a hole, when needed. In debug mode, it'll let the user know that the holes need to be wound differently. Co-authored-by: Anton Borries <anton.borries@2denker.de> * [google_maps_flutter_platform_interface] add custom tile support (flutter#3418) * [google_maps_flutter_platform_interface] Fixes for custom tiles (flutter#3449) * [ci][image_picker]enable xcode 12/iOS 14 for all tasks except lint (flutter#3304) * Revert "[ci][image_picker]enable xcode 12/iOS 14 for all tasks except lint (flutter#3304)" (flutter#3459) This reverts commit 712dcc1. * bump vmservice (flutter#3463) * [cross_file] Use Uri when calling package:http methods (flutter#3462) The next version of package:http expects URIs. See dart-lang/http#507 * [path_provider] drop uuid (flutter#3465) * [cross_file] Migrate to null-safety. (flutter#3452) Also: skip some packages from the all_plugins app so CI passes. * [image_picker_platform_interface] fix test asset file location (flutter#3467) * Revert "[cross_file] Migrate to null-safety. (flutter#3452)" (flutter#3468) This reverts commit ca99211. * Reland "[cross_file] Migrate to null-safety. (flutter#3452)" (flutter#3469) This reverts commit 4aacf97. * refactor FLTCMTimeToMillis * update changlog description * added test * [ci] fix ci failure on ios builds (flutter#3470) * [package_info] Register IntegrationTestPlugin in the example app. (flutter#3478) This change registers the IntegrationTestPlugin in the example app, so test results are correctly reported back to FTL. The end-to-end firebase tests for package_info haven't passed in a while (nor have been reported as broken before), but after this change, they start passing again. * [integration_test] Fix tests from changes to `flutter test` machine output (flutter#3480) * [url_launcher] Update description in pubspec.yaml (flutter#2858) * [ci][image_picker][webviews_flutter] enable Xcode 12 (flutter#3461) * [url_launcher_web] Fix Link misalignment issue (flutter#3476) The Link widget builds a Stack on the web. The Stack by default loosens the constraints passed by the parent. This is what was causing the misalignment. In order to fix it, we just need to pass fit: StackFit.passthrough to the Stack. * Remove amirh from CODEOWNERS (flutter#3484) * [local_auth] Fix incorrect switch fallthrough (flutter#3473) * [path_provider_windows] Resolve FFI stabilization changes (flutter#3485) Ensures that path_provider_windows works on current null safety builds. * Remove Dart stubs from macOS plugins (flutter#3491) When these federated plugins were created, plugins had to have at least one Dart file to avoid issues with the analyzer, so were created with a stub file since all the code is native. The analyzer no longer has this limitation, so the stub is no longer necesssary. * Migrate shared_preferences_platform_interfaces to null safety (flutter#3466) * Automatically add platform labels (flutter#3487) Tags PRs with platform-* labels based on the platform(s) being edited. This will allow filtering open PRs by OS (e.g., to allow someone focusing on a single platform's plugin implementations to easily find all relevant PRs). * Add plugin issue query to README (flutter#3493) * [camera] Fix example reference in camera's doc (flutter#3472) * Revert compileSdkVersion to 29 (flutter#3496) * Remove cyanglaz from some package code owners (flutter#3495) * Run pub global activate before pub global run (flutter#3502) * Run activate before run (flutter#3506) * [path_provider] Update macOS for NNBD (flutter#3498) macOS federated plugin implementations that contain no Dart code just need their Dart SDK bumped in order to be considered nullsafe. * [path_provider_linux] Migrate to null safety (flutter#3330) * fix google_maps_flutter_platform_interface version (flutter#3500) * [google_maps_flutter] add tile overlays (flutter#3434) * Merge upcoming camera updates (flutter#3501) * [shared_preferences] Update macOS for NNBD (flutter#3505) macOS federated plugin implementations that contain no Dart code just need their Dart SDK bumped in order to be considered nullsafe. * Clean up CODEOWNERS (flutter#3438) * update versino (flutter#3512) * Add a note about Plus plugins to CONTRIBUTING.md (flutter#3511) Adds a prominent note to CONTRIBUTING.md about the new policy regarding PRs for plugins for which there is a Flutter Community Plus Plugins equivalent. * [in_app_purchases] Remove TypeMatcher reference (flutter#3494) * Remove stray dependency (flutter#3515) * [image_picker_platform_interface] migrate to nnbd (flutter#3492) * [package_info] Migrate to null safety (flutter#3398) * Migrate path_provider to null safety. (flutter#3460) * Update to ffi 0.3.0-nullsafety.1 (flutter#3513) ffi 0.3.0 supports the new memory allocation model in Dart 2.12.0-259 and later. * [wifi_info_flutter] Check Permissions in Android O or higher (flutter#3234) * Check Permissions * Format * Update packages/wifi_info_flutter/wifi_info_flutter/android/src/main/java/io/flutter/plugins/wifi_info_flutter/WifiInfoFlutter.java Co-authored-by: Maurice Parrish <bmparr@google.com> * Update packages/wifi_info_flutter/wifi_info_flutter/android/src/main/java/io/flutter/plugins/wifi_info_flutter/WifiInfoFlutter.java Co-authored-by: Maurice Parrish <bmparr@google.com> * Update packages/wifi_info_flutter/wifi_info_flutter/android/src/main/java/io/flutter/plugins/wifi_info_flutter/WifiInfoFlutter.java Co-authored-by: Maurice Parrish <bmparr@google.com> * Update packages/wifi_info_flutter/wifi_info_flutter/android/src/main/java/io/flutter/plugins/wifi_info_flutter/WifiInfoFlutter.java Co-authored-by: Maurice Parrish <bmparr@google.com> * Update packages/wifi_info_flutter/wifi_info_flutter/android/src/main/java/io/flutter/plugins/wifi_info_flutter/WifiInfoFlutter.java Co-authored-by: Maurice Parrish <bmparr@google.com> * Update packages/wifi_info_flutter/wifi_info_flutter/android/src/main/java/io/flutter/plugins/wifi_info_flutter/WifiInfoFlutter.java Co-authored-by: Maurice Parrish <bmparr@google.com> * Update packages/wifi_info_flutter/wifi_info_flutter/android/src/main/java/io/flutter/plugins/wifi_info_flutter/WifiInfoFlutter.java Co-authored-by: Maurice Parrish <bmparr@google.com> * Update packages/wifi_info_flutter/wifi_info_flutter/android/src/main/java/io/flutter/plugins/wifi_info_flutter/WifiInfoFlutter.java Co-authored-by: Maurice Parrish <bmparr@google.com> Co-authored-by: Maurice Parrish <bmparr@google.com> * [camera_platform_interface] Added stopRecordingVideo (flutter#3518) * Added stopRecordingVideo * Removed deprecation and made stopRecordingVideo return void * Removed unused import * Revert pubspec change * Updated documentation * removed stopRecordingVideo * Update packages/camera/camera_platform_interface/lib/src/platform_interface/camera_platform.dart Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * fixed formatting * Remove coverage folders * Updated documentation * updated version Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> * [camera] Clockwise rotation of focus point in android (flutter#3458) * [shared_preferences_windows]-Migrate to null safety (flutter#3516) Migrate shared_preferences_windows to null safety * [image_picker] Migrate to null-safety (flutter#3524) Migrate image_picker to null-safety * [file_selector_platform_interface] File selector nnbd (flutter#3509) Migrating file_selector_interface to null-safety * [shared_preferences] Migrate platform plugins to null-safety (flutter#3523) Migrates shared_preferences_linux and shared_preferences_web to null-safety. * [camera_platform_interface] Migrate to null safety (flutter#3497) * [ios_platform_images] Migrate to null safety (flutter#3381) * [file_selector_web] Fix typo in pubspec. (flutter#3528) (Introduced by mistake in flutter#3509) * [sensors] Migrate to null safety (flutter#3423) * [quick_actions] Migrate to null safety (flutter#3421) * [video_player]: Fix texture unregistration callback signature Flutter's video plugin can cause crashes after a closing a flutter view on simulator model iPhone X or higher Co-authored-by: Mike Diarmid <mike.diarmid@gmail.com> * [wifi_info_flutter] Migrate the platform interface to null safety (flutter#3424) * [url_launcher] Fix PlatformException introduced in nnbd release (flutter#3333) * Add section about how to use Material components in an app using WebView (flutter#3521) * Add plugin tools as a git submodule and depend on it directly (flutter#3527) * [shared_preferences] Migrate main package to null-safety (flutter#3526) Migrates shared_preferences to nnbd. Fixes flutter/flutter#74876. Note: also recreated the android and macos example applications because the macOS app was apparently a copy of the connectivity app and had connectivity_example as its name, the Android app was using the embedding v1. * Update video_player_platform_interface to latest pigeon (flutter#3507) See flutter#3281 for context. * [share] Update README.md (flutter#3300) * Update README.md I just tried to update the links. The old links worked too but redirected to the current links. I just had the idea to put the current links directly. https://pub.dartlang.org/packages/share to https://pub.dev/packages/share/ and https://flutter.io/platform-plugins/ to https://flutter.dev/docs/development/packages-and-plugins/using-packages * Update pubspec.yaml * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: stuartmorgan <stuartmorgan@google.com> * Removed obsolete example folder from camera root (flutter#3503) * [camera_platform_interface] Migrate to null safety (flutter#3530) * Migrate camera_platform_interface to null safety * Added camera to the NNBD plugin list * Correct version number * Convert optional parameters to required for CameraInitializationEvent * Convert CameraId in test to non-nullable * Test for null instead of enforcing non-null * Attempt to fix dependency problem building all plugins * Mark google_maps_flutter as NNBD * Depend on correct Dart SDK version * Attempt to fix dependency problem building all plugins * Attempt to fix dependency problem building all plugins * Attempt to fix dependency problem building all plugins * Attempt to fix dependency problem building all plugins * Add camera_platform_interface to exclude list * Exclude camera from nnbd and non-nnbd * Remove mockito dependency * Make sure enableAudio is default false * Include left-hand type definition * Removed unused import statement * Update pubspecs (flutter#3534) * add post merge labeler (flutter#3532) * [wifi_info_flutter] Migrate to null safety (flutter#3425) * Bump ffi dependencies (flutter#3540) * Update to FFI 1.0 * Bump CHANGELOG * Added comment about path depenendencies (flutter#3542) * [android_alarm_manager] Migrated android_alarm_manager to support null safety #75233 (flutter#3499) Migrated android_alarm_manager to support null safety. Fixes flutter/flutter#75233 * Move plugin tools code (flutter#3544) * [image_picker_web] Migrate to null-safety (flutter#3535) * Honor, and scrub, the 1.0 compatibility promise (flutter#3545) * Update video_player_web to point to new video_player_interface (flutter#3536) * [google_maps_flutter] Migrate platform interface to null safety (flutter#3539) Part of flutter/flutter#75236 Includes a significant refactor of the various overlay objects to remove a lot of identical code across the objects. * Enable CI tests on beta (flutter#3538) * [camera] Fixes crash on takePicture() (flutter#3537) * Fixes #75133 * Updated pubspec.yaml and change log * Fix format * [camera] NNBD migration of the camera plugin (flutter#3533) * Migrate camera_platform_interface to null safety * Exclude camera_platform_interface from all plugins script * Convert CameraId in test to non-nullable * Migrate to nullsafety * Attempt to fix dependency problem building all plugins * Update version information * Fix type * Make exposureMode and focusMode non-nullable * Mark google_maps_flutter as non-NNBD * Update dependencies * Added missing entry to CHANGELOG.md * Rebased on master * Fix the build-all exclusion list (flutter#3552) build_all_plugins_app.sh contains an exclusion list, which currently contains almost all of the non-app-facing plugins. However, the script those exclusions are passed to expects federated plugin exclusions to be of the form plugin_name/plugin_name_subplugin_name, not just plugin_name_subplugin_name, so in practice almost nothing on that list has actually been doing anything. This fixes the script to allow either mode of exclusion (since clearly people expect using just the name to work), and scrubs everything from the list that clearly wasn't actually needed. * [path_provider] Update Windows implementation version (flutter#3541) * [google_maps_flutter] Fix CameraPosition regression (flutter#3547) The nullability conversion added a type check when recreating a CameraPosition from JSON that was too restrictive, and regressed the app-facing package. This relaxes that assertion, and adds a test to catch the issue. * [url_launcher_web] Migrate to null-safety (flutter#3522) This version uses auto-generated Mocks from mockito5 for its tests. For now, tests only run in the `master` channel. Co-authored-by: Maurits van Beusekom <maurits@baseflow.com> * [file_selector_web] update documentation #76067 (flutter#3554) Fix documentation typo. This package is file_selector, not file_picker! Co-authored-by: David Iglesias <ditman@gmail.com> * Remove iOS stubs (flutter#3490) Plugins that don't actually support iOS are no longer required to have an iOS stub to prevent build failures. This removes all iOS stubs from plugins that don't support iOS. * [url_launcher] Re-endorse web implementation. (flutter#3557) This change re-endorses url_launcher_web, now that it's been migrated to null-safety. * Document how to use pigeon and update to the latest version. (flutter#3281) * Publish check (flutter#3556) * Update video_player readme to change sample video to https (flutter#3546) * [camera] Added timeout to Android pre-capture sequence (flutter#3558) * Added timeout for waiting pre-capture state Android * Fix analysis warning and bumped version * Publish check ignores prerelease sdk (flutter#3560) * Migrate plugin_platform_interface to v2 stable, null-safe (flutter#3543) * [shared_preferences] fix crash when list type is dynaimc (flutter#3565) * [webview_flutter] Support for loading progress tracking (flutter#2151) * [shared_preferences] Migrate examples to NNBD (flutter#3564) Migrate all examples to NNBD so that the example apps will run in strong mode. Converts macOS example to use the platform interface to remove circular dependencies (code is based on the Linux and Windows versions which already use essentially that approach). * [video_player_web] Ignore mixWithOthers option (flutter#3561) The documentation is updated to note this option will be silently ignored in web. Signed-off-by: Leandro Lucarella <luca@llucax.com> * [path_provider] Migrate examples to null-safety (flutter#3559) Allows running the examples in strong mode, even though the integration tests can't yet be. Converts the macOS example to use the platform interface, rather than the app-facing package, to eliminate the circular dependency. Also does some cleanup and simplification of the desktop example pubspecs. Does not update versions/changelogs since this won't be explicitly published, given that it's example-only. * [image_picker_for_web] Add doc comments to point out that some arguments aren't supported on the web (flutter#3566) Re-landing a PR that @ditman messed up! flutter#3566 Co-authored-by: Jens Becker <jensbecker01@gmx.de> Co-authored-by: Chris Yang <ychris@google.com> * [google_maps_flutter] Migrate to NNBD (flutter#3548) Migrates the full plugin to null safety. * [url_launcher] Bump platform interface package to stable NNBD (flutter#3570) Also enables null safety for the unit tests, which had been opted out. * [in_app_purchase] Migrate to NNBD (flutter#3555) * [path_provider] Bump platform interface package to stable NNBD (flutter#3568) * [flutter_plugin_android_lifecycle] Bump version for NNBD stable (flutter#3569) * [package_info] Bump version for NNBD stable (flutter#3571) Includes: - Migrating the example to NNBD - Bullet-proofing against null values from the native code; at least the ObjC code can theoretically return nulls. * [image_picker_platform_interface] Bump NNBD version to stable (flutter#3573) * [flutter_plugin_android_lifecycle-sdk] Update Flutter SDK constraint * [path_provider] Bump platform packages to NNBD stable (flutter#3575) Makes all platform packages stable null-safe releases. * [image_picker] use nnbd version of deps to resolve ci failure (flutter#3580) * [image_picker] NNBD stable (flutter#3579) * [url_launcher] Fix SDK copypasta (flutter#3583) The lower end of the SDK range was wrong due to a bad copy/paste. * [camera] Solves delay when using the zoom feature on iOS. (flutter#3562) * migrate connectivity platform interface to stable (flutter#3585) * [shared_preferences] Bump version for NNBD stable (flutter#3586) * [battery] Bump platform version to NNBD stable (flutter#3587) * [sensors] Update to NNBD stable (flutter#3589) Includes migrating example to null-safety. * [connectivity_macos] move NNBD to stable (flutter#3588) * [cross_file] Stable null safety release (flutter#3593) * [shared_preferences] Bump platform versions to NNBD stable (flutter#3595) * [url_launcher] Update platforms to NNBD stable (flutter#3584) Updates all versions to stable. Converts all desktop examples to null-safety, and migrates Linux and macOS to use platform interface for examples rather than app-facing package to eliminate circular dependencies (implementation copied directly from Windows). * [battery] Bump version for NNBD stable (flutter#3594) Also replaces Mockito with test/Fake since the usage is a simple fake. * [path_provider] Update to stable NNBD (flutter#3582) Bumps the versions in the app-facing package to make it stable NNBD. Changes the interface of four core methods to non-nullable, and adds a new exceptions if they aren't provided by the platform implementations. The list is somewhat arbitrary, but these seem like the four that are core enough that any implementation should either provide them, or explicitly say they don't have such a concept via UnsupportedError, since there isn't an obvious way for a developer to fall back if they are unexpectedly missing. * [connectivity_macos] fix version (flutter#3599) * [google_maps_flutter] Bump platform interface version for NNBD stable (flutter#3598) * [device_info_platform_interface] null safety stable release (flutter#3597) * [share] Bump version for NNBD stable (flutter#3600) * [android_intent] Bump version for NNBD stable (flutter#3601) * [shared_preferences] Bump app-facing version for NNBD stable (flutter#3602) * [connectivity_macos] fix flutter version constraint (flutter#3604) * [url_launcher] Bump app-facing version for NNBD stable (flutter#3603) * [android_intent] Fix Flutter SDK version (flutter#3607) * [file_selector_platform_interface] null safety stable release (flutter#3605) * [connectivity] null safety stable release (flutter#3596) * [video_player_platform_interface] Bump version for NNBD stable (flutter#3578) * [android_alarm_manager] Bump version for NNBD stable (flutter#3608) * [local_auth] Bump version for NNBD stable (flutter#3615) * quick action stable (flutter#3618) * [ios_platform_images] Bump version for stable NNBD (flutter#3616) * [espresso] Update SDK requirement for null-safety (flutter#3614) * [google_maps_flutter] fixed a small bug in example app. (flutter#3590) in _onMarkerTapped function we were changing markers[markerId] to defaultMarker and than again markers[markerId] to hueGreen marker, while instead we should have changed markers[selectedMarker] to defaultMarker first instead of markers[markerId] * [google_sign_in_web] Ignore analyzer checks in generated files. (flutter#3622) These checks are currently breaking the engine/framework rolls. * [google_sign_in] Bump platform interface version for NNBD stable (flutter#3617) * [shared_preferences] Removed deprecated AsyncTask API (flutter#3481) * [webview_flutter] release null safety to stable(flutter#3619) * [wifi_info_flutter_platform_interface] null safety stable release (flutter#3620) * [camera] Fix example from README.md (flutter#3592) * [device_info_platform_interface] handle null value from method channel (flutter#3609) * [google_maps_flutter] Bump app-facing version for NNBD stable (flutter#3623) * [video_player_web] Bump version for NNBD stable (flutter#3574) * [video_player] Bump app-facing version for NNBD stable (flutter#3624) * [url_launcher] Update result to `True` when the url was loaded successfully. (flutter#3475) * Update FLTURLLauncherPlugin.m Update result to `True` when the url was loaded successfully. * Update pubspec.yaml * Update CHANGELOG.md * Undo the re-addition of pre-release changelogs. Co-authored-by: Ben Li <libe@google.com> Co-authored-by: stuartmorgan <stuart.morgan@gmail.com> * [quick_action] fix delegate methods not called on iOS (flutter#3621) * [file_selector_web] Migrated to null-safety (flutter#3550) Co-authored-by: David Iglesias Teixeira <ditman@gmail.com> * [device_info] null safety stable (flutter#3626) * [file_selector] Return a non-null value from getSavePath on web (flutter#3630) * [cross_file] Fix base class nullability (flutter#3629) Without this, the dummy ("interface") XFile implementation of these properties has different nullability than the others, and the analyzer doesn't match what the runtime actually sees. * [in_app_purchase] Add support for InApp subscription upgrade/downgrade (flutter#2822) * [wifi_info_flutter] null safety stable (flutter#3627) * [camera_platform_interface] Stable null safety release. (flutter#3610) * Stable null safety release camera_platform_interface * Update minimum plugin_platform_interface version * Update version of cross_file to 0.3.1 * [file_selector] Migrate to null safety (flutter#3631) Migrates the app-facing package to null safety. Includes replacing Mockito with a custom fake/mock. Fixes an issue where the example didn't handle dialogs being canceled, which was highlighted by the NNBD migration. (Previously, they would cause null assertions at runtime, which wasn't noticed during development. NNBD for the win!) Fixes flutter/flutter#75235 * embedded_views_preview not required since v1.0.0 (flutter#3625) `io.flutter.embedded_views_preview` is not required since version `1.0.0`, so doesn't need to be in the example. * Fix typo in image_picker_for_web README.md (flutter#2835) * [url_launcher] Added a note to the README (flutter#2031) The action won't work on the simulator works on physical iOS device which was not mentioned here so it was added Co-authored-by: Michael Klimushyn <mklim@google.com> Co-authored-by: Stuart Morgan <stuartmorgan@google.com> * Make executor an instance property (flutter#3633) * [google_sign_in_web] Migrate to null-safety (flutter#3628) * [google_sign_in] Bump app-facing version for NNBD stable (flutter#3637) * [file_selector] Endorse web (flutter#3643) * [extension_google_sign_in_as_googleapis_auth] Migrate to null safety (flutter#3642) Migrates to NNBD. Replaces Mockito-based fakes with test's Fake. * Fix Cirrus script for firebase testlab tests (flutter#3634) * [file_selector_platform_interface]: Verify that extensions don't have leading dots. (flutter#3451) * [image_picker_for_web] Bump version for NNBD stable (flutter#3635) * [shared_preferences] Don't create additional Handler when method channel is called. (flutter#3639) * migrate tests to null safety (flutter#3645) * Update pull_request_label.yml (flutter#3647) Co-authored-by: Chris Yang <ychris@google.com> Co-authored-by: Sebastian Roth <sebastian.roth@gmail.com> Co-authored-by: David Iglesias <ditman@gmail.com> Co-authored-by: Kevin Moore <kevmoo@users.noreply.github.com> Co-authored-by: Bodhi Mulders <info@bemacized.net> Co-authored-by: Maurits van Beusekom <maurits@baseflow.com> Co-authored-by: Maurits van Beusekom <maurits@vnbskm.nl> Co-authored-by: daniel <daniel.roek@gmail.com> Co-authored-by: Amir Hardon <amirh@users.noreply.github.com> Co-authored-by: Emmanuel Garcia <egarciad@google.com> Co-authored-by: Mehmet Fidanboylu <mehmetf@users.noreply.github.com> Co-authored-by: Nathanael <nathanaelneveux@me.com> Co-authored-by: Daniël <32639467+danielroek@users.noreply.github.com> Co-authored-by: Anniek <anniekvalk@gmail.com> Co-authored-by: Marko Filipović <mrkfilipovic3@gmail.com> Co-authored-by: Aman Verma <verma1090aman@gmail.com> Co-authored-by: Andrew Zuo <impure86@gmail.com> Co-authored-by: Hans Muller <hans.muller@gmail.com> Co-authored-by: Mike Diarmid <mike.diarmid@gmail.com> Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com> Co-authored-by: Maurice Parrish <bmparr@google.com> Co-authored-by: Ian Hickson <ian@hixie.ch> Co-authored-by: Aleksandr Yurkovskiy <sanekyy@gmail.com> Co-authored-by: Kate Lovett <katelovett@google.com> Co-authored-by: Juanjo Tugores <tugorez@users.noreply.github.com> Co-authored-by: najeira <najeira@gmail.com> Co-authored-by: klaes-ashford <36758008+klaes-ashford@users.noreply.github.com> Co-authored-by: Kenneth Jones <github@kennethdjones.com> Co-authored-by: Anton Borries <anton.borries@gmail.com> Co-authored-by: stuartmorgan <stuartmorgan@google.com> Co-authored-by: Sander Roest <jsroest@gmail.com> Co-authored-by: Anton Borries <anton.borries@2denker.de> Co-authored-by: Dan Field <dnfield@google.com> Co-authored-by: Gary Roumanis <groumanis@gmail.com> Co-authored-by: Jia Hao <jiahaog@users.noreply.github.com> Co-authored-by: Michael Thomsen <mit@google.com> Co-authored-by: Mouad Debbar <mouad.debbar@gmail.com> Co-authored-by: Tim Sneath <timsneath@google.com> Co-authored-by: Alex Li <github@alexv525.com> Co-authored-by: Yash Johri <yashjohri1200@gmail.com> Co-authored-by: Hamdi Kahloun <32666446+hamdikahloun@users.noreply.github.com> Co-authored-by: max <19898639+vimaxwell@users.noreply.github.com> Co-authored-by: Sameer Kashyap <40424087+Sameerkash@users.noreply.github.com> Co-authored-by: Darshan Rander <darshandrander@gmail.com> Co-authored-by: Gaëtan <blaxoujunior@gmail.com> Co-authored-by: shihchanghsiungsonos <44383755+shihchanghsiungsonos@users.noreply.github.com> Co-authored-by: nohli <43643339+nohli@users.noreply.github.com> Co-authored-by: Kabirou Agouda <64534846+kagouda@users.noreply.github.com> Co-authored-by: Jonas Finnemann Jensen <jopsen@gmail.com> Co-authored-by: Aman Kumar <thisisamank@gmail.com> Co-authored-by: hemanthrajdc <49126054+hemanthrajdc@users.noreply.github.com> Co-authored-by: Bharat Biradar <62872048+bharat-biradar@users.noreply.github.com> Co-authored-by: Jeremiah Parrack <jeremiahlukus1@gmail.com> Co-authored-by: Jérémie Vincke <jeremie@movify.com> Co-authored-by: Leandro Lucarella <luca@llucax.com> Co-authored-by: Jens Becker <jensbecker01@gmx.de> Co-authored-by: Vishnu Agarwal <53317018+vishnuagbly@users.noreply.github.com> Co-authored-by: LI DONGZE <lidongze91@gmail.com> Co-authored-by: Ben Li <libe@google.com> Co-authored-by: stuartmorgan <stuart.morgan@gmail.com> Co-authored-by: Rahul Raj <64.rahulraj@gmail.com> Co-authored-by: Floris Devreese <florisdevreese@hotmail.com> Co-authored-by: Lasse R.H. Nielsen <lrn@google.com> Co-authored-by: K K <kalkotekedar@gmail.com> Co-authored-by: Michael Klimushyn <mklim@google.com> Co-authored-by: Petrus Nguyễn Thái Học <hoc081098@gmail.com> Co-authored-by: Singgih Putra <singgihputrap@gmail.com>
Fixes flutter/flutter#75238
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (
[x]
). This will ensure a smooth and quick review process.///
).flutter analyze
) does not report any problems on my PR.Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?