Commit Graph

1630 Commits

Author SHA1 Message Date
Svetoslav Ganov
96661c42d0 Merge "System print service enabled after every system reboot" into klp-dev 2013-09-03 07:24:57 +00:00
Jeff Sharkey
7c92504206 Merge "New recents behavior to match spec." into klp-dev 2013-09-03 03:50:27 +00:00
Jeff Sharkey
cd6d7deec8 Merge "Refactoring of DocumentsContract." into klp-dev 2013-09-03 00:07:17 +00:00
Svetoslav Ganov
6bd20bc46c System print service enabled after every system reboot
The system was overriding the user on every boot by turing of all system
print services, i.e. service that are on the system image. Now the system
print service are enabled by default only once per user, the user can later
disable them and the system does not override that. We now have a system
setting with the services we enabled once by default so we never do
default enabling again (unless device is wiped).

bug:10594775

Change-Id: Id3129ccfba95bf57375ea9fec0b5ca0e51bda199
2013-09-02 15:35:06 -07:00
Jeff Sharkey
251097b378 New recents behavior to match spec.
Updated behavior queries each documents root for recently modified
documents.  It uses a new variant of DirectoryLoader which limits the
maximum number of parallel queries to relieve memory pressure.  When
first started, it waits up to 500ms for everyone to finish, then
publishes whatever results are ready, and then refreshes results as
each straggler finishes.

New RootCursorWrapper that always blends in authority and rootId
columns, which are used for binding root details from blended cursors.

Bug: 10593596, 10329994
Change-Id: Icc0d4a2f1b6166edc72f78a4c88f444eeba6f2f0
2013-09-02 15:33:57 -07:00
Jeff Sharkey
ae9b51bfa3 Refactoring of DocumentsContract.
Combines related columns and constants onto the same class so they
are easier to discover.  Move back to surfacing roots with columns
so they are consistent with documents.

Advanced roots are represented with a flag instead of distinct
types.  Flags to indicate supporting of well-known media types,
instead of arbitrary an MIME filter.  Reintroduce well-formed rootId
to support recents.

Always use the expanded version of "documents" in constants, methods,
and argument names.

Refactor DocumentProvider method names to clearly distinguish if
a single item or multiple could be returned, and of which type.  Add
documentation to clearly define which methods have already been
overridden.

Bug: 10567506, 10567557
Change-Id: I981f26ab82f2b520a19aa1ce66f659de50d7fac0
2013-08-31 16:58:28 -07:00
Alan Viverette
083199efed Merge "Update captioning APIs" into klp-dev 2013-08-30 21:34:43 +00:00
Martijn Coenen
a6dcf1a2d6 Merge "Add an API for querying HCE service selection mode." into klp-dev 2013-08-29 21:01:16 +00:00
Martijn Coenen
c3f0044abe Add an API for querying HCE service selection mode.
This allows applications to differentiate between
the case where another app is the default, or the
case where the selection mode is "Ask every time".

Also, parse new requireDeviceUnlock attribute in
ApduServiceInfo.

Bug: 10262585
Change-Id: Icac508fe00054132574731532c05a1138edb24f5
2013-08-29 13:23:03 -07:00
Alan Viverette
69ce69b0e1 Update captioning APIs
CaptioningManager is now a first-class service in Context and can
have listeners added to it to monitor changes.

BUG: 10260603, 10461210
Change-Id: I2df5b2997537bb343d902b7ace3343ad483f3717
2013-08-29 12:23:48 -07:00
Isaac Katzenelson
1d04b640ec Merge "Add ACTION_SHOW_ALARMS to Clock API" into klp-dev 2013-08-29 17:52:32 +00:00
Sam Blitzstein
2f7acd19be Add ACTION_SHOW_ALARMS to Clock API
Add in an action to jump to the alarms page of a clock app.
Helpful for quick settings, for example.

Bug: 10506871
Change-Id: Ia18708c7962543911864dfaefa17d5356eed1b45
2013-08-29 10:49:57 -07:00
Jeff Sharkey
9fd81a9008 Merge "Stronger DocumentsProvider contract." into klp-dev 2013-08-29 04:27:02 +00:00
Jeff Sharkey
aeb16e2435 Stronger DocumentsProvider contract.
Using a contract class requires that a provider implement it exactly
with little help. This change introduces a DocumentsProvider abstract
class that provides a client-side implementation of the contract that
greatly reduces developer burden, and improves correctness.

This also moves to first-class DocumentRoot objects, and moves calls
with complex side effects to be ContentProvider.call() invocations,
offering more granular permission control over Uri operations that
shouldn't be available through Uri grants.

