Page MenuHomePhabricator

Allow saving pages to external storage
Open, Needs TriagePublic

Description

We've received more requests for external storage from OTRS:
https://ticket.wikimedia.org/otrs/index.pl?Action=AgentTicketZoom;TicketID=10642767
https://ticket.wikimedia.org/otrs/index.pl?Action=AgentTicketZoom;TicketID=10674859

User story

As a user wishing to conserve internal storage space on my device, I want to save all my Wikipedia articles to external storage so that I can read them offline later without sacrificing internal storage.

Initial task description

First reported at: https://ticket.wikimedia.org/otrs/index.pl?Action=AgentTicketZoom;TicketID=9059688

A setting should be made available to allow external storage to be used for saved pages. Saved page currently always appear in internal storage. The app uses getFilesDir() which appears to always return an internal storage directory[0]. We might be able to use getExternalFilesDir().

Note: this card should be independent of installation location but T141000 is related.

[0] http://stackoverflow.com/questions/10496320/android-internal-storage-vs-external-storage-when-app-installed-on-sd-card

Event Timeline

MBinder_WMF set the point value for this task to 1.May 18 2016, 7:49 PM
Niedzielski renamed this task from [Bug] Saved pages are persisted to internal storage when app is installed on SD to Allow saved pages to be installed to external storage.Jul 21 2016, 4:27 PM
Niedzielski updated the task description. (Show Details)
Niedzielski removed the point value 1 for this task.
Niedzielski added a subscriber: Mholloway.

Updated with some discussion from @Florian and @Mholloway.

Mholloway renamed this task from Allow saved pages to be installed to external storage to Allow saving pages to external storage.Jul 21 2016, 4:50 PM

Change 300325 had a related patch set uploaded (by Florianschmidtwelzow):
Allow users to save reading lists to the external memory

https://gerrit.wikimedia.org/r/300325

From IRC #wikimedia-mobile on June 21, 2016:
Looks like we're disabling installing on external storage instead.
The background is in https://developer.android.com/guide/topics/data/install-location.html#ShouldNot . We use accounts, sync adapter, widgets, services, and technically shouldn't allow the app to be installed on external storage.
We might be seeing weird bugs because of this.
Newer devices allow users to "adopt" an sd card which makes it appear as internal storage.

Should we close this as declined?

I think T141000 covers the app install location. This is about data location than app location. I think we just need to call getExternalFilesDir() when the user wants to use external storage.

Change 300325 abandoned by Florianschmidtwelzow:
Allow users to save reading lists to the external memory

https://gerrit.wikimedia.org/r/300325

Should we update this ticket to apply to ZIM files as well?

RHo subscribed.

Moving since this is not a bug but a feature request.
Potentially relevant to consider with initial reading list syncing implementation.

FWIW, this might be an old thing but is still relevant: the App itself (as of 2.7.50309-r-2020-01-08 and the version on Google Play as of this - 2.7.50334-r-2020-11-02) does allow moving to SD card. However, this appears to be just the core app data and not any other saved data:

/dev/block/dm-42                           12324     10408      1916  85% /mnt/asec/org.wikipedia-uh1gm17qhYHq9Mi5

So that's ~12MiB that's transferred to SD.

Although internal storage sizes have increased, I am fighting space issues even with a "128GB" Samsung S10+ because (a) the OS and other mandatory apps are huge and (b) many apps either don't work externally or otherwise.

I'm all for what @bearND said and keeping the core app internal is fine - it's not that big. But for downloads/cache, users should have the option to select internal/external - similar to Netflix/Spotify. (As it stands now, even moving the app to SD retains ~350mb of "data" in my case on internal storage)