Commit Graph

1701 Commits

Author SHA1 Message Date
John Spurlock
e18b673a4d am 330dfa7d: Merge "Fix @see link in DocumentsContract docs." into klp-docs
* commit '330dfa7d11c542aa99aa277f75113bfc916d72dd':
  Fix @see link in DocumentsContract docs.
2013-11-25 23:29:29 +00:00
John Spurlock
4e55a7e8c5 Fix @see link in DocumentsContract docs.
DocumentsContract#createDocument is hidden.

Change-Id: Iae9c4bcd8620c5297d1fc4e2324a8a242ab4b31a
2013-11-25 18:00:07 -05:00
Jeff Sharkey
529ba10693 am 711d390b: Merge "Small DocumentsProvider doc improvements." into klp-dev
* commit '711d390be96531c5dfadb9a17e373f1e92ef16a1':
  Small DocumentsProvider doc improvements.
2013-11-13 14:34:49 -08:00
Jeff Sharkey
3b945405cf Small DocumentsProvider doc improvements.
Bug: 11670294
Change-Id: I5fb91c7665fc2a4531059ef9f2de0972ebabe1ea
2013-11-13 13:31:17 -08:00
Scott Main
7774d8e723 am 44895333: clarify that ANDROID_ID is unique for each user in multi-user environment. bug: 8073630
* commit '44895333dad66be0ab5350b039d828f3da2a1b73':
  clarify that ANDROID_ID is unique for each user in multi-user environment. bug: 8073630
2013-11-12 17:56:03 +00:00
Scott Main
44895333da clarify that ANDROID_ID is unique for each user in multi-user environment.
bug: 8073630

Change-Id: Iff18e892a1e0422a85edd83f97ba4285f2171f74
2013-11-12 09:23:13 -08:00
Jeff Sharkey
37ed78e504 Clarify DocumentsProvider recents behavior.
Bug: 11448309
Change-Id: I17e0ac757e549b251e08d58d5ce7d25fb253883f
2013-11-05 12:38:21 -08:00
Jeff Sharkey
8a2998eade Better enforcement in DocumentsProvider.call().
Use ContentProvider.enforceWritePermissionInner() to handle all edge
cases around checking if caller has write permissions.  This fixes
bug where call() would throw if caller and provider were the same app.

Bug: 11464234
Change-Id: Iace8e0e4243d56ed1cdcc9680383103975107036
2013-10-31 14:55:44 -07:00
Jeff Sharkey
33819318f6 Suppress OperationCanceledException logging.
These exceptions are normal when an app has cancelled an outstanding
thumbnail request.

Bug: 11385378
Change-Id: I8aed5721b447cda5baf447ac7afd627aa1062863
2013-10-29 11:56:37 -07:00
Jeff Sharkey
96c620595b Extra to always show advanced devices.
Also always lower-case extension to extract MIME type correctly,
we may want to fix in MimeUtils at some point.

Bug: 11354402
Change-Id: I77d0c06a663cd0c4320c41553ff1980b6f9a7778
2013-10-25 16:30:54 -07:00
Jeff Sharkey
9352c383e9 Add notification docs to DocumentsProvider.
Bug: 11272209
Change-Id: I97d67c91c4f4a312cbde82afd9e27509c26517b2
2013-10-23 12:15:34 -07:00
Jeff Sharkey
e8c00d8ed4 Improve DocumentsProvider and contract docs.
Bug: 10567557
Change-Id: I71e7f7ad172e9986e58b9c9533b1c948c5530397
2013-10-15 16:44:22 -07:00
Jeff Sharkey
c1c8f3f97d Add extras to AFD, send orientation metadata.
AssetFileDescriptor augments a ParcelFileDescriptor with details
about how it should be interpreted, so extend it to support a Bundle
of extras.  Then use these extras to share thumbnail orientation
metadata.

The raw image data of EXIF thumbnails matches the orientation of
the enclosing image, but the thumbnail data doesn't repeat the EXIF
flags.  This meant that receivers of openDocumentThumbnail() would
get an image that needed to be transformed, but without enough
context to actually transform it.

Instead of transforming and recompressing the image on the fly on
the provider side, send a transformation hint that the receiver
side can interpret.

Bug: 11205688
Change-Id: Ibc5a7ad002377a55e6ffcb5ac5c8829841002e06
2013-10-14 15:28:19 -07:00
John Spurlock
f1a36648ca Implement new SYSTEM_UI_FLAG_IMMERSIVE_STICKY.
Migrate transient bar mode to IMMERSIVE_STICKY, and
introduce new behavior for IMMERSIVE: namely the
opaque bars are revealed by clearing the flags on swipe.

