Commit Graph

144 Commits

Author SHA1 Message Date
Steve McKay
c15528afa6 Don't enable new folder in downloads...
During copy operation.
Also, relay intent extras when opening copy destination picker.

Bug: 28081616
Change-Id: I3109eaf993da93239ba25db066beb5787a924196
2016-04-08 17:34:27 -07:00
Steve McKay
53f109b39e Massage code to better support Files overlay.
Also, allow "productivity_mode" config to be enabled via intent extra
    as a developement aide.

Bug: 28006206
Change-Id: I7be8d96a0e924f9ce8023347e051d28d69a0eec9
2016-04-06 10:25:02 -07:00
Aga Wronska
67c76b960c Bring the change 'Open drawer when showing copy/move destination screen'
back after fixing problem with tests.

Revert "Revert "Open drawer when showing copy/move destination screen""

This reverts commit 82ae18c877.
Fixed: 27479369

Change-Id: I70f98cf543de889a9a728d8d7233f8e7b077f871
2016-03-22 17:33:15 -07:00
Aga Wronska
a1b1355633 Merge "Change copy/move destination to Downloads when home directory is hidden." into nyc-dev 2016-03-22 23:03:03 +00:00
Aga Wronska
4e62716904 Change copy/move destination to Downloads when home directory is hidden.
Bug: 27791217
Change-Id: If196441a57053ada9875c6cc29d4c7f13fcb57e8
2016-03-22 14:18:43 -07:00
Ben Kwa
ffa829f779 DocsUI: Disable debug logging by default.
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
2016-03-22 11:38:59 -07:00
Daichi Hirono
82ae18c877 Revert "Open drawer when showing copy/move destination screen"
This reverts commit 4d5f9f6a7f.
The CL breaks android.appsecurity.cts.DocumentsTest.

BUG: 27746116, 27479369
Change-Id: Ib9426c54e8c9841f3def55a88e07bf4a2cd7dcac
2016-03-22 19:43:41 +09:00
Daichi Hirono
2917fa9dd5 Change the title of DocumentsUI from "Files" to "Downloads".
BUG=27683277

Change-Id: I429cae8804b8f318f58039fc63d081c2a864fad0
2016-03-18 17:46:57 +09:00
Steve McKay
ce71082254 Centralize animation related resources.
Fix minor bug in animation (use height not width).

Change-Id: I357224086b2732fe9ad49a145db3e82259a87891
2016-03-11 13:50:03 -08:00
Aga Wronska
4d5f9f6a7f Open drawer when showing copy/move destination screen
Bug: 27479369
Change-Id: I0bc7efe88ad47885ecf35fb447cfe5c1f38a10d7
2016-03-10 16:06:32 -08:00
Steve McKay
a1f7680f53 Update preconditions to be asserts...
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
2016-02-29 14:47:40 -08:00
Steve McKay
c95d87c983 Don't restore stack when picking copy destination.
Move fancy drawer "fiddling" to FilesActivity.
Rename the various "Restore" tasks to better reflect their roles.

Change-Id: I7f5c3dee11112bf0a31e6219d09c572c5651629d
2016-02-24 13:29:45 -08:00
Steve McKay
cddd034ca7 Merge "Move directory and roots support to own ui bots." into nyc-dev 2016-02-22 20:01:48 +00:00
Steve McKay
b9a20d10c9 Move directory and roots support to own ui bots.
Also...sorry, snowball, don't automatically open folders
    that are created in Files app. Only do this in DocumentsActivity.

Change-Id: I271655fd3566496eced4aaa7a44d5110233150a0
2016-02-22 11:50:34 -08:00
Aga Wronska
893390bd58 Directory fragment refactoring.
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
2016-02-22 09:36:17 -08:00
Steve McKay
4a1ca86f47 Don't show recents as copy/move destination.
Revoke "SUPPORTS_CREATE" from the Recents faux-Root.
Don't allow copy to roots that don't support children.
Add friendly access methods to Root info for checking flags.
Only show spacer between roots sections when both non-empty.
Add docs explaining the "apps" section in roots.
Improve logic in the "canCopy" method.

Bug: 27232639
Change-Id: If78ee0ff73f0788de863345b560aecd41b23dfb9
2016-02-17 18:52:03 -08:00
Steve McKay
a6bbeab1d3 Improvements to Copy/Move flow.
- Always open drawer for copy/move operations.
- Set title to match operation.
- Update button to say "move" for move operations.
- Other minor fixes.

Also fix "Home" tests broken by ag/867110

