GithubHelp home page GithubHelp logo

Storage Access Framework support about rcx HOT 4 CLOSED

x0b avatar x0b commented on August 15, 2024 3
Storage Access Framework support

from rcx.

Comments (4)

x0b avatar x0b commented on August 15, 2024 1

If you need any help, please let me know.

I appreciate the offer and may come back to it :).

Edit: crap, I did not realize Android 10 drops support for file access through Linux API. This is so bad. Thanks Google I guess 😒.

So technically this is not true - you can still use the Linux API to access your app-specific directories. You just can't use the API for anything outside of these locations, i.e. the API is useless to access user-visible storage.

For Android 10 at least, we can opt-out - but:

Warning: Apps will be required to use scoped storage in next year's major platform release for all apps, independent of target SDK level.

...meaning that on Android 10.1/Android 11, SAF integration needs to be ready regardless of Target SDK, so this is the hard deadline.

from rcx.

x0b avatar x0b commented on August 15, 2024

Development for Storage Access Framework (SAF) support has been going on for over a year now, but has been slow because you need to bridge the java/kotlin environment of Android into the go environment for rclone. And both the design and implementation of SAF in Android have numerous flaws.

Anyway, I've spent a bit more time over summer on this issue. Part I of the SAF integration is close to ready and is planned for preview release in September. This will include a SAF client and a translation layer between SAF <==> rclone. With this, rclone can address SAF storage locations just like any other remote.

Part II however, a SAF DocumentsProvider, is still in a very early development phase. This is what's required to allow third party apps to access rclone remotes using Android SAF APIs.

Meta operations (list/delete/move/rename) are relatively easy to implement. Most problems currently revolve around retrieving and storing actual file bytes efficiently. And with my next semester starting soon, development effort will focus on maintenance rather than feature development.

You can see the current state in the wiki: RcloneExplorer 1.9 feature preview

from rcx.

gilbsgilbs avatar gilbsgilbs commented on August 15, 2024

Great @x0b, thanks. If you need any help, please let me know.

Edit: crap, I did not realize Android 10 drops support for file access through Linux API. This is so bad. Thanks Google I guess 😒.

from rcx.

x0b avatar x0b commented on August 15, 2024

I'll reopen this since part II is not yet released.

Part I, the SAF client, has been released since 1.9.0 and can be used as described in the documentation

Update 2019-11-03: I've fixed a few major bugs with the VirtualContentProvider and it is slowly progressing towards a usable state. There's still a security review and clean-up to do, so it will probably take a bit of time until the next major feature update.

from rcx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.