cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon MacDonald <simon.macdon...@gmail.com>
Subject Re: Make internal storage default on Android
Date Mon, 27 Jul 2015 14:55:16 GMT
kk, I think this has enough support and I'll end up putting together a pull
request today.


Simon Mac Donald
http://hi.im/simonmacdonald

On Mon, Jul 27, 2015 at 10:40 AM, Andrew Grieve <agrieve@chromium.org>
wrote:

> Ian and I made the switch to internal (via the preference).
>
> - I thought at one point the default app template set the preference to
> internal, so that new apps would get the better behaviour and existing apps
> would continue to work. I don't see this happening now though :(
> - The duplicate files/files, although oddly names, was just meant to give
> the HTML5 FS root a directory that isolated from the rest of the app's
> internal storage (so that it doesn't conflict with files put there by
> plugins)
>
> Anyways, +1 for just switching this default and bumping the version.
>
> On Wed, Jul 22, 2015 at 9:27 PM, Carlos Santana <csantana23@gmail.com>
> wrote:
>
> > ding ding ding we have a winner , Are the blackberry guys still around on
> > this mailing list by the way?
> > On Wed, Jul 22, 2015 at 10:00 PM Simon MacDonald <
> > simon.macdonald@gmail.com>
> > wrote:
> >
> > > As near as I can tell Windows use internal private storage as well.
> > >
> > > Simon Mac Donald
> > > http://hi.im/simonmacdonald
> > >
> > > On Wed, Jul 22, 2015 at 5:32 PM, Carlos Santana <csantana23@gmail.com>
> > > wrote:
> > >
> > > > I think cross platform web developers would expect all platforms to
> > have
> > > > same default. What the default for windows?
> > > >
> > > > +1 make default internal at least will have iOS and android with same
> > > > expectations
> > > >
> > > > We need to change the Major number (sever) for the version, it feels
> > like
> > > > is changing an API
> > > >
> > > > I like the explicit even if it's not needed because the default is
> > > > internal. But if they see it there it reminds them that internal is
> > being
> > > > used.
> > > > On Wed, Jul 22, 2015 at 4:02 PM Darryl Pogue <darryl@dpogue.ca>
> wrote:
> > > >
> > > > > +1 because saving to the SD Card has added problems with other apps
> > > (such
> > > > > as photo and music apps) picking up files that they shouldn't.
> > > > >
> > > > > Nothing more annoying than accidentally unleashing 200 logos and
> > icons
> > > > into
> > > > > the photos app of unsuspecting users.
> > > > >
> > > > > On 22 July 2015 at 12:47, Simon MacDonald <
> simon.macdonald@gmail.com
> > >
> > > > > wrote:
> > > > >
> > > > > > *TL;DR Summary*
> > > > > >
> > > > > > We should switch the default for the Cordova Android File System
> to
> > > be
> > > > on
> > > > > > internal storage, not the SD Card (or emulated SD card).
> > > > > >
> > > > > >
> > > > > > *Long Version*
> > > > > >
> > > > > > Currently in Cordova Android when you use this code "window.
> > > > > > requestFileSystem(PERSISTENT, 0, win, fail);" the root file
> system
> > > path
> > > > > > that is returned is "/storage/emulated/0" i.e. "/sdcard".
> > > > > >
> > > > > > Why you may ask? Because back in 2010 or so Bryce Curtis and
I
> > argued
> > > > > that
> > > > > > we should use the external storage location because internal
> > storage
> > > > was
> > > > > > not very large on Android 2.x and we didn't want to have
> developers
> > > > > filling
> > > > > > up the devices limited internal storage. Joe Bowser argued
> against
> > it
> > > > > > because of issues with the SD Card on Android but was eventually
> > out
> > > > > voted.
> > > > > >
> > > > > > Now, I'm prepared to admit that Bryce was wrong (see what I
did
> > > > there?).
> > > > > I
> > > > > > feel that the default behaviour for
> > > > "window.requestFileSystem(PERSISTENT,
> > > > > > 0, win, fail);" should be to resolve to a location on internal
> > > storage
> > > > > that
> > > > > > meets the following requirements:
> > > > > >
> > > > > > a) private to the application
> > > > > >
> > > > > > b) removed when the application is uninstalled
> > > > > >
> > > > > > c) lines up with what we have on iOS and WP
> > > > > >
> > > > > > In fact you can get this behaviour right now but setting the
> > > following
> > > > > > preference in config.xml:
> > > > > >
> > > > > > <preference name="AndroidPersistentFileLocation" value="Internal"
> > />
> > > > > >
> > > > > > This gets you a root file path of "/data/data/<android
> > > > > > package>/files/files/". The double "files" is an issue but
we can
> > > > > probably
> > > > > > ignore it for now.
> > > > > >
> > > > > > If a user wants the old behaviour they only need to make the
> > > > preference:
> > > > > >
> > > > > > <preference name="AndroidPersistentFileLocation"
> > > value="Compatibility"
> > > > />
> > > > > >
> > > > > > and the original behaviour will be retained.
> > > > > >
> > > > > > What I'm advocating for is to make internal storage the default
> > > > behaviour
> > > > > > for Cordova Android.
> > > > > >
> > > > > >
> > > > > > *Code Changes*
> > > > > >
> > > > > > I've already taken a brief look into this and I feel the change
> is
> > > > > > extremely minor. We need only change the default return value
> from
> > > > > > "compatibility" to "internal" at line 156 of FileUtils.java
(
> > > > > > https://github
> > > > > >
> > > > >
> > > >
> > >
> >
> .com/apache/cordova-plugin-file/blob/master/src/android/FileUtils.java#L156
> > > > > > ).
> > > > > >
> > > > > > If we wanted to make the change explicit to the user we could
> > change
> > > > > > plugin.
> > > > > > xml to add the preference to config.xml as well.
> > > > > >
> > > > > > Thoughts, comments, applause?
> > > > > > Simon Mac Donald
> > > > > > http://hi.im/simonmacdonald
> > > > > >
> > > > >
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message