Skip to content

[camerax] Implement onCameraClosing #3419

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

Closed
wants to merge 66 commits into from
Closed

Conversation

camsim99
Copy link
Contributor

@camsim99 camsim99 commented Mar 8, 2023

Implements onCameraClosing that will send an event anytime the camera closes, as detected by observing the LiveData of the CameraState of the current camera being used in the plugin.

Fixes flutter/flutter#121162.

FYI, there's a fair amount of unrelated code cleanup in this PR, as well.

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
Copy link
Contributor Author

camsim99 commented May 1, 2023

Closing this PR to better keep track of feedback and because I made a git error that roped in a bunch of unintentional changes.

@camsim99 camsim99 closed this May 1, 2023
@camsim99 camsim99 mentioned this pull request May 1, 2023
11 tasks
auto-submit bot pushed a commit that referenced this pull request May 9, 2023
### Overview

Continuation of #3419.

Implements onCameraClosing that will send an event anytime the camera closes, as detected by observing the LiveData of the CameraState of the current camera being used in the plugin.

Fixes flutter/flutter#121162.

### Highlights of what has changed since the latest reviews of the [last PR](#3419):

- Wrapped `LiveData#getValue` ([docs](https://developer.android.com/reference/androidx/lifecycle/LiveData#getValue())) for the purposes of retrieving current value `LiveData<ZoomState>` to properly implement retrieving zoom information
- Modified Dart Host API and FlutterAPI implementations' documentation on their `binaryMessenger` and `instanceManager` documentation to be clearer as per suggestion from comments on the original PR
- Changed `binaryMessenger` and `instanceManager` fields to be private in Flutter API implementations
- Removed `cast` method and added enum `LiveDataSupportedType` to pigeon file to use for safely casting the `LiveData` generic when received on the Dart or native side.
- Moved `CameraStateError` code decoding to Dart side as this was written by me and not directly provided by CameraX.
- Added tests for the conversion of objects.
- The following issues were filed to capture feedback given but not addressed in this PR: flutter/flutter#125926, flutter/flutter#125928.
nploi pushed a commit to nploi/packages that referenced this pull request Jul 16, 2023
### Overview

Continuation of flutter#3419.

Implements onCameraClosing that will send an event anytime the camera closes, as detected by observing the LiveData of the CameraState of the current camera being used in the plugin.

Fixes flutter/flutter#121162.

### Highlights of what has changed since the latest reviews of the [last PR](flutter#3419):

- Wrapped `LiveData#getValue` ([docs](https://developer.android.com/reference/androidx/lifecycle/LiveData#getValue())) for the purposes of retrieving current value `LiveData<ZoomState>` to properly implement retrieving zoom information
- Modified Dart Host API and FlutterAPI implementations' documentation on their `binaryMessenger` and `instanceManager` documentation to be clearer as per suggestion from comments on the original PR
- Changed `binaryMessenger` and `instanceManager` fields to be private in Flutter API implementations
- Removed `cast` method and added enum `LiveDataSupportedType` to pigeon file to use for safely casting the `LiveData` generic when received on the Dart or native side.
- Moved `CameraStateError` code decoding to Dart side as this was written by me and not directly provided by CameraX.
- Added tests for the conversion of objects.
- The following issues were filed to capture feedback given but not addressed in this PR: flutter/flutter#125926, flutter/flutter#125928.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[camerax] Implement onCameraClosing
3 participants