This new design also relaxes the requirement that root information be
burned into every Uri.  Migrate ExternalDocumentsProvider and
DocumentsUI to adopt new API.

Bug: 10497206
Change-Id: I6f2b3f519bfd62a9d693223ea5628a971ce2e743
2013-08-28 20:49:42 -07:00
Sam Blitzstein
229ba4974b Remove EXTRA_DELETE_AFTER_USE and update descriptions accordingly.
As per UX, we're removing the EXTRA_DELETE_AFTER_USE flag. Instead,
apps that pick up these intents should automatically delete alarms
and timers, unless the user is taken into the app to explicicitly
specify the time/length.

Change-Id: Ibd582788c04e121427467f6549759c8b7706df8c
2013-08-28 11:42:05 -07:00
Tom O'Neill
7f6f45723a Remove or reduce visibility of deprecated methods
- Fix additional getInt() path, restores the location settings screen
functionality.

- Should fix "unresolved link" build breakages in
git_klp-dev-plus-aosp-without-vendor, which is much more persnickety than
klp-dev for some reason.

- Add warning that we may add additional location modes in the future.

- Finish fix for b/10461763 and b/10461474

Change-Id: Id7155e3a0d7526a377d446018ef3bdb057bad3a6
2013-08-27 10:53:15 -07:00
Tom O'Neill
a324ac7875 Address API council comments on location mode API council
- Start fixing b/10461763

Change-Id: Ic5305bdca38329765a1de565c0a25da12e8ab19d
2013-08-26 14:40:23 -07:00
Chong Zhang
5de1faca16 Merge "wifi-display: add certification options" into klp-dev 2013-08-23 23:18:52 +00:00
Jeff Sharkey
365768fd35 Merge "Return EXIF thumbnails when available." into klp-dev 2013-08-23 23:18:11 +00:00
Jeff Sharkey
98d6212327 Merge "Add CancellationSignal support to file operations." into klp-dev 2013-08-23 23:17:47 +00:00
Chong Zhang
1f3ecaae63 wifi-display: add certification options
When certification mode is enabled:

- Pass wfd session info to wifi display settings

- Allow sink to connect to source

- Add interface in display manager for pausing/resuming session

- Add interface in WifiP2pManager for setting lc, oc and starting
  autonomous GO

Note that we're compliant regardless of certification mode, but
some confusing options (eg. allowing incoming connection from
sink) we want to hide when not being tested.

Bug: 9371882
Change-Id: Icc7dcae4e046453796cfa03f5f197055fabf234b
2013-08-23 16:02:09 -07:00
Jeff Sharkey
6398343e83 Return EXIF thumbnails when available.
Adds new ExifInterface method to extract the thumbnail range from
a larger image file, and use that to return an AssetFileDescriptor.

When decoding an AssetFileDescriptor thumbnail with offsets, read out
the raw data entirely, since Skia uses lseek() aggressively.

Bug: 10412208
Change-Id: I7906cdf82c0c3794cec7043c801a86f66efeb143
2013-08-23 12:19:19 -07:00
Jeff Sharkey
bd3b902567 Add CancellationSignal support to file operations.
Since ContentProvider file operations can end up doing substantial
network I/O before returning the file, allow clients to cancel their
file requests with CancellationSignal.

Ideally this would only be needed for openFile(), but ContentResolver
heavily relies on openAssetFile() and openTypedAssetFile() for common
cases.

Also improve documentation to mention reliable ParcelFileDescriptors
and encourage developers to move away from "rw" combination modes,
since they restrict provider flexibility.  Mention more about places
where pipes or socket pairs could be returned.

Improve DocumentsContract documentation.

Bug: 10329944
Change-Id: I49b2825ea433eb051624c4da3b77612fe3ffc99c
2013-08-23 11:27:25 -07:00
Yorke Lee
83e1015d73 Merge "Remove dialpad_autocomplete system key from settings" into klp-dev 2013-08-22 16:20:16 +00:00
Vinit Deshapnde
e2a6d3df12 Merge "Introduce network link quality statistics" into klp-dev 2013-08-22 16:16:45 +00:00
David Christie
8c128abe9c Merge "Remove newly added but deprecated master switch location setting methods." into klp-dev 2013-08-22 04:15:26 +00:00
Yorke Lee
35785bfdd1 Remove dialpad_autocomplete system key from settings
Bug: 10429771
Change-Id: I6c3721020114733e20d0d620680839e1b958721f
2013-08-21 19:21:25 -07:00
David Christie
4c18b585e4 Remove newly added but deprecated master switch location setting methods.
Change-Id: I5e85a1efafe45cee89e08b97a0dcb016c91fd572
2013-08-21 17:09:30 -07:00
Sam Blitzstein
21ea2d0387 Fix VALUE_RINGTONE_SILENT ref.
Change-Id: I115c8d2e0e972f6d7d732071d26ae5f489b926f3
(cherry picked from commit 044ffbbbaa)
2013-08-21 23:08:21 +00:00
Sam Blitzstein
435e7dfd92 Extend AlarmClock API (just slightly)
Add some extras to SET_ALARM action.
Add SET_TIMER action.

Change-Id: I436864ca875a7eb1c424d0d21882d624780d6ff1
(cherry picked from commit fe7dedefe9)
2013-08-21 21:41:46 +00:00
Vinit Deshapnde
1f12cb52a4 Introduce network link quality statistics
This change starts tracking traffic quality data for WiFi and mobile
networks. The quality is tracked based on incidental traffic, and not
on specific measurements. Theoretical bandwidths are hard-coded, as
well as sampling interval; although sampling interval can be changed
by setting a system policy.

Bugs filed to remove shortcomings of this change -

10342372 Change LinkInfo name to something better
10342318 Move hardcoded values of MobileLinkInfo to resources
         so they can be updated without changing code

Bug: 10006249

Change-Id: I83d8c7594da20fe53abbd5e1f909b1f606b035bb
2013-08-21 13:09:01 -07:00
Mathew Inwood
e14380a798 Remove android.provider.Applications
ApplicationsProvider is going away since it's no longer needed. Remove
the related constants also.

Depends on change I6ee638a3d2b65f092d6f90410156d7cd24436914 in
packages/provider/ApplicationsProvider.

Bug: 10407790
Change-Id: Ib3188612a8713266a77d59d514113ed5d61b0810
2013-08-21 17:04:05 +01:00
Tom O'Neill
fd95299415 Fix build: remove obsolete TODO
Change-Id: Ie8ef50450a8c415deba9b71607bec89e72db9227
2013-08-20 11:54:02 -07:00
Tom O'Neill
f23993fb52 Merge "Add the API to set and read the location mode" into klp-dev 2013-08-20 18:13:09 +00:00
Tom O'Neill
1f48b78e99 Add the API to set and read the location mode
- This will be more future-proof than the current GPS/NLP API

Change-Id: I9defe505e1372d9b601c3190eb49bd71604f04d1
2013-08-19 18:14:56 -07:00
Jeff Sharkey
4eb407a832 Management actions, invalidate caches.
In manage mode, touching launches a VIEW intent for the file.  Also
adds actions for sharing and deleting.

Move roots and thumbnail caches into Application object, and flush
cache when thumbnail size changes.  Listen for package changes and
broadcasts that should invalidate our roots cache.

Pick default grid/list mode based on provider hint.

Bug: 10329983, 10330210, 10378834, 10330069
Change-Id: I75afb1c58ab71bb9d55852b1059da7257a376248
2013-08-18 21:14:02 -07:00
Jeff Sharkey
9d0843df7e Resized thumbnails; async; extend MatrixCursor.
When requesting thumbnails, check if their dimensions are larger
than requested, and downscale to avoid memory pressure.  Load them
async and with LruCache.

Extend MatrixCursor so that RowBuilder can offer() columns without
requiring they know the projection map.  This makes it easier to
respond to query() calls, where the remote side controls the
projection map.  Use it to handle custom projections in external
storage backend.

Update date/time formatting to match spec.

Bug: 10333418, 10331689
Change-Id: I7e947a8e8068af8a39b55e6766b3241de4f3fc16
2013-08-17 19:05:07 -07:00
Jeff Sharkey
a5599ef636 Documents management mode; API adjustment.
Create documents manage mode to support Downloads and transient
storage devices.  Locks user into requested backend root, and forces
file sizes on and sorting by last modified.

Separate API constants for Documents versus Roots, and give concrete
MIME types for roots.

Treat null sizes as unknown.  Documents are always enabled in list
so that divider is drawn.  Mark external storage file as writable.

Bug: 10329983, 10332993, 10332952
Change-Id: I05f4fdf5b04041a38e1ba7fb30202a3b0c615bf6
2013-08-15 16:25:30 -07:00
Jeff Sharkey
54ca29a5b9 DocumentsUI handles GET_CONTENT; hinting, errors.
Document browser now takes over all GET_CONTENT requests that request
openable Uris. It shows both storage backends and includes other apps
that respond to GET_CONTENT. Only grants transient read permissions.

Better guarding against throwing storage backends. Send sort order
and local-only hinting to backends.

Require that OPEN/CREATE_DOC users include openable category.

