Skip to content

feat(android): accept shared files as Nextcloud uploads #384

Description

@veryCrunchy

User problem

Nextcloud Native does not appear as an Android Share target, so files from camera, gallery, document, and editor apps cannot be uploaded directly into a chosen Nextcloud folder.

Acceptance criteria

  • Register narrowly scoped Android ACTION_SEND and ACTION_SEND_MULTIPLE entry points for supported content URIs.
  • Open a native account and remote-folder destination picker before upload.
  • Resolve display name, MIME type, and size defensively without trusting the sending application.
  • Persist URI access when permitted or stage an app-private durable snapshot before temporary permission expires.
  • Stream large uploads without loading complete files into memory.
  • Use the existing durable transfer queue with progress, cancellation, retry, and process-death recovery.
  • Preserve the original source; never mutate or delete content owned by the sending application.
  • Handle unavailable URIs, revoked grants, unknown sizes, multiple files, duplicate names, quota failures, and authentication expiry with useful recovery states.
  • Never expose account credentials, server endpoints, or private content in intent data, logs, diagnostics, or notifications.
  • Add deterministic unit and Android integration coverage for single and multiple shares, large streams, permission expiry, cancellation, and activity recreation.

Relationships

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:files-syncFiles, offline storage, transfer, and synchronizationarea:platformAndroid, desktop, iOS, Windows, macOS, and Linux platform workarea:uxNavigation, accessibility, responsive design, and interactionin-progressImplementation is currently activeneeds-designRequires interaction or visual design before completionplatform:androidAndroid-specific implementation or validationpriority:P1Required for the pre-release product experiencetype:featureNew product capabilitytype:reliabilityCorrectness, crash prevention, recovery, and data safety

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions