Skip to content
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

[camerax] Fix _getResolutionSelectorFromPreset NPE #5287

Merged
merged 49 commits into from
Nov 2, 2023

Conversation

camsim99
Copy link
Contributor

@camsim99 camsim99 commented Oct 31, 2023

Fixes a mistake causing a NPE in _getResolutionSelectorFromPreset. Essentially, boundSize cannot be null except for one case (choosing the maximum available resolution), but the mistake I made was not allowing for that case to be valid.

(1/2 fixes really) Fixes flutter/flutter#135293.

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the relevant style guides and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
  • I signed the CLA.
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I listed at least one issue that this PR fixes in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.
  • I updated CHANGELOG.md to add a description of the change, following repository CHANGELOG style.
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is test-exempt.
  • All existing and new tests are passing.

camsim99 added 30 commits May 1, 2023 16:46
@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie or stuartmorgan on the #hackers channel in Chat (don't just cc them here, they won't see it! Use Discord!).

If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix?

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@camsim99 camsim99 requested a review from gmackall November 1, 2023 16:26
@camsim99
Copy link
Contributor Author

camsim99 commented Nov 1, 2023

With the current way I'm testing the method where this mistake was, there's no good way to add a new test. Right now, we defined a flag for creating detached objects to be used for testing, so for the bug in concern, the detached version of creating a ResolutionSelector was correct but the un-detached version was not. This makes me want to think further about testing the plugin this way. I don't have a good solution right now, but just wanted to note this.

Copy link
Member

@gmackall gmackall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@camsim99 camsim99 requested a review from gmackall November 2, 2023 21:28
Copy link
Member

@gmackall gmackall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-LGTM!

@camsim99 camsim99 added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 2, 2023
@auto-submit auto-submit bot merged commit 5b03a38 into flutter:main Nov 2, 2023
79 checks passed
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Nov 3, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Nov 3, 2023
flutter/packages@33c2b4e...cccf5d2

2023-11-02 47866232+chunhtai@users.noreply.github.com [go_router] Fixes crashes when dynamically updates routing tables wit� (flutter/packages#5242)
2023-11-02 43054281+camsim99@users.noreply.github.com [camerax] Fix `_getResolutionSelectorFromPreset` NPE (flutter/packages#5287)
2023-11-02 ybz975218925@live.com [go_router]Fixes the problem what pathParameters is null in redirect when the Router is recreated. (flutter/packages#5258)
2023-11-02 stuartmorgan@google.com [google_sign_in] Fix Obj-C formatting bug (flutter/packages#5310)
2023-11-02 goderbauer@google.com Fix mounted checks (flutter/packages#5305)
2023-11-02 srawlins@google.com [flutter_image] [flutter_markdown] Do not use dynamic in an == operator override (flutter/packages#5298)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages-flutter-autoroll
Please CC flutter-ecosystem@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
sybrands-place pushed a commit to sybrands-place/packages that referenced this pull request Nov 8, 2023
* main: (59 commits)
  [pointer_interceptor] Move pointer_interceptor to sub folder (flutter#5291)
  [webview_flutter] Update iOS to Pigeon 13 (flutter#5271)
  [repo] Adjust error message layout for repo checks (flutter#5241)
  [in_app_pur]: Bump org.json:json from 20230618 to 20231013 in /packages/in_app_purchase/in_app_purchase/example/android/app (flutter#5153)
  Roll Flutter from f5a9835 to 5a6a322 (15 revisions) (flutter#5345)
  [google_sign_in_ios] Upgrade GoogleSignIn iOS SDK to 7.0 (flutter#5240)
  Roll Flutter from 29b2516 to f5a9835 (101 revisions) (flutter#5341)
  [pigeon]: Bump org.jetbrains.kotlin:kotlin-gradle-plugin from 1.9.10 to 1.9.20 in /packages/pigeon/platform_tests/test_plugin/android (flutter#5334)
  [flutter_markdown] Strip leading whitespace from list items (flutter#5294)
  [two_dimensional_scrollables] Add borderRadius support to TableSpanDecoration (flutter#5184)
  [go_router] Adds an ability to add a custom codec for serializing/des… (flutter#5288)
  [go_router] Fixes crashes when dynamically updates routing tables wit… (flutter#5242)
  [camerax] Fix `_getResolutionSelectorFromPreset` NPE (flutter#5287)
  [go_router]Fixes the problem what pathParameters is null in redirect when the Router is recreated. (flutter#5258)
  [google_sign_in] Fix Obj-C formatting bug (flutter#5310)
  Fix mounted checks (flutter#5305)
  [flutter_image] [flutter_markdown] Do not use dynamic in an == operator override (flutter#5298)
  [google_sign_in] Enable FedCM for web. Use token expiration. (flutter#5225)
  [video_player_web] Listen to loadedmetadata event from video element. (flutter#5289)
  [local_auth] Update iOS to Pigeon 13 (flutter#5269)
  ...

# Conflicts:
#	packages/webview_flutter/webview_flutter_wkwebview/ios/Classes/FWFWebViewHostApi.m
HugoOlthof pushed a commit to moneybird/packages that referenced this pull request Dec 13, 2023
Fixes a mistake causing a NPE in `_getResolutionSelectorFromPreset`. Essentially, `boundSize` cannot be null except for one case (choosing the maximum available resolution), but the mistake I made was not allowing for that case to be valid.

(1/2 fixes really) Fixes flutter/flutter#135293.
@reidbaker reidbaker mentioned this pull request Jan 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App p: camera
Projects
None yet
Development

Successfully merging this pull request may close these issues.

camera_android_camerax: Failed to find supported resolutions (IllegalArgumentException)
2 participants