Bug: 26506479
Change-Id: I3ccb4ddc72be0a21b91744bcb610c1ca490ac30c
2016-02-17 15:39:58 -08:00
Tomasz Mikolajewski
3d988a969f Provide siblings in a sorted orders in DocumentsUI.
Bug: 27192158
Change-Id: Idefd2ba3027cd4630fcd2aefade9e6b4952e7125
2016-02-16 17:18:34 +09:00
Steve McKay
aa15dae22d Automatically open roots pane if default dir is empty.
Move drawer fiddling out of DirectoryFragment into respective
    FragmentTuner instance.

Bug: 27084308
Change-Id: Ia13fc2be1442e1a7164c2d67ea6ce4bcfda68bcc
2016-02-09 16:25:44 -08:00
Steve McKay
f873769fba Move create folder and sort to overflow menu, cleanup back behavior.
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
2016-02-05 08:46:10 -08:00
Ben Kwa
a4761f0b8b Fix an NPE in RestoreStackTask.
BUG=27007822

Change-Id: I166dc89bfe94f2a07a1fe3769cbce763b7472ec0
2016-02-05 06:44:15 -08:00
Steve McKay
95cd85ad38 Simplify State initialization w/ better semantics + improved Task security.
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
2016-02-04 18:30:29 -08:00
Steve McKay
1f264a8a1a Normalize toolbar management.
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
2016-02-03 17:59:06 -08:00
Steve McKay
3ce95951bd Show view mode button in action bar on Downloads.
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
2016-02-02 14:51:04 -08:00
Steve McKay
efa1761776 Decouple SD card from ADVANCED storage toggle.
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
2016-02-02 09:28:30 -08:00
Steve McKay
3eb2d07fd3 Remember view mode by root.
Now stored in local prefs, not recents DB.
Don't consult preferences for recents from DocumentsActivity.

Bug: 22671255 26689962 26411301
Change-Id: I492d85c450253bce984c929a6dd15d7c31ee6a0b
2016-01-27 16:28:28 -08:00
Aga Wronska
f6a31d319f Refactor SearchManager:
- 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
2016-01-19 13:29:09 -08:00
Steve McKay
7c7e684b78 Fix bug where both list and grid buttons are visible.
Bug: 26456290
Change-Id: I41d97d7ce33a193b6a9591609deadf9690b00ba7
2016-01-08 14:59:56 -08:00
Steve McKay
14e827a958 CopyService generalization.
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
2016-01-07 16:29:36 -08:00
Steve McKay
c75fa4a5bc Merge "Eliminate dialog mode from DocumentsUI." 2015-12-17 18:29:08 +00:00
Steve McKay
a8f03a2d81 Eliminate dialog mode from DocumentsUI.
DocumentsActivity to Use standard drawer layout at all display resolutions.

Bug: 26208032
Change-Id: I3b93c81bf97045744074a299e92cdea4aae7628d
2015-12-17 09:44:57 -08:00
Ben Kwa
862b9641e3 Re-enable sorting in the DirectoryFragment.
- Move sorting from the back-end (using SortingCursorWrapper) to the the
  front-end (in DocumentsAdapter).  This makes it such that re-sorting
  the directory contents doesn't necessitate a reload.
- Update DirectoryLoaders to just return unsorted results, and rely on
  the UI to sort them.
- Remove the (now-unused) SortingCursorWrapper.
- Update Model tests to test sorting.

BUG=26024369

Change-Id: I871cc0e496267d381ae546e0309125d04649415a
2015-12-16 13:54:01 -08:00
Tomasz Mikolajewski
39acff5a36 Wire support for archives to DocumentsUI.
Bug: 20176812
Change-Id: I8220afa2f53b07aa842bf6ac24fcc62afd4e2617
2015-12-07 11:34:03 +09:00
Tomasz Mikolajewski
a8057a9dce Add first-class support for virtual files in SAF.
Bug: 20820363
Change-Id: Ic509a6003a99997126f129a836fdd8c0e843108f
2015-11-20 16:26:18 +09:00
Ben Kwa
84cebbeb69 Open the destination dir when a copy notification is tapped.
- Cleanup: rename the "open copy destination" action to "pick copy
  destination", which better reflects what it does.
- Move DocumentsIntent from BaseActivity to Shared.
- Rename ACTION_BROWSE_DOCUMENT_ROOT to ACTION_BROWSE for general browsing.
- Use the new ACTION_BROWSE to open the copy destination when copy
  notifications are tapped.

BUG=23137963

Change-Id: I10480b45a16ce716febac5453cb5015d26bb0062
2015-11-18 11:22:30 -08:00
Tomasz Mikolajewski
261b6bdd36 Remove TRANSFER_MODE_NONE from CopyManager.
This field is not necessary, as an operation is always either copy or move.

