Skip to content

Document embedded Photo Picker APIs - #433

Merged
jonathanpeppers merged 2 commits into
mainfrom
jonathanpeppers-photo-picker-xml-docs
Aug 15, 2026
Merged

Document embedded Photo Picker APIs#433
jonathanpeppers merged 2 commits into
mainfrom
jonathanpeppers-photo-picker-xml-docs

Conversation

@jonathanpeppers

Copy link
Copy Markdown
Member

Documents 44 source-backed placeholders for embedded Photo Picker builder configuration, Parcelable behavior, provider creation, callbacks, and session surface packages. The remaining 57 scoped placeholders are namespace, generated binding infrastructure, or undocumented platform getters without safe authoritative descriptions.

Sources

Validation

  • Parsed all five modified XML documents with PowerShell's XML parser.
  • Confirmed CRLF line endings in every modified XML document.
  • Ran git diff --check and confirmed the diff is limited to five files in docs/xml/Android.Widget.PhotoPicker/.
  • Recounted scoped To be added. placeholders from 101 to 57; the remaining entries have no safe authoritative coverage in the consulted Android reference and AOSP sources.

Refs #215

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@jonathanpeppers
jonathanpeppers requested review from dalexsoto and a lite review from Copilot and removed request for Copilot August 14, 2026 10:51
@jonathanpeppers
jonathanpeppers enabled auto-merge (squash) August 14, 2026 10:51
@jonathanpeppers

Copy link
Copy Markdown
Member Author

@dalexsoto review

1 similar comment
@jonathanpeppers

Copy link
Copy Markdown
Member Author

@dalexsoto review

@dalexsoto dalexsoto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The builder parameter docs omit constraints that the platform enforces with IllegalArgumentException: SetMaxSelectionLimit accepts 1–100, SetMimeTypes accepts only image/video MIME types, and SetThemeNightMode accepts only the managed equivalents of UNDEFINED, NO, and YES (not every UI_MODE_NIGHT_* constant). Please document these accepted domains.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@jonathanpeppers

Copy link
Copy Markdown
Member Author

@dalexsoto Addressed the requested platform-enforced domains from the AOSP EmbeddedPhotoPickerFeatureInfo.Builder source: selection limit 1-100, image/video-only MIME types, and the three supported managed night-mode constants.

@jonathanpeppers

Copy link
Copy Markdown
Member Author

@dalexsoto review

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR replaces a subset of To be added. XML documentation placeholders in Android.Widget.PhotoPicker with source-backed descriptions for the embedded Photo Picker surface/session, client callbacks, provider factory creation, feature-info builder configuration, and Parcelable behavior.

Changes:

  • Documented the embedded session SurfacePackage property and clarified how callers attach it.
  • Filled in parameter/return documentation for embedded client callbacks and provider factory creation.
  • Added documentation for EmbeddedPhotoPickerFeatureInfo’s CREATOR, DescribeContents, and WriteToParcel, plus multiple EmbeddedPhotoPickerFeatureInfo.Builder configuration APIs.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
docs/xml/Android.Widget.PhotoPicker/IEmbeddedPhotoPickerSession.xml Documents the embedded session surface package returned to hosts.
docs/xml/Android.Widget.PhotoPicker/IEmbeddedPhotoPickerClient.xml Adds parameter docs for session error/open and URI permission grant/revoke callbacks.
docs/xml/Android.Widget.PhotoPicker/EmbeddedPhotoPickerProviderFactory.xml Documents provider creation parameter and return value.
docs/xml/Android.Widget.PhotoPicker/EmbeddedPhotoPickerFeatureInfo+Builder.xml Documents builder configuration methods and build return value.
docs/xml/Android.Widget.PhotoPicker/EmbeddedPhotoPickerFeatureInfo.xml Documents Parcelable creator and parceling-related methods.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +352 to +353
<summary>Returns the <c>SurfaceControlViewHost.SurfacePackage</c> containing the embedded picker view.</summary>
<value>A surface package callers can attach to their view hierarchy using <c>SurfaceView.setChildSurfacePackage</c>.</value>

@dalexsoto dalexsoto left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The platform-enforced builder input domains are now documented; no blocking issues remain.

@jonathanpeppers
jonathanpeppers merged commit 438ca21 into main Aug 15, 2026
4 checks passed
@jonathanpeppers
jonathanpeppers deleted the jonathanpeppers-photo-picker-xml-docs branch August 15, 2026 02:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants