forked from flutter/plugins
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[video_player] Platform interface changes to fix Android rotation for videos recorded in landscapeRight #1
Closed
KyleFin
wants to merge
259
commits into
KyleFin:video_player_android_rotation_plat_interface
from
flutter:master
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Reverts #4288 which published a breaking change as if it were a non-breaking change. The discussion in that PR prior to it landing was incorrect, because adding a new parameter with a default value is non-breaking *only for clients*. It is breaking for subclasses that override it, and the purpose of the platform interface is for implementations to subclass it and override everything.
It's possible for jobs to conclude in a "neutral" state; see https://github.com/flutter/plugins/runs/3534917860 for instance. Currently this causes "release" to be red when it shouldn't be.
Uses the new generic plugins recipe to add a number of new Windows tests that have recently gained tool support, but not yet added to the LUCI builds: - New targets: - The "build all plugins" test (master and stable) - UWP build tests (master only, since UWP is not on stable yet) - Tool tests (master only with existing tool tests on Linux) - Replacement versions of the existing builders but with names that match the Cirrus naming to make the parallels in testing easier to understand in the GitHub UI and configs. - Modification of existing targets: - Adds Windows native unit tests to the existing script.
Fixes the target names in LUCI to not use '+', since it's not supported. To better align the names between the two different infrastructures, also updates the task naming in cirrus.yml to not use +. It also standardizes the naming form across both systems as: `<Host platform> <target platform>-<test_name> <extra info>` where: - `<Host platform>` is always there on LUCI, where required, but only added where it's potentially ambiguous on Cirrus. - `<target platform>' is omitted when the test is not target-platform specific. - `<test_name>' uses underscores, which is consistent with flutter/flutter (and with Cirrus step naming). - `<extra info>` is only explicitly set (to the channel) on LUCI; Cirrus automatically adds channel info there due to the way `matrix` works.
Now that the builders have propagated, enable all the new tests and remove the obsolete versions.
This brings the native Android unit tests in line with the policy of having tests that we expect all plugins to have—unless there's a very specific reason to opt them out—fail when missing instead of skipping when missing, to help guard against errors where we silently fail to run tests we think we are running. Adds an explicit exclusion list covering the plugins that have a reason to be opted out. Android portion of flutter/flutter#85469
…4298) This commit: * uses the zIndex attribute when converting Circle geometry objects. * ensures that the getScreenCoordinate method works as expected on the web platform. * adds tests that can use a fully-rendered Google Map (see projection_test.dart) * changes the initialization flow of the web Google Map, so the Controller is only returned to the main plugin when it's ready to work. In order to test the getScreenCoordinate method, the Controller of a fully-rendered map must be available on the test, so we can retrieve information from an actual map instance. While working on this, it was observed that the Controller was being sent to the programmer before it was truly ready (while the map was still initializing). Instead of littering the test with imprecise timeouts that may make these tests slower (and flakier) than needed, this PR also changes the initialization process of a GMap slightly so when its Controller is returned to the user of the plugin (onPlatformViewCreated method call), it is truly ready. For this: * Controller.init is immediately called after the controller is created, * The plugin waits for the first onTilesloaded event coming from the JS SDK, and then * The Controller is sent to the user This change happens within "private" sections of the plugin, so programmers using the plugin "normally" shouldn't notice any difference whatsoever (only that the GMap might load slightly faster, and the onPlatformViewCreated callback might be firing a few hundred milliseconds later).
Brings iOS and macOS into alignment with the other platforms, where having unit tests set up is required. - For deprecated plugins with no tests, `--exclude`s them, as on other platforms. - For `quick_actions` and `share`, which have integration tests but no unit tests, sets up the unit test scaffolding. (This is done for `share` even though it's deprecated since unlike other platforms, iOS/macOS runs both native tests in the same command, and setting up a special way to exclude just units tests for that one case would be much more effort.) Fixes flutter/flutter#85469
…4218) TMPDIR is a standard variable on UNIX/Linux systems, and is often used in containers such as Flatpak to redirect to a temporary folder inside a sandbox. This allows not to make hard bindings to the /tmp directory Fixes flutter/flutter#87742
Uses the background script annotation, since & no longer works.
… support multiple files (#4336)
…eption when being replaced in the `VideoPlayer` (#4344) * fix: do not removeListener if VideoPlayerController is already disposed Co-authored-by: David Iglesias Teixeira <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
p: android_alarm_manager
p: android_intent
p: battery
p: camera
p: connectivity
p: cross_file
p: device_info
p: espresso
p: file_selector
p: flutter_plugin_android_lifecycle
p: google_maps_flutter
p: google_sign_in
p: image_picker
p: in_app_purchase
p: ios_platform_images
p: local_auth
p: package_info
p: path_provider
p: plugin_platform_interface
p: quick_actions
p: sensors
p: share
p: shared_preferences
p: url_launcher
p: video_player
p: webview_flutter
p: wifi_info_flutter
platform-android
platform-ios
platform-linux
platform-macos
platform-web
platform-windows
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Platform interface changes required for flutter#3820 (review)
List which issues are fixed by this PR. You must list at least one issue.
flutter/flutter#60327
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist
dart format
.)[shared_preferences]
///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.