Add write permision to VIEW intent (don't regress bahavior).
Add (already known) mimetype when creating intent.
Test: Download a CSV file to Downloads *root*.
Install Sheets from play store.
Navigate to Settings > Storage > Explore > (device name) > Download
Tap CSV file.
It should open.
NOTE: This is a (manual) cherrypick from master. Manual part necessary
as DocumentsUI has moved to a new repo in master.
a4e765f16e
Bug: 31245151
Change-Id: Ic64c655d33182e559f9645c1e173b2fe4b601d6c
(cherrpy pick of commit cc8fcf2efd66afdaa900b4d27e1eb784e8d40752).
Don't open drawer when back is pressed after being launched externally.
Change-Id: I3e8afd68c33b519dd5d6b27e3fa94653c2537612
Fixes: 30743235
This is legal arrangement when viewing Archives.
Bug: 28923366
Change-Id: I75a26edc8dac865f536a7c5bcdef1ba00b0883f0
(cherry picked from commit a379fad3b9)
Also, fix regression...don't show "internal storage" option in Downloads.
All other modes, fix inconsistencies in presentation of
internal-storage/new-windows commands by eliminating launch mode inference.
Update VolumeInfo and MTP provider to send correct launch mode extra.
Bug: 28691735,28695347
Change-Id: Ic480925f4c8f1beee4da104a2259c1ce5f28a6a1
When opening an archive in Downloads we first want to use
the ACTION_MANAGE_DOCUMENT intent, as it's a file on Downloads.
However, for files within archives we don't want call this intent,
as ACTION_MANAGE_DOCUMENT does not support files in archives.
Finally, we actually need to call ACTION_MANAGE_DOCUMENT for
archive files on Downloads, to give third party apps a chance
to show up in the Intent choose (invoked by the Trampoline).
This CL makes things work as they worked before merging
DownloadsActivity with DocumentsActivity.
Bug: 28033554
Change-Id: I287759aa8fc0457341ce6ece07d5c2ccf36f2c8c
Also, allow "productivity_mode" config to be enabled via intent extra
as a developement aide.
Bug: 28006206
Change-Id: I7be8d96a0e924f9ce8023347e051d28d69a0eec9
Per the platform team, we shouldn't enable debug logging automatically
in debug builds because it increases log-spam. Just disable the flag
and enable it manually when needed.
Add some ifs to make sure all our debug logging is properly removed.
BUG=27380154
Change-Id: I8338f226c07affdb65970c7cb14f1e6aae036934
This guarantees the retry/delete support in the downloads
trampoline can do its thing.
Allow APKs not in downloads to go directly to pakcage
manager via VIEW intent.
Add test coverage for retry dialog.
Bug: 27539337
Change-Id: I75c5db8915e24a7648c7990136d39ed86d407637
Delete "MANAGE_ROOT" activity.
Add intent filter for "BROWSE_DOWNLOADS".
Open by default on Downloads directory.
Bug: 27563427
Change-Id: I1f85dc17a0bc94b439a272847e4ab3bb347ead23
Basically push them through downloads.ui TrampolineActivity
to get origin url and referer and other security bits
added before handing off to package manager.
Bug: 24676446
Change-Id: Id40787ada6ace424c4e5e4bfeedc0a8005b7a734
Which are now supported by Jack.
Retain a few preconditions checks that enforce contract.
Disable the one assert we had...because it failed in tests.
Change-Id: I2f6cb01e1af1534be4428ce4a3ee625a163dd163
Move fancy drawer "fiddling" to FilesActivity.
Rename the various "Restore" tasks to better reflect their roles.
Change-Id: I7f5c3dee11112bf0a31e6219d09c572c5651629d
Also...sorry, snowball, don't automatically open folders
that are created in Files app. Only do this in DocumentsActivity.
Change-Id: I271655fd3566496eced4aaa7a44d5110233150a0
First attempt to to refactor fragments handling, state and app lifecycle.
The goal was to simplify code by using android built lifecycle
mechanism, eliminate bugs caused by multiple creation of the fragment,
see the performance impact and give some fundament for refactoring of
fragments and activities in the app.
Search view manager:
* Remove curentSearch from state
* Restore search from saved state (ex. after rotation)
* Rename file to give the better overview of its purpose
Directory fragment:
* Store selection state in a bundle
* Remove double creation of fragment
* Use loaders to reload content when possible
* Keep info about state inside the object
* Refactor available types of fragment to be normal and recents
* Make search type a mode possibly available in all types
* Remove search being invoked from refresh method
* Do search by reloading fragments content instead of recreation as
an example
Other:
* Fix window title maybe
Bug: 26968405, 27101786
Change-Id: I58f36cd0a3e3a6ec98996cd8aac16e10e425e1fe
Improved drawer management in reponse to back button presses:
- if drawer is open (and we didn't just open it), close it.
- if at top of root (and we didn't close root) open it.
- there's a timeout on this behavior such that pressing back
a second time within a 1.5 second perior will NOT initiate
the behaviors described above.
Change-Id: I5990848cd3047d9dc985ec10e57ab3a0f99ce79c
Also, reveal the illusion that we're restoring state in Files and Downloads.
Also, define a "PairedTask" class that guards calls to task methods
with checks against isDestroyed. This also let us make all of the tasks
static, so we get much narrower scope and tasks can even be moved to
their own files.
Change-Id: I6a9e8706e1ab1d1f43301e73dd9858a115a6baaf
Since it was almost all redundant (especially the stack stuff).
Ensure "Files" title present on drawer title in Files app.
DocumentsToolBar > DocumentsToolbar to match toolkit naming.
Bug: 26193264
Change-Id: I92c82c66d936aae3ce0f792581daa12898dfadee
A grab bag also with:
Report Roots while loading (in DEBUG).
Null check DirectoryFragment before calling methods on it.
Bug:26936660,26143397
Change-Id: Ief2c943eb24fb14349bbd9cc4a5fbd670f57d567
A variety of related fixes:
- don't force size enable when browsing from device mounted notifications.
- don't show settings menu item as action (put in overflow).
- add sd card icon (not quite yet used, need to suss that out).
Bug:26880985,26883578,26771127
Change-Id: I36f153c42217f8092f157ded2a756c02525593ab
Now stored in local prefs, not recents DB.
Don't consult preferences for recents from DocumentsActivity.
Bug: 22671255 26689962 26411301
Change-Id: I492d85c450253bce984c929a6dd15d7c31ee6a0b
- Create new categories in MetricsLogger for DocumentsUI events.
- Add logging code to DocumentsUI for launch events and viewing roots.
BUG=26737132
Change-Id: Ib703878a39dd03b57e68a4d5a1d6cf8fe2936c5a
- Move SearchManager out of BaseActivity.
- Refactor usage of onCurrentDirectoryChanged(int anim).
- Cancel search when directory changes.
- Enable testing for cancelling search when directory changes.
- Avoid recreating action bar when only the content of the directory is
changed.
BUG=26495573
Change-Id: I1400090fcb529ad3905018d1640fdb7416542989
Make the service operation agnostic, so we can also move delete operations to it.
In a followup change we'll see about adding support for multiple concurrent
operations. We'll need to evaluate how to do this in IntentService (which
serializes requests....a major limitation).
Change-Id: I03eca9c1ecaba519af42d88edffeb0dce78bd1da
DialogFragment takes care of recreation on configuration change, so no
need to recreate it manually.
Bug: 26322214
Change-Id: I7c50a1c5bb1ba9fab34f6e8d31ed1e23e7edfbb7