Skip to content

Add support for direct file access to external storage#201

Merged
chenxiaolong merged 1 commit into
masterfrom
saf
Jul 10, 2026
Merged

Add support for direct file access to external storage#201
chenxiaolong merged 1 commit into
masterfrom
saf

Conversation

@chenxiaolong

Copy link
Copy Markdown
Owner

The local storage permissions we already request also grant access to external storage devices on Android 11 and newer. This commit add support for selecting files on external storage via the local folder picker and removes all code that assumes local paths are on internal storage.

Other changes:

  • The messaging around storage types is now direct file access vs. storage access framework, instead of internal vs. external. The latter didn't make much sense anyway since the local storage permission allows access to external storage and SAF can be used to pick internal storage directories.

  • The local folder picker now watches for inotify events of the cwd and also external storage mount/unmount events.

  • The file conflict screen now properly opens directories for external storage local paths and SAF trees. stbridge no longer conflates paths for the two filesystem types when reporting conflicts to the main app.

  • The SAF picker now opens to the initial directory properly when granting SAF permissions after an import.

@chenxiaolong chenxiaolong self-assigned this Jul 9, 2026
@chenxiaolong chenxiaolong force-pushed the saf branch 9 times, most recently from c97938c to 06f9001 Compare July 10, 2026 02:55
The local storage permissions we already request also grant access to
external storage devices on Android 11 and newer. This commit add
support for selecting files on external storage via the local folder
picker and removes all code that assumes local paths are on internal
storage.

Other changes:

* The messaging around storage types is now direct file access vs.
  storage access framework, instead of internal vs. external. The latter
  didn't make much sense anyway since the local storage permission
  allows access to external storage and SAF can be used to pick internal
  storage directories.

* The local folder picker now watches for inotify events of the cwd and
  also external storage mount/unmount events.

* The file conflict screen now properly opens directories for external
  storage local paths and SAF trees. stbridge no longer conflates paths
  for the two filesystem types when reporting conflicts to the main app.

* The SAF picker now opens to the initial directory properly when
  granting SAF permissions after an import.

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
chenxiaolong added a commit that referenced this pull request Jul 10, 2026
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
@chenxiaolong chenxiaolong merged commit afebd53 into master Jul 10, 2026
1 check passed
@chenxiaolong chenxiaolong deleted the saf branch July 10, 2026 03:58
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