Commit Graph

1595 Commits

Author SHA1 Message Date
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
Jeff Sharkey
b3316ef798 Merge "Storage roots in fragment, sectioned." 2013-08-06 18:42:18 +00:00
Jeff Sharkey
66516697a2 Storage roots in fragment, sectioned.
Move storage roots into a fragment, since it's not a drawer on
tablets.  Cluster and sort roots when displaying.  SectionedListAdapter
to make clustered roots easier to manage.  Add docs for root types.

Move roots cache into separate class to make it easier to share.

Change-Id: Ia0b92eade059e816324641f600c08026c0e268c9
2013-08-06 11:38:46 -07:00
Yorke Lee
1ea19f4e49 Merge "Add DEMOTED and UNDEMOTE TO ContactsContract" 2013-08-06 03:42:06 +00:00
Wink Saville
1280395539 am 9fe49fc5: am 523db46f: Merge "Set subscription_mode in the database to a default value"
* commit '9fe49fc56ef39facf7b3be5f66256bd15a87961f':
  Set subscription_mode in the database to a default value
2013-08-05 17:23:01 -07:00
Wink Saville
523db46f69 Merge "Set subscription_mode in the database to a default value" 2013-08-06 00:10:03 +00:00
Yorke Lee
3585e1a611 Add DEMOTED and UNDEMOTE TO ContactsContract
Change-Id: I060e9ce7d5de3f32fc55ba619b9a931ef938bd7b
2013-08-05 13:08:55 -07:00
Alan Viverette
2191a0c857 Merge "Move caption style to its own class, add presets" 2013-08-05 18:32:20 +00:00
Elliott Hughes
89a8250e24 am 710f3e2c: am 60ae2617: Merge "If frameworks wants ASCII casing, it should explicity ask for it."
* commit '710f3e2cc6bc2cdc2f2cddb2190823ea31efd52a':
  If frameworks wants ASCII casing, it should explicity ask for it.
2013-08-02 17:58:33 -07:00
Martijn Coenen
badb063c81 Merge "NFC: Host-based card emulation APIs." 2013-08-03 00:49:03 +00:00
Jeff Sharkey
cf9d87c688 Merge "Track and persist directory stacks; recents work." 2013-08-03 00:43:00 +00:00
Jeff Sharkey
dc2963aeca Track and persist directory stacks; recents work.
Move to manual tracking of directory navigation stack so we have Uri
data to persist, instead of opaque fragment backstack.  Remember
directory stacks across launches on a per-app basis.

Start recording recently opened and created files.  Uniform Uri
parameter extraction utility methods in contract.

Change-Id: I79ed30ee10272bf7c53d339e797639c993f649bb
2013-08-02 17:39:38 -07:00
Martijn Coenen
a7397883de NFC: Host-based card emulation APIs.
- New INfcCardEmulation interface to allow apps to interface
  with card emulation system.
- New BIND_NFC_SERVICE permission to prevent malicious apps
  from binding to card emulation services.
- ApduServiceInfo is now in the framework.
- Added constants to Settings.Secure for storing defaults.
- Modified XML grammar a bit.

Change-Id: I56b3fa6b42eb5dc132c91c1386ab1e6bac779059
2013-08-02 17:22:53 -07:00
Alan Viverette
43a1e3d319 Move caption style to its own class, add presets
BUG: 9926077
Change-Id: I14e809c5a95103e57d30f4273399e9914af52b56
2013-08-02 16:45:03 -07:00
Elliott Hughes
cb64d43062 If frameworks wants ASCII casing, it should explicity ask for it.
http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Iaab02e718a7be7bda22e626dca05d79bfd2a8fc4
2013-08-02 15:12:32 -07:00
Jeff Sharkey
aaabfe9587 Merge "Reference docs by ROOT_ID and DOC_ID; recents." 2013-08-02 18:10:09 +00:00
Jeff Sharkey
92d7e697a8 Reference docs by ROOT_ID and DOC_ID; recents.
The same document may be present with different sematics under
multiple storage roots, so always reference using both ROOT_ID and
DOC_ID.  This enables backends to revoke permissions for an entire
root, such as when an account is removed.

Start building provider to remember recently accessed documents.

Change-Id: I75befa2e61393dec12fcc7fd27f631fcddae46fa
2013-08-02 11:05:11 -07:00
Naveen Kalla
b4d485c184 Set subscription_mode in the database to a default value
If ro.telephony.default_cdma_sub is set, use that to set the
default CDMA subscription source in the database. If that is not set
use the default preferred value defined in the source code.

Change-Id: I11fff596a5fe721c64f192c889672326517dc43d
2013-08-01 18:03:42 -07:00
Satoshi Kataoka
2aa2bc531b Update the comment of Settings.ACTION_USER_DICTIONARY_SETTINGS
to make an implementation of a corresponding activity mandatory.

Change-Id: Ia6bae2ddf0697779e5133464803b0c0e04c2d4c1
2013-08-01 11:44:13 +09:00
Jeff Sharkey
a1510c9849 Merge "Define storage roots, external GUIDs, creation." 2013-07-31 06:00:35 +00:00
Jeff Sharkey
20d96d8aff Define storage roots, external GUIDs, creation.
Allow storage backends to publish multiple roots into the UI, which
are defined by a directory GUID, type, and label details.  Update
external provider to surface a primary external storage root, and
switch to burning file path into the returned GUIDs so they remain
durable.