Remove low-profile optimization that confuses api demos
and other apps using low-profile as a signal.

TransientNavigationConfirmation renamed to
ImmersiveModeConfirmation, and its associated resources,
since the confirmation is now shown when the nav bar is
shown in either of the two immersive modes.

Remove unused Toast.makeBar and associated hidden framework
bits now that the confirmation uses a cling instead.

Bug:11062108
Change-Id: Iae49d31973940b9bee9f5b1827756db5eaa76aa3
2013-10-14 13:11:21 -04:00
Jeff Sharkey
15be83612c Support overriding calling package in Documents.
Calling package is only used to pick the stack to restore, not for
security purposes.  This lets other system tools (like Printing)
indicate the real caller.

Bug: 11149540
Change-Id: I155e32577eaeda7dfcb80a7d84ac3b54f281590a
2013-10-09 13:52:26 -07:00
Jeff Sharkey
d2e1e810a7 Drop <meta-data> support for DocumentsProviders.
Prebuilts have finished migrating to new <intent-filter> based
approach.  Also update isDocumentUri() to match new definition.

Bug: 11109484
Change-Id: Ib95e2c3f5a9ff70b8d5e411f68ad49d1990dae8c
2013-10-09 13:31:13 -07:00
Daniel Sandler
dea6462aab Don't wake users up with low battery sounds.
Battery sounds will always play when the screen is on, and
then for Settings.Global.LOW_BATTERY_SOUND_TIMEOUT
milliseconds after the screen goes off. After that, low
battery alerts will be pushed out the airlock until the
screen comes back on again.

If battery sounds are suppressed via this mechanism you'll
see a log line like:

	V/PowerUI ( 3161): screen off too long (5779ms, limit
	5000ms): not waking up the user with low battery sound

The default value of LOW_BATTERY_SOUND_TIMEOUT is a settings
provider resource: R.integer.def_low_battery_sound_timeout.

Bug: 10487557
Change-Id: Iddd42038aa630631dc8f1833f20fcc5a0c646681
2013-10-08 17:37:06 +00:00
Amith Yamasani
1b5a2e630a Merge "Don't backup/restore ringer mode" into klp-dev 2013-10-07 23:57:36 +00:00
Amith Yamasani
77c8831ff6 Don't backup/restore ringer mode
Backing it up might result in restoring a new device to a silent,
or vibrate-only state, which is not a good out-of-box experience.

Bug: 11025824
Change-Id: I5b63fd3da012ffc4253338aae31527302a2d276a
2013-10-07 15:23:16 -07:00
Jeff Sharkey
bcc77b502b Merge "Add <intent-filter> support to <provider>." into klp-dev 2013-10-07 21:41:45 +00:00
Jeff Sharkey
85f5f81320 Add <intent-filter> support to <provider>.
For the new documents work, we're only interested in the subset of
ContentProviders that actually implement DocumentsContract.  Instead
of returning all providers, add <intent-filter> support to make it
easier to limit the set of returned ProviderInfo.

Define a well-known action for DocumentsProviders, and start using it
when querying for roots.  Continue supporting the old <meta-data>
approach until all apps have been updated.

Bug: 8599233
Change-Id: I05f049bba21311f5421738002f99ee214447c909
2013-10-07 14:19:13 -07:00
Jeff Sharkey
fc141ef20b Merge "Avoid NPE when ProviderInfo is missing." into klp-dev 2013-10-04 21:49:07 +00:00
Jeff Sharkey
9095c5a823 Avoid NPE when ProviderInfo is missing.
Bug: 11052428
Change-Id: I6cb0cf2030a28f571c3f13cd0b9ba76627974697
2013-10-04 13:53:50 -07:00
Robert Greenwalt
cac2fd302e Merge "Revert "Use a build-specific wifi country code"" into klp-dev 2013-10-04 18:33:51 +00:00
Robert Greenwalt
3ea0c99b67 Revert "Use a build-specific wifi country code"
This reverts commit c33cd23c17.

