<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: iptrz6</title><link>https://news.ycombinator.com/user?id=iptrz6</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 15:50:47 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=iptrz6" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by iptrz6 in "Syncthing Android App Discontinued"]]></title><description><![CDATA[
<p>That's exactly what OPEN_DOCUMENT_TREE does.  The typical workflow involves presenting a directory picker activity to the user and asking them to pick a dir (the app can then retroactively ask the OS to persist these permissions across restarts.)<p>However:
- You can't pick the root of a storage volume, only its subdirectories.  This is presumably for your own good.
- The application is still forced to use the SAF APIs, which are slow (each call requires an IPC) and overcomplicated.  For working with multiple files, directory listings, etc, naive use of SAF can be a couple orders of magnitude slower than standard File APIs.  This can be sped up, but it's never going to be anywhere close to native speed.</p>
]]></description><pubDate>Mon, 21 Oct 2024 01:53:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=41900058</link><dc:creator>iptrz6</dc:creator><comments>https://news.ycombinator.com/item?id=41900058</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41900058</guid></item><item><title><![CDATA[New comment by iptrz6 in "Syncthing Android App Discontinued"]]></title><description><![CDATA[
<p>> No it doesn't, `ACTION_OPEN_DOCUMENT_TREE` provides you with a `DocumentFile`, which isn't a `java.io.File`.<p>You can call `contentResolver.openFileDescriptor` on a a `content://` Uri from SAF, and get a `ParcelFileDescriptor`, which can be turned into a real unix fd by calling `detach()` on it.  Passing this fd into native code just works.<p>That's not to say that, you know, SAF is actually sane, though.  `DocumentFile` lazily IPCs to some StorageProvider process every time you retrieve a property of the file (mtime, size, whatever).  There are ways to speed this up by retrieving everything via the lower level `DocumentContract` API, but it definitely feels like it was poorly thought out.</p>
]]></description><pubDate>Mon, 21 Oct 2024 00:13:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=41899594</link><dc:creator>iptrz6</dc:creator><comments>https://news.ycombinator.com/item?id=41899594</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41899594</guid></item></channel></rss>