Change-Id: Ide68bb2bf5d237ed4c9abe8c443edd8e12dd82dd
2015-11-05 11:31:32 +09:00
Steve McKay
f862155e34 Move DirectoryFragment and family to dirlist pkg.
Stuff was getting out of control in the main package.

Change-Id: Ia06ba96f5bbe13388d51e6ad52a9dac76af97cc0
2015-11-04 15:04:57 -08:00
Ben Kwa
a7e9eb04e2 Update DocumentUI styles to match mocks.
BUG=24870921

Change-Id: Ic91c9fbbe8c577c2276a4afc79753ba702c53733
2015-10-29 15:43:23 -07:00
Steve McKay
0c2a0a811f Performe save when ENTER is pressed.
Push save enabling logic into SaveFragment, let it figure it out.
Don't assume DirectoryFragment is present in BaseActivity.
Permit DirectoryFragment#get to return null when not present.

Bug: 24305559
Bug: 24955068
Change-Id: Ib50d674b16ba48dcefb6e5b73055120c3e7c6dba
2015-10-15 10:35:55 -07:00
Steve McKay
5bbae10c4c Normalize and improve menu fiddling.
Also, don't show copy/paste menu items (though they can still be invoked via keyboard).
Show copy to /move to instead.

Change-Id: I6e7bdf35bf370ea30d4f12a5a200ad38ff0221f4
2015-10-02 09:48:27 -07:00
Steve McKay
8359eaafa2 Merge "Provide previous stack when opening new window." 2015-10-01 17:48:41 +00:00
Ben Kwa
94b486d32c Switch DocumentsUI over from Toasts to Snackbars.
Add a new top-level CoordinatorLayout to ensure proper operation of the
snackbar.
Switch all Toast code over to use Snackbar.

BUG=24474629

Change-Id: Iafffb35be6115cbac9304fd44e77e73b6be40c17
2015-09-30 14:47:55 -07:00
Steve McKay
323ee3ec09 Provide previous stack when opening new window.
EXTRA_STACK support was already in place (from CopyService).
Add "isRootUri" to DocumentsContract.

Bug: 24410611
Change-Id: Ia380030216323d1272ef247280582e4b55b83c42
2015-09-29 16:59:11 -07:00
Steve McKay
7a3b88cf56 Move State to a separate file.
Update remaining local DEBUG definitions to use Shared.DEBUG.

Change-Id: I3ed4d4b184836da161adff14bd3d9ca01b435847
2015-09-23 17:22:28 -07:00
Steve McKay
83df8c072d Merge BROWSE and BROWSE_ALL actions.
Open Files app when exploring from settings.
Force visibility of file size in this mode.
Don't hide empty media providers.

Bug: 24136618, 24140864
Change-Id: I6f238586725f9b6255812e3082bb8d8655219a7d
2015-09-23 12:25:13 -07:00
Steve McKay
c643386e28 Update RecentsCreateView to use RecyclerView.
Move common DirectoryContainerView handling to BaseActivity.

Change-Id: I2c34b23b7050b68999f16e6d7f651c94ea8e47b6
2015-09-22 15:58:15 -07:00
Ben Kwa
0f7078f004 Refactor DocsUI to break out a new ManageRootActivity.
- Split all ACTION_MANAGE-related functionality off from
  DocumentsActivity, into a new activity.
- Create new full-screen layouts for said activity.
- Fix some styling issues in {Documents,Files}Activity.

Change-Id: I0384715ad3c7d70a3a3daf510f1a09e8c5732348
2015-09-11 13:58:41 -07:00
Steve McKay
38b4c6f436 Use resource aliases in-lieu of ViewStubs.
This eliminates the double resource inflation necsesitated by the use of ViewStubs.

Change-Id: I9749356bed24f48b8304897dc6d8dc47cc11736c
2015-08-24 12:11:28 -07:00
Steve McKay
12055474a7 Show a drawer when in portrait mode.
This makes more space available for content.
Rename all the "Standalone" stuff to just "Files".
Move layout inflation into base class.
Move backbutton > drawer interaction into BaseActivity.

Change-Id: Ie778b323c6e80122389f029be148dd9e0c4bfb6e
2015-08-24 09:05:51 -07:00
Steve McKay
4f1604088f Move Drawer management code to a facade.
Update Standalone mode to use drawer on smaller form factors.
While we're not implementing this now, we'll probably want
to switch to drawer mode when in portrait mode, even on relatively
larger devices.

Change-Id: I244cd3c6021d63cf43d0631a5397b05339a96ced
2015-08-19 10:18:26 -07:00