feat(android): support rename, move, and trash in SAF picker#440
Open
terrerox wants to merge 2 commits into
Open
feat(android): support rename, move, and trash in SAF picker#440terrerox wants to merge 2 commits into
terrerox wants to merge 2 commits into
Conversation
terrerox
commented
Apr 30, 2026
- Override renameDocument, moveDocument, and deleteDocument in InternxtDocumentsProvider so SAF surfaces the corresponding row actions.
- Surface FLAG_SUPPORTS_RENAME | FLAG_SUPPORTS_DELETE | FLAG_SUPPORTS_MOVE on file and folder rows; keep root and placeholder rows mutation-free.
- Cache item kind (file vs folder) per UUID so mutations resolve their endpoint without an extra round-trip on the happy path.
- Notify affected child-document URIs after each mutation so the picker refreshes without manual reload.
- Fix InternxtApiClient.renameFile / renameFolder to match the SDK: PUT /{files|folders}/{uuid}/meta with { plainName }, void response.
- Await clearCredentials in signOutThunk so the SAF root is hidden immediately after logout instead of lingering until documentsui refreshes.
- Implement queryChildDocuments to paginate folders + files for a parent UUID
- Implement queryDocument to resolve real metadata via folders/{uuid}/meta
and files/{uuid}/meta, with a UUID-named placeholder fallback for
offline / transient failures
- Add InternxtApiClient.getFolder / getFile (404 → null) plus tests
- Introduce DocumentRowBuilder (column-keyed rows) and MimeTypes
(hand-rolled table + Android MimeTypeMap fallback) with tests
- Surface InternxtApiException + null auth-config via Log.w so silent
failures are no longer invisible
- Fix auth slice to sync newToken (not token) to native credentials so
the documents provider authenticates against drive endpoints
- Override renameDocument, moveDocument, and deleteDocument in InternxtDocumentsProvider so SAF surfaces the corresponding row actions.
- Surface FLAG_SUPPORTS_RENAME | FLAG_SUPPORTS_DELETE | FLAG_SUPPORTS_MOVE on file and folder rows; keep root and placeholder rows mutation-free.
- Cache item kind (file vs folder) per UUID so mutations resolve their endpoint without an extra round-trip on the happy path.
- Notify affected child-document URIs after each mutation so the picker refreshes without manual reload.
- Fix InternxtApiClient.renameFile / renameFolder to match the SDK: PUT /{files|folders}/{uuid}/meta with { plainName }, void response.
- Await clearCredentials in signOutThunk so the SAF root is hidden immediately after logout instead of lingering until documentsui refreshes.
|
7c7801a to
600ee1d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.