bug:11064682
Change-Id: I35825a7005e75f3abf02f23f31dee1cb7b101c31
2013-10-03 21:15:54 +00:00
Daniel Sandler
2fdb68b3c2 Goo goo ga joob.
Bug: 10240151
Change-Id: I7b702c397cb9f5ac3294ae27ffc6185df6a64678
2013-10-03 00:19:35 -04:00
Jeff Sharkey
32cd2fb596 Docs change: annotate media intent actions.
Bug: 11043141
Change-Id: I66777c5ce25014d8e64da5b4ce3f70334befb0b7
2013-10-02 10:11:25 -07:00
Jeff Sharkey
7aa7601c09 Detect wedged ContentProviders, treat as ANR.
All ContentProvider calls are currently blocking, making it hard for
an app to recover when a remote provider is wedged.  This change adds
hidden support to ContentProviderClient to timeout remote calls,
treating them as ANRs.  This behavior is disabled by default.

Update DocumentsUI to use a 20 second timeout whenever interacting
with a storage provider.

Bug: 10993301, 10819461, 10852518
Change-Id: I10fa3c425c6a7225fff9cb7a0a07659028230cd3
2013-10-01 09:50:41 -07:00
Svetoslav
95b1bbfe6c Merge "Fix the build" into klp-dev 2013-10-01 00:36:56 +00:00
Svetoslav
f43e851f96 Fix the build
Change-Id: I2d701199808b1a0d482b9593c8b0730a408c3e8e
2013-09-30 17:33:05 -07:00
Robert Greenwalt
bad5d694c7 Merge "Use a build-specific wifi country code" into klp-dev 2013-09-30 21:13:24 +00:00
Robert Greenwalt
c33cd23c17 Use a build-specific wifi country code
This ignores any previous setting and instead uses
a value set at build time.  This does not preclude
us from using some other signal to determine country
for wifi channel limits.

bug:10513734
Change-Id: Ib82c07285af70fbd82eb0466b7391979ebc8be10
2013-09-29 15:45:47 -07:00
Jeff Sharkey
6efba22ce5 New roots UX, async, performance, docs.
Yet another iteration from UX on how roots should be ordered.  Since
we no longer categorize by type, remove from public API.  Updated
asset drop with new dividers.

Update public API docs to be explicit about required columns.  Hide
flags and columns that aren't required for third-party apps.

Move remainder of potentially blocking work to AsyncTasks, including
creating directories, picked root resolution, and creation of new
documents once picked.

Improve performance of layouts by removing baseline alignment and
reduce hierarchy depth.  Set alpha on ImageViews directly to avoid
offscreen rendering hit.

Limit returned recents to 45 days.  Show load in recents when still
waiting for backends.  Show empty message when no recents stacks to
create from.  Use unique key when saving recent stacks.

Bug: 10941423, 10819454, 10964412, 10960718
Change-Id: I08cf589dcda7e203acf67928f4d30322ae36ee94
2013-09-27 17:13:13 -07:00
Jeff Sharkey
ee2f7df9ee Tighten flags enforcement, API to test Uris.
Check and throw if callers request invalid grant flags.  Add API to
test if a Uri is backend by a DocumentsProvider.

Bug: 10919391, 10935608
Change-Id: Ifa6afefb95983558c8c64dc15ddf650e9fe07080
2013-09-26 13:14:45 -07:00
Jeff Sharkey
e66c1778f8 Require that persistable Uri permissions be taken.
Change our Intent flag to indicate that a Uri permission grant is
persistable, but don't actually persist it until explicitly taken by
the receiving app.  This prevents apps from spamming each other if
persisted permissions aren't really required.

Remember the last time a persisted grant was taken by an app, and
use this to prune away the oldest grants when the number of grants
grows too large.  Allow apps to query persisted grants they are
holding, and allow them to release previously persisted grants. Add
public UriPermission class to return grant details and timestamp.

Track various permission strengths separately, and combine together
after each mutation pass.  Persistable grants are currently treated
like global grants, but they could be moved to have owners in the
future.  Require that grant holders trying to extend a persistable
permission actually hold a persistable permission themselves.

Bug: 10835779
Change-Id: I95b2f797c04ce7fd2612f9a644685dbd44e03759
2013-09-25 15:16:41 -07:00
Jeff Sharkey
b180a65d41 Allow saving to Downloads.
Uses new column to mark writability.  Also filter file selection in
create mode to only allow writable files.

Bug: 10667164, 10893268
Change-Id: I90f74efbb7ac634fbdb3cc02a904a96a434d3605
2013-09-23 14:23:45 -07:00
David Braun
345d491b77 Merge "Implement new method for handling SMS/MMS on the platform" into klp-dev 2013-09-17 22:14:54 +00:00
John Spurlock
d67ec25a9c Update transient navigation confirmation wording & behavior
1. Decrease transient navigation confirmation annoyance.

  - Only use the power-key as a signal if we detect a screen-off
    screen-on within a short threshold value.

 - Auto-confirm if user performs the indicated gesture.

 - Remember confirmation across reboots.