Bug: 10330112, 10329976, 10340741, 10331689, 10329971
Change-Id: Ieb8768a6d71201816046f4a4c48832061a313c28
2013-08-15 14:14:48 -07:00
Jeff Sharkey
5b83f854d9 Root invalidation, write and grid flags, local.
Flags to indicate write support, and to indicate that a grid view is
preferred.  Method to inform system that any root caches should be
invalidated.  Methods to mark a Uri as requesting "local only" data.

Helper method for document creation.

Bug: 10330069, 10330108, 10330210, 10329976
Change-Id: I6ce6160f6ce6621e6ea05848a31bbbcb84587671
2013-08-14 21:52:37 -07:00
Jeff Sharkey
998cfa2c63 Merge "API to discover granted Uri permissions." into klp-dev 2013-08-12 03:59:58 +00:00
Jeff Sharkey
08da7a1143 API to discover granted Uri permissions.
Now that granted Uri permissions can be persisted across reboots,
offer APIs to discover them. Returns incoming or outgoing grants
matching the requested flags and mask. Add helper method to discover
"open" documents using this new API and filtering for non-documents.

Require that callers own at least of the filtering packages to avoid
exposing all grants. Switch internal grant tracking to use ArrayMap.

Change-Id: I0a755f221d0d160b411f8d3cfc48279b64345733
2013-08-11 20:56:15 -07:00
Martijn Coenen
4bcc8ee682 Merge "NFC: always upper-case parsed AIDs." into klp-dev 2013-08-09 20:50:52 +00:00
Martijn Coenen
62c196abd2 NFC: always upper-case parsed AIDs.
Also added activity intent action for Tap&Pay settings.

Change-Id: I5648e1ded3b79a3363899d1cab8aec55842b3e22
2013-08-09 13:43:34 -07:00
Amith Yamasani
672d323bb4 Merge "Developer option to force RTL layout" into klp-dev 2013-08-08 20:45:47 +00:00
Amith Yamasani
d8415f4bf0 Developer option to force RTL layout
Make sure screen layout changes are taken into account in Configuration diffs.
Initialize the SystemProperty from Global settings on startup of
ActivityManagerService.

TextUtils checks the override flag to decide if the default layout direction
should be forced to RTL.

Bug: 10244047
Change-Id: I23a2583d790a355060d0d898ba44e5f7dc896b46
2013-08-08 13:42:02 -07:00
David Christie
3f7b652cd3 Add helper methods to set/query the location master switch.
Consolidates the logic of exactly what the master switch means
so that if we change in the future, we don't have to find
all the different parts of the code that use it (location
settings, location quick settings, power widget, etc).

Change-Id: Ib918143b82e16541f0873c4d9141adb11fb815fc
(cherry picked from commit db3720d42d)
2013-08-08 18:29:01 +00:00
Jason Monk
602b232a06 Add PAC File support for proxy configuration
PAC (Proxy auto-config) files contain a single javascript function,
FindProxyForURL(url, host).  It gets called to determine what proxy should be
used for a specific request.

This adds PAC support to the system.  The ProxyProperties has been modified
to hold the PAC file when one is present.  The Proxy method
setHttpProxySystemProperty has been modified to insert a PacProxySelector
as the default ProxySelector when it is required.  This new ProxySelector
makes calls to the ConnectivityService to parse the PAC file.

The ConnectivityService and the WifiConfigStore have been modified to support
saving the extra PAC file data.

The ConnectivityService now has a class attached (PacProxyNative) that
interfaces to the native calls for PAC files.  The parsing of the PAC file
is handled by libpac (which is being added to external/) which utilizes
libv8 to parse the javascript.

As a fallback to applications that don't use the java ProxySelector,  the proxy
is setup to point to a local proxy server that will handle the pac parsing.

bug:10182711
Change-Id: I5eb8df893c632fd3e1b732385cb7720ad646f401
2013-08-07 21:01:39 -04:00
Jeff Sharkey
72bd062044 Merge "Settings, replace files, sorting by size, tweaks." 2013-08-07 23:34:44 +00:00
Jeff Sharkey
9fb567b591 Settings, replace files, sorting by size, tweaks.
Add settings to show file sizes and advanced storage devices, both
disabled by default. Add sorting by size when enabled in settings.

Always show all documents, but only allow selection when they match
MIME filter. When creating, select entire filename on focus. When
creating, treat selected documents as replacement targets using that
exact Uri unless display name is changed.

Show available bytes for device roots. Show empty text label in
empty directories. Split grid backend and details into two separate
lines. Fix path label ordering when rendering recent directories.

Change-Id: I44c62e8adb8ca7d4355510a13d1ba975196a2d29
2013-08-07 16:29:51 -07:00