-
Notifications
You must be signed in to change notification settings - Fork 3.3k
[camera_avfoundation] Implementation swift migration - part 5 #9397
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
base: main
Are you sure you want to change the base?
[camera_avfoundation] Implementation swift migration - part 5 #9397
Conversation
…, setExposurePoint, setFocusMode, and setFocusPoint to Swift
It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging. 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.If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group. |
8f8fa48
to
8cfe0f2
Compare
} | ||
|
||
private func applyExposureMode() { | ||
try? captureDevice.lockForConfiguration() |
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.
can we do defer { captureDevice.unlockForConfiguration() }
in case we update the code and introduce an early exit.
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.
Do you mean an early exit after lockForConfiguration
fails? If so I wouldn't add defer because I don't think we have to unlockForConfiguration
if lockForConfiguration
has failed (currently we discard the lock result in line with ObjC implementation)
func setExposureOffset(_ offset: Double) { | ||
try? captureDevice.lockForConfiguration() | ||
captureDevice.setExposureTargetBias(Float(offset), completionHandler: nil) | ||
captureDevice.unlockForConfiguration() |
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.
same here
.../camera_avfoundation/ios/camera_avfoundation/Sources/camera_avfoundation/DefaultCamera.swift
Outdated
Show resolved
Hide resolved
This PR falls under the "refactors with no semantic change (e.g. null safety migrations)" test exemption. It's a part of the migration from ObjC to Swift so by design it's covered by the existing tests |
@RobertOdrowaz Please request an exemption in Discord channel. |
test-exempt: code refactor with no semantic change |
Migrates camera implementation as part of flutter/flutter#119109
This PR migrates a part of
FLTCam
class to Swift.This PR includes the second chunk:
start
stop
close
receivedImageStreamData
setExposureMode
setExposureOffset
setExposurePoint
setFocusMode
setFocusPoint
Some properties of the
FLTCam
have to be temporarily made public so that they are accessible inDefaultCamera
.Pre-Review Checklist
[shared_preferences]
pubspec.yaml
with an appropriate new version according to the pub versioning philosophy, or I have commented below to indicate which version change exemption this PR falls under1.CHANGELOG.md
to add a description of the change, following repository CHANGELOG style, or I have commented below to indicate which CHANGELOG exemption this PR falls under1.///
).If you need help, consider asking for advice on the #hackers-new channel on Discord.
Footnotes
Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. ↩ ↩2 ↩3