Request
Add an independent, opt-in native file-manager integration mode that exposes each authorized online Android device as Android - <model / serial / custom name> in the platform file manager. Keep Adbrowser existing in-app browser unchanged. Screen mirroring is out of scope.
Requirements
- Default off, controlled by a dedicated setting; show availability and failures per platform instead of silently falling back.
- Reuse the host standard ADB server on port 5037. Never kill, replace, or start a private ADB server.
- Start with
/sdcard; root and app-private storage are not part of the initial mapped scope.
- Keep a background component when the platform requires it, so mappings follow device online/offline state after the UI closes.
- Support browse, read/download, upload, mkdir, rename/move, and delete. Use temporary upload plus rename where the platform needs atomic replacement semantics.
- Provide global naming plus a per-device model / serial / custom override. Use the serial as the stable mapping identity.
Platform mapping
- macOS: Finder integration through a File Provider extension plus
SMAppService/launchd helper.
- Windows: File Explorer virtual folder or drive through a user-mode filesystem bridge. Evaluate Cloud Files API for sync-root/placeholder semantics, or WinFsp for a mounted drive; choose one explicitly in the implementation RFC.
- Linux: a per-user FUSE mount such as
~/mnt/Android-<name>, with clear mount/unmount, permission, cache, and disconnect behavior.
Implementation direction
Create a platform-neutral mapping controller above the existing core/adb services for device tracking and file operations, then add small native adapters for macOS, Windows, and Linux. Keep platform code behind separate modules/targets and the integration behind its own setting. Test the shared ADB-server non-interference rule, online/offline reconciliation, CRUD behavior, and one native smoke path per supported platform.
Request
Add an independent, opt-in native file-manager integration mode that exposes each authorized online Android device as
Android - <model / serial / custom name>in the platform file manager. Keep Adbrowser existing in-app browser unchanged. Screen mirroring is out of scope.Requirements
/sdcard; root and app-private storage are not part of the initial mapped scope.Platform mapping
SMAppService/launchd helper.~/mnt/Android-<name>, with clear mount/unmount, permission, cache, and disconnect behavior.Implementation direction
Create a platform-neutral mapping controller above the existing
core/adbservices for device tracking and file operations, then add small native adapters for macOS, Windows, and Linux. Keep platform code behind separate modules/targets and the integration behind its own setting. Test the shared ADB-server non-interference rule, online/offline reconciliation, CRUD behavior, and one native smoke path per supported platform.