Commit Graph

29 Commits

Author SHA1 Message Date
Tomasz Mikolajewski
f61b0b8440 Revert "Precompute cursor indexes in DocumentsUI and improve perf by 2.7%."
This reverts commit 2e4e14789e.

Bug: 28371571
Change-Id: I7aad5eb483c17cccb3485eb22effb677e1ba2160
2016-04-26 11:13:50 +09:00
Tomasz Mikolajewski
76572d6f19 Restrict selection to 1000 items in DocumentsUI.
Bug: 27208679
Change-Id: I5e500724a3fb9af5b8f59e0c959523da5066b1fd
2016-04-19 08:51:46 +00: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
774cc932fc Add menu option to show/hide internal storage.
This reverts commit 7c4395804e.

Bug: 27683276
Change-Id: Id1a310b57ab7fa3c8c14b464786473f211eaf41f
2016-03-30 18:23:10 -07:00
Aga Wronska
973168c142 Action OPEN_DOCUMENT_TREE shows advanced roots ignoring config flag
Fixed: 27856396

Change-Id: I2dc135ac6aa66452edf8bd8439d5e54bcc387070
2016-03-29 10:26:25 -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
Tomasz Mikolajewski
4683d4c914 Merge "Precompute cursor indexes in DocumentsUI and improve perf by 2.7%." into nyc-dev 2016-03-18 01:48:16 +00:00
Tomasz Mikolajewski
2e4e14789e Precompute cursor indexes in DocumentsUI and improve perf by 2.7%.
Relands after a revert, with a tiny fix.

Bug: 27286016
Change-Id: Ifb6cea46a86e8158b05db5dbf87878892c6cc702
2016-03-18 09:48:24 +09:00
Tomasz Mikolajewski
f9845b4ecf Merge "Add a performance test for launching DocumentsUI." into nyc-dev 2016-03-17 08:11:53 +00:00
Tomasz Mikolajewski
5cd060a931 Update comment for compareToIgnoreCaseNullable().
Bug: 27286016
Change-Id: I0ff4d59e24e8afe129aa8a2921d3de71d3df7236
2016-03-17 06:20:12 +00:00
Tomasz Mikolajewski
e46d7f93ad Add a performance test for launching DocumentsUI.
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
2016-03-17 15:12:17 +09:00
Tomasz Mikolajewski
77f0595cd1 Optimize sorting performance by 7.64% in DocumentsUI.
This CL prevents allocating new strings just due to the prefix,
which also simplifies the code.

Bug: 27286016
Change-Id: I3d0ea9e4ede68814c78404bd9ac820b8900851f5
2016-03-15 16:05:59 +09:00
Aga Wronska
02c532fb54 Force show keyboard when presenting FragmentDialogs with EditText.
Bug: 26823589
Change-Id: I593ed0e7ef40c9c95c311ca529d3826d73496458
2016-03-02 16:32:00 -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
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
008e948c3e Undo generalization isDownloads > supportsChildren.
Move root comparison logic into RootInfo.
Move shared string comparison code to Shared.

Change-Id: I3267b496a165ad3cae773783db0e79df2eb118e8
2016-02-18 15:59:52 -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
Ben Kwa
d839149843 Refactor DocumentHolder.
Primary goals of this refactor are to reduce DirectoryFragment bloat,
and to simplify the code (especially the binding code) for the different
layouts.

- Decouple DocumentHolder from DirectoryFragment.
- Move it into its own file.
- Move binding code from DirectoryFragment into DocumentHolder.
- Split DocumentHolder implementation into three separate subclasses,
  for grid items, list items, and dividers.

BUG=24326989

Change-Id: I217bf4e5b8e1b33173b8b0275591a8c5d8e9161c
2015-12-21 15:31:15 -08: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
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
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
635b094997 Fix erroneous band selection start.
Fix band selection to not start when crossing off of a grid item into empty space.
This CL also introduces a MotionEvent wrapper class, since MotionEvent
can't be used in tests.
Note that this CL works around several issues with b/23793622.

Bug: 23727363
Change-Id: I010a82db3363d99f2d804db2653a3a25d8cac940
2015-09-04 12:03:37 -07:00
Ben Kwa
304895a8bf Implement undo deletion.
Add a snackbar that pops up upon deleting files, giving the user a chance to
undo the operation.  If the user takes no action, the files are deleted.

This feature basically hides the files temporarily and pops up the said
snackbar, and if the user doesn' hit "undo", the files will be actually
deleted when the snackbar times out.

BUG=23518578

Change-Id: I181395aff967e62ca9287ed6fea2c7c8b8c09a71
2015-09-02 14:07:32 -07:00
Steve McKay
58efce36cd Use type inference where possible.
Normalize use of Annotations like VisibleForTesting, Nullable and so on.
Also, fix a small issue where we were not doubling the marging on cells when calculating columns for grid view.

Change-Id: Ia02f683c2682fa8d0963d13f253a359911d27965
2015-08-20 13:10:07 -07:00