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
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
This CL prevents allocating new strings just due to the prefix,
which also simplifies the code.
Bug: 27286016
Change-Id: I3d0ea9e4ede68814c78404bd9ac820b8900851f5
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
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
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
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
- 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
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
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
EXTRA_STACK support was already in place (from CopyService).
Add "isRootUri" to DocumentsContract.
Bug: 24410611
Change-Id: Ia380030216323d1272ef247280582e4b55b83c42
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
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
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
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