2. Update wording to new final wording.  Remove now obsolete
short + long versions.  Decrease message font temporarily
until the new platform toast redesign is finalized.

3. Remove pre-ship ImmersiveModeTesting debug helper.

Bug:10602929
Change-Id: I0bff826391058c7b282eeb61817b93b79de84893
2013-09-16 17:12:17 -04:00
David Braun
f5d831915d Implement new method for handling SMS/MMS on the platform
Multi project change:
The changes in this project add the new (hidden) default sms application
setting to Settings.Secure and updates AppOps to support the concept
of an op defaulting to something other than allowed. OP_WRITE_SMS is set
to default to MODE_IGNORED.

Bug: 10449618
Change-Id: I37619784ac70c27cf9fbcbfcac1b263398bc4e01
2013-09-16 13:43:51 -07:00
Maggie Benthall
f5aba5ad1e Merge "CA cert monitoring: add notifications and actions for dialog" into klp-dev 2013-09-14 18:00:13 +00:00
Jeff Sharkey
12c7a0c970 Merge "More UX updates around picking images." into klp-dev 2013-09-13 23:33:27 +00:00
Jeff Sharkey
f6db154975 More UX updates around picking images.
When picking images or videos, hide the titles in recents, since the
thumbnails should speak for themselves.  Also respect new flag that
allows a directory to request their titles be hidden.

Show directory icon hint in grid mode when showing a thumbnail, to
remind user it's a directory.

Filter directories out of recents.  Hide most action bar icons on
phones, even when room.  Only show drawer on first launch.  Hide most
drawer headers to match spec.

Bug: 10710331
Change-Id: I0ef1973ddd62750f57345336388366eda1449720
2013-09-13 16:02:14 -07:00
Zhihai Xu
78d47240fb Merge "Fixed review comments" into klp-dev 2013-09-13 23:00:21 +00:00
Maggie Benthall
0469f41010 CA cert monitoring: add notifications and actions for dialog
In DevicePolicyManagementService, on boot and when certs are installed,
post notification to tell the user that their traffic may be
monitored.
Have QuickSettings use the MonitoringCertInfoActivity instead
of building the dialog itself.

Bug: 10633199

Change-Id: Ie4b97295a9fc25867c87872feccdb17f4bea071d
2013-09-13 15:46:30 -04:00
Jeff Sharkey
3e1189b359 Move search to roots; Documents root; hide empty.
Documents searches now happen root-wide, instead of only under a
subdirectory.  Updates abstract class and flags to match.  Add flag
for a root to indicate it's empty, and hide empty roots in UI unless
creating.

Define "Documents" public directory and storage backend to contain
files.

Bug: 10712057, 10710865, 10710758
Change-Id: I8716367568969f9cb1d83927b2bf5a7013809350
2013-09-13 11:35:04 -07:00
Kim Schulz
0d37605374 Fixed review comments
- fixed review comments (internal+google)
- corrected tabs/spaces
- Add connection id header for obex client operations
- added support for implementing ProfileService class

Change-Id: Idab8b4fa54a0f31bec4ffa263a69a9850a07f858

Bug:10692365
2013-09-12 19:07:28 -07:00
Jeff Sharkey
357f9e34ca Merge "Handle pipe thumbnails, acquire unstable refs." into klp-dev 2013-09-12 16:00:40 +00:00
Jeff Sharkey
de2b22fbc6 Handle pipe thumbnails, acquire unstable refs.
Support decoding thumbnails delivered over pipes by wrapping in a
buffered stream.  Also switch to using unstable provider references
to avoid crashing DocumentsUI.

Bug: 10516148, 10510851
Change-Id: I85f6eeaca70c97742bf79656d1d0c6da381fdd47
2013-09-11 17:33:52 -07:00
Tom O'Neill
706113fa2a Merge "Improve some javadoc related to isProviderEnabled() apis" into klp-dev 2013-09-11 19:20:16 +00:00
Tom O'Neill
d5759437ee Improve some javadoc related to isProviderEnabled() apis
- LocationManager.isProviderEnabled() no longer throws SecurityException:
the caller could already circumvent the permission check by calling
Secure.isLocationProviderEnabled()

Change-Id: I5abd04264299671ed35ce4594b5be46d86378767
2013-09-11 11:03:03 -07:00