Skip to content

API cleanup and architecture refinement for MediaKit image picker#35

Merged
AkshayAshokCode merged 9 commits into
mainfrom
repo-improvements
May 27, 2026
Merged

API cleanup and architecture refinement for MediaKit image picker#35
AkshayAshokCode merged 9 commits into
mainfrom
repo-improvements

Conversation

@AkshayAshokCode
Copy link
Copy Markdown
Owner

Summary

This PR introduces the first phase of MediaKit API cleanup and architecture refinement for the image picker module.

The goal of this cleanup is to:

  • improve API consistency
  • strengthen internal architecture
  • prepare the library for future cropper integration
  • improve maintainability and readability
  • make the public API more production-ready

Changes Included

Builder API Cleanup

  • Refactored ImagePickerBuilder
  • Improved fluent API consistency
  • Added clearer documentation and KDocs
  • Tightened builder construction flow
  • Improved readability and future extensibility

Result API Improvements

  • Improved ImagePickerResult documentation
  • Clarified success/cancel/error semantics
  • Added notes for future sealed error migration

Error Model Cleanup

  • Refined ImagePickerException
  • Improved typed error consistency
  • Standardized documentation and formatting
  • Cleaned sealed hierarchy structure

Coordinator Refactor

  • Refactored ImagePickerCoordinator
  • Added lazy initialization for picker implementations
  • Improved readability and separation of responsibilities
  • Added future direction notes for source chooser support

Picker Implementation Cleanup

  • Improved CameraImagePicker
  • Improved GalleryImagePicker
  • Added KDocs and internal architecture consistency
  • Standardized launcher initialization

Future Follow-up Work

Planned follow-up cleanup phases:

  • stronger sealed result/error model
  • lifecycle restoration improvements
  • cropper module integration
  • threading/background bitmap processing
  • package structure cleanup
  • Compose-friendly APIs
  • README/sample modernization

Notes

This PR intentionally focuses on non-breaking cleanup and architectural refinement before introducing larger API-level changes.

@AkshayAshokCode AkshayAshokCode merged commit 9a6fb7b into main May 27, 2026
1 check passed
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.

1 participant