Skip to content

Add a way to save recorded/exported Spark videos to Photos #112

@knotbin

Description

@knotbin

Allow users to save videos they create in Spark to their phone's photo library.

Summary

Minimum scope could be videos recorded in-app. It may also make sense to support any Spark video that has been rendered locally, including edited gallery uploads.

Motivation

Right now we already generate local MP4s during the recording/editor flow, but the only next steps are posting the result or returning to review. There is no explicit way to keep a copy in Photos for reuse or sharing elsewhere.

Context

  • recorded clips are stitched into a temporary spark_recording_<timestamp>.mp4
  • edited videos are exported to a temporary spark_edited_<timestamp>.mp4
  • those results currently flow into story posting or VideoReviewRoute, not a save-to-device path
  • the app already uses photo_manager for media library access, and the current dependency includes PhotoManager.editor.saveVideo(...)
  • iOS currently has photo-library read usage text, but a write/save flow will likely need its permission story checked as part of this work

Proposed direction

  • add a Save to Photos or Export to Photos action somewhere in the post-record / post-edit flow
  • decide whether the action should ship first for recorded-in-app videos only or for all locally rendered Spark videos
  • show clear success/failure feedback
  • validate iOS and Android permission behavior

Potentially related code

  • lib/src/core/pro_video_editor/pro_video_editor_repository_impl.dart
  • lib/src/core/pro_video_editor/ui/video_editor_grounded_page.dart
  • lib/src/features/posting/ui/pages/recording_page.dart
  • lib/src/features/posting/ui/pages/video_review_page.dart
  • lib/src/features/posting/ui/pages/media_picker_page.dart
  • ios/Runner/Info.plist
  • android/app/src/main/AndroidManifest.xml

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions