This reverts commit 4639136c3b.
The commit breaks the following CTS tests.
* android.appsecurity.cts.DocumentsTest#testCreateExisting FAIL
* android.appsecurity.cts.DocumentsTest#testCreateNew FAIL
BUG=27805363,27570567
Change-Id: Ic9f1d98714a78afe548eb5ae9afa118ddc83cccc
The test launches the DocumentsUI as picker, then waits until the
main thread idles, which guarantees that roots are loaded and UI
rendered.
It confirms, that the recent system cache improves cold start
performance by around 24% on my configuration (from 1685ms to 1357ms).
Bug: 27370274
Change-Id: I738202ea434a7bfe7080fc0994f636ef0e7847cd
Previously we assume the home root exists always, but while migrating
internal storage, the home root is temporary removed from Android. Since
we open donwnloads root by default now, the CL lets Files app move to
the downloads directory instead of home root when the current directory
is removed.
BUG=27570929
Change-Id: I89efb1ae32ba8ae7269b3242035d5b67114fcb54
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
Pressing backspace pops the user up a directory level if they aren't at
the root directory of the current root.
BUG=27123794
Change-Id: I8f0a88a1194bf8f082d0b057a288a0c3da3068f6
- Turn the DirectoryFragment (DF) and the RootsFragment (RF) into
top-level views, and allow switching between them via the tab key.
- Disallow arrow-key navigation from switching the user between the
DF and RF.
- When nothing is explicitly focused, make navigation keys focus the
DF. This makes it so that if a user opens DocumentsUI and just starts
pressing arrow keys, they'll navigate in the directory listing.
- When restoring focus on the DF and RF, remember the last thing that
was focused, and restore focus on that thing.
BUG=25195767
BUG=25121367
Change-Id: I00e20cbdbe9edfe269fb356440a93ef5d67c5298
(cherry picked from commit 1c9f9222e5)
Move drawer fiddling out of DirectoryFragment into respective
FragmentTuner instance.
Bug: 27084308
Change-Id: Ia13fc2be1442e1a7164c2d67ea6ce4bcfda68bcc
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
The naming was ANIM_UP, ANIM_DOWN, but the animations were from right and
left. Since right and left are flipped for RTL, this CL renames them
with direction agnostic ANIM_ENTER and ANIM_LEAVE.
Change-Id: I8de1603b1baaef3d4ba8fbd593f5e53143698dff
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