Added insert, update, and delete support to external provider. Adds
file extensions to display names when needed to match MIME type.

Add flags for searching and deletion, and extras for Cursor
pagination. Add directory creation dialog to UI. Opening a document
always gives write access.

Change-Id: I9bea1aa0dcde909a5ab86aefeece7451ab920cf1
2013-07-30 22:55:23 -07:00
Yorke Lee
6acfa5d567 Add URI and fields for new pinned position API in ContactsContract.
Change-Id: I947e49212750e0042a806d8f16817dc65597f45c
2013-07-30 09:52:36 -07:00
Zhihai Xu
876d100f02 Merge "Add debug menu to enable btsnoop" 2013-07-26 18:33:43 +00:00
Alan Viverette
87c79a18fe Merge "Add secure settings for captions" 2013-07-24 18:16:16 +00:00
Alan Viverette
ef79380d2f Add secure settings for captions
BUG: 9926077
Change-Id: I202aef88943e1f884e5bd4c112f081b8b4b76ada
2013-07-23 14:15:28 -07:00
Christopher Tate
9e4b6f5a69 Make more calendar alarms exact
Change-Id: I5ef72268b0605ba5a635b70d2b521533d3bd3ef0
2013-07-18 17:41:32 -07:00
William Luh
623a42824c Add Exploit Detection User Consent to Settings.
Change-Id: I7f6bcaac4730c002a3531ed5f5926e56f86f8ee3
2013-06-26 16:28:15 -07:00
Svetoslav Ganov
4b9a4d1687 Print - platform APIs
Related changes:
    Skia (inlcude PDF APIs): https://googleplex-android-review.googlesource.com/#/c/305814/
    Canvas to PDF: https://googleplex-android-review.googlesource.com/#/c/319367/
    Settings (initial version): https://googleplex-android-review.googlesource.com/#/c/306077/
    Build: https://googleplex-android-review.googlesource.com/#/c/292437/
    Sample print services: https://googleplex-android-review.googlesource.com/#/c/281785/

Change-Id: I104d12efd12577f05c7b9b2a5e5e49125c0f09da
2013-06-21 18:43:17 -07:00
John Spurlock
5c4541246c Introduce SystemUI-managed alternative system bars.
If a service component is defined in a new secure setting,
SystemUI will attempt to use that service as the status bar
provider.

Falls back to the existing in-process implementation configured
in the product config if the setting is missing or invalid.

Nothing changes yet from a permission point of view.  Alternative
system bar implementations still require the status bar permission.

Also nothing changes from an api point of view.  Alternative
system bar implementations use the existing IStatusBar interface.

This simply enables testing alternative system bar implementations
installed from other trusted, platform-signed packages.

Known caveat: the setting is stored per user, multi-user changes
will be handled in a future CL.

Change-Id: I0413df185f7e75f77ad2ae1bc3689306d5e6e0fb
2013-06-21 17:31:25 -04:00
Jay Shrauner
2b2450702b Merge "Add number presentation column to call log" 2013-06-19 21:14:16 +00:00
Jay Shrauner
d88eb719ac Add number presentation column to call log
Change call log so instead of overloading the phone number with special
strings "-1", "-2", etc to denote private phone numbers, payphones, etc,
put presentation type in its own column and expose in the public API these
type values.

Bug:6948882
Change-Id: I230c26aa0428d605a0e83169a635b5bbf1aa4e3f
2013-06-18 10:20:04 -07:00
Chiao Cheng
31b730a009 Remove un-used snippetize method from ContactsContract.
Bug: 7896653
Change-Id: I5db6f9a58ce747605f66c681036795cdd3ed5d01
2013-06-17 18:31:34 -07:00
Zhihai Xu
af5971ef27 Add debug menu to enable btsnoop
bug: 8059358
Change-Id: I2d5f13e68defefb92e0b11b749fe77ad67215f36
2013-06-17 11:46:52 -07:00
Daniel Sandler
2c52b08c33 am 491c6075: am 054255c6: Merge "Unhide action to launch Daydream settings." into jb-mr2-dev
* commit '491c607582248590702ce07c0493ff0c39224689':
  Unhide action to launch Daydream settings.
2013-05-30 15:16:14 -07:00
Daniel Sandler
f3c1c7ea0a Unhide action to launch Daydream settings.
Bug: 9088316
Change-Id: I70b87e1f320cef4f53b2610a94be8e552dd3a757
2013-05-29 22:28:22 -04:00
Adam Koch
116d791e25 am 289b14f5: am d51fc576: am 3e4ea33f: am 4f6d0cbd: am 7258e6bc: am 1fc7e59b: am 14233ee5: Merge "Doc change: fix minor typo in ContactsContract.RawContacts." into jb-mr1.1-docs
* commit '289b14f56c122a75ecbea3d8b878b6f1d424cacc':
  Doc change: fix minor typo in ContactsContract.RawContacts.
2013-05-22 06:56:36 -07:00