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.
Description
Photo traits can now define a crop region.
Workflow:
User must enable crop in trait definition, right now it is set to false as default. Like other trait parameters, this cannot be edited if data for that trait is already captured.
When observing data for that photo trait, the user can click the settings and define a crop region, or a dialog will show if the trait requires cropping and no region is defined when a photo is taken. In the latter case, the photo will be cropped and saved.
This feature introduced CropImageView which I added a fragment controller implementation along with an activity wrapper for the fragment. This is a modular and independent view, but requires two intent-based parameters, traitId (internal db id of the trait to update the crop region) and imageUri for the image to preview as it is cropped.
UI:
The CropImageView has a couple functionalities:
Working with multiple devices:
User 1: set ROI, copy coordinate text and send to User 2
User 2: paste roi coordinates in edit text, press enter and save
Screen_recording_20250131_122857.mp4
Change Type
ADDITION
(non-breaking change that adds functionality)CHANGE
(fix or feature that alters existing functionality)FIX
(non-breaking change that resolves an issue)OTHER
(use only for changes like tooling, build system, CI, docs, etc.)Release Note
Release Type
For internal use - please leave these unchecked unless you are the one completing the merge.
MAJOR
MINOR
WAIT
(No immediate release, but the changelog will be still be updated if there is a release note.)