Commit Graph

31595 Commits

Author SHA1 Message Date
John Reck
733329a274 Merge "Fix NPE when pasting non-text from Clipboard" 2013-03-12 20:24:14 +00:00
Kenny Root
7ad514094c Merge "Switch TLS Channel ID API from ECPrivateKey to PrivateKey." 2013-03-12 20:05:09 +00:00
Dianne Hackborn
c895be7bc6 Implement limited shared libraries in apks.
You can now declare shared libraries in apks that are
on the system image.  This is like the existing mechanism
of using raw jar files as shared libraries, but since they
are contained in an apk the library can actually be updated
from the Play Store.  And this even (mostly) works.

There are some deliberate limitations on this feature.  A
new shared library *must* be declared by an apk on the system
image.  Installing an update to a system image apk does not
allow you to add new shared libraries; they must be defined
by everything on the base system image.  This allows us to
get rid of a lot of ugly edge cases (shared libraries that were
there disappearing after an update is uninstalled for example)
and give some brakes on apps that happen to be pre-installed
on devices from being able to throw in new shared libraries
after the fact.

In working on this, I ran into a recently introduced bug where
uninstalling updated to system apps would fail.  This was done
to allow for the new restricted users that don't have all
system apps, but conflicts with the existing semantics for
uninstalling system apps.  To fix this I added a new uninstall
flag that lets you switch on the new mode if desired.

Also to implement the desired logic for limitations on declaring
new shared libraries in app updates, I needed to slightly tweak
the initial boot to keep the Package object for hidden system
packages associated with their PackageSetting, so we can look at
it to determine which shared libraries are allowed.  I think
this is probably more right than it was before -- we already
need to parse the package anyway, so we have it, and when you
install an update to a system app we are in this same state
until you reboot anyway.

And having this fixed also allowed me to fix another bug where
we wouldn't grant a new permission to an updated app if its
system image version is updated to request the permission but
its version is still older than whatever is currently installed
as an update.  So that's good.

Also add new sample code showing the implementation of an apk
shared library and a client app using it.

Change-Id: I8ccca8f3c3bffd036c5968e22bd7f8a73e69be22
2013-03-12 12:51:38 -07:00
Bjorn Bringert
964e7d2549 Hide VOICE_ASSIST intent DO NOT MERGE
Bug: 8289964
Change-Id: I49874f379647ff4e85402a298b4181923212a0aa
2013-03-12 19:35:57 +00:00
Yorke Lee
4f401ebf14 Add new apis to CP2
Add Data.Contactables.CONTENT_URI and CONTENT_FILTER_URI
Add VISIBLE_CONTACTS_ONLY boolean parameters to Data

Bug: 8123918

Change-Id: I8cef7a66d4ab0b910cba7feb158ec007f318f5a8
2013-03-12 11:05:03 -07:00
Michael Wright
e8cc96b8f8 Remove unused interface IInputConnectionCallback
Bug: 8276952
Change-Id: I3755df557388bee55f0cc4780adc300672cbe9a1
2013-03-12 11:01:14 -07:00
Andre Eisenbach
3f36660a60 Fixed 32 bit characteristic value assignment
Also fixed link in comment.

Change-Id: I27223b8aadae2fc7c8037abc6396760e23f6f161
2013-03-12 10:53:56 -07:00
Jaikumar Ganesh
bc03a348d7 Add new sensor types.
1. Add uncalibrated gyros and magnetic field sensor.
2. Change max number of events from 3 to 16.
3. Add new APIs for trigger sensors.

Change-Id: I1957d723de2b65c31dadaee7386fd8d51ea2f7e5
2013-03-12 10:50:41 -07:00
Alex Klyubin
ac5eb03a7c Switch TLS Channel ID API from ECPrivateKey to PrivateKey.
This is to accept both the "transparent" and "opaque" ECC private
keys. "Transparent" keys provide structured access to their key
material -- these are instances of ECPrivateKey. "Opaque" private
keys are not required to provide structured (or even any) access to
their key material -- these are instances of PrivateKey.

Change-Id: Ib22e18b45b638b429f994ed965416c753226c4ee
2013-03-12 10:33:13 -07:00
Nils Holmström
df337f30e9 Fix NPE when pasting non-text from Clipboard
When copying a link from a bookmark and then pasting it into
a textfield a NullPointerException will occur.
A ClipData.Item is not guaranteed to always contain a text string
and therefore getText() can be set to null.

Using method coerceToText() instead of getText() makes sure that
a text string is always returned.

Change-Id: I81343c0371835a3a7a52045dcd1760e69e59a967
2013-03-12 20:49:14 +09:00
Michael Wright
e7a9ae8ba0 Add touch navigation input source
Bug: 8276741
Change-Id: I674b9804bf9ae76d694ae7073b54a7d43474a43c
2013-03-11 17:58:22 -07:00
Michael Wright
74e4156e5c Add InputDevice#isFromSource convenience method
Change-Id: If2d2e37bc3fff5a862ea3652c7ef9778018e7ecc
2013-03-11 16:02:51 -07:00
Jim Miller
e70748e78b Merge "Remove unnecessary userid check" into jb-mr2-dev 2013-03-11 22:58:33 +00:00
Elliott Hughes
7b517a5c79 am a45bafc2: am c9e0cd2a: Merge "Fix DateFormat k and h, and implement K and H for the first time."
* commit 'a45bafc2f025d2ef513f3e3dcac162ba6a95d575':
  Fix DateFormat k and h, and implement K and H for the first time.
2013-03-11 15:35:36 -07:00
Elliott Hughes
a45bafc2f0 am c9e0cd2a: Merge "Fix DateFormat k and h, and implement K and H for the first time."
* commit 'c9e0cd2ac7b1df3e60f0ca8bab6a7240bade07d9':
  Fix DateFormat k and h, and implement K and H for the first time.
2013-03-11 15:27:52 -07:00
Elliott Hughes
7a89f62877 Fix DateFormat k and h, and implement K and H for the first time.
Bug: 8359981
Change-Id: I52ef937a77e9e28f2719c2ee6f59e4b74514f0b2
2013-03-11 14:49:44 -07:00
Elliott Hughes
a31d507e3f am 7c1e8dbd: am 21d3f294: Merge "use Calendar in DateUtils format method"
* commit '7c1e8dbd3159c88df27d24aa2699358ee139d49b':
  use Calendar in DateUtils format method
2013-03-11 14:21:17 -07:00
Elliott Hughes
7c1e8dbd31 am 21d3f294: Merge "use Calendar in DateUtils format method"
* commit '21d3f294831f7a15c5e746b3dae3e6ec0de883a8':
  use Calendar in DateUtils format method
2013-03-11 14:19:14 -07:00
Jim Miller
f083324b42 Remove unnecessary userid check
This removes code used to verify the userid's were consistent, which
is no longer needed.

Fixes bug 8167800

Change-Id: I592e4bc1158fb7775bd31ae8a26c1782b60f0fa0
2013-03-11 13:57:12 -07:00
Jeff Sharkey
f2afddb57d Merge "Handle corrupt RegisteredServicesCache XML." into jb-mr2-dev 2013-03-11 20:25:48 +00:00
Jeff Sharkey
293ad6c674 Handle corrupt RegisteredServicesCache XML.
Avoid getting stuck in infinite loop.

Bug: 8360183
Change-Id: I81728dcfbc35b456c9166cf5c5175d0a376df56f
2013-03-11 13:22:29 -07:00
Lorenzo Colitti
574b00a362 Unbreak documentation build.
Change-Id: I1e904b111e23d221dcb5f917201d4c27f0c1c05b
2013-03-12 04:30:47 +09:00
Sungmin Choi
9a2ada418b use Calendar in DateUtils format method
The DatePickerDialog is using DateUtils to format the dialog's title
and the DateUtils class does not work with dates outside to the
specified range.
For example, if user selects 2038-03-07, DatePickerDialog shows
1902-01-30 on Title.
The reason for the DateUtils class not being able to format dates
outside the range of 1902 and 2036 is because internally it is using
the Time class which does not support such dates.
To fix it, use Calendar class in DataUilts format method.

Steps to reproduce:
1. Settings -> Date & time
2. uncheck Automatic date & time
3. Set Date
4. choose any date before 1902 or after 2037
5. update wrong date on Title

Bug: https://code.google.com/p/android/issues/detail?id=13050
Change-Id: I003266765751b5c340426af84daef271f39f771e
2013-03-11 11:24:02 -07:00
Lorenzo Colitti
de96589113 Merge "Always specify an interface for host routes." into jb-mr2-dev 2013-03-11 17:22:25 +00:00
Lorenzo Colitti
1dc2ff66af Merge "RouteInfo changes." into jb-mr2-dev 2013-03-11 17:19:00 +00:00
Wink Saville
614edf5833 Merge "Add additional message methods." into jb-mr2-dev 2013-03-11 16:46:05 +00:00
Wink Saville
4753cd2014 Add additional message methods.
Change-Id: Iac96815f7b72bcb3b9c658a24c24e0733e0ea1b0
2013-03-11 09:32:48 -07:00
Selim Gurun
2bf500ed21 Merge "Add a delimiter between scheme and host" into jb-mr2-dev 2013-03-11 16:25:38 +00:00
Lorenzo Colitti
e167135976 Always specify an interface for host routes.
Change-Id: I05b4d87e7d7e8237c6f4a70f1fedae00f416f581
2013-03-08 16:41:25 -08:00
Lorenzo Colitti
45b9a5bb93 RouteInfo changes.
- Add the interface name.
- Fix a bug where a default route would match an address of
  another protocol (e.g., 0.0.0.0/0 would match 2001::).
- Tweak the hashCode method.
- Write a unit test.

Change-Id: Ida8266de440a9b1d9eaa132f182b9f1ce8978c44
2013-03-08 16:41:25 -08:00
Elliott Hughes
d6875e3334 am 2cb314eb: am e0cd3c19: Merge "Improve DateFormat.format."
* commit '2cb314ebc7bb6495a94f577dfb57f9e6c56033ef':
  Improve DateFormat.format.
2013-03-08 16:21:21 -08:00
Elliott Hughes
2cb314ebc7 am e0cd3c19: Merge "Improve DateFormat.format."
* commit 'e0cd3c19546a00db3db706c6a993fb0e3bd00b3a':
  Improve DateFormat.format.
2013-03-08 16:18:42 -08:00
Jim Miller
6e5d6492db Merge "Fix long-standing bug with LockPatternView drawing artifacts" into jb-mr2-dev 2013-03-09 00:09:18 +00:00
Amith Yamasani
515b51f83f Merge "Make account cloning API public" into jb-mr2-dev 2013-03-08 23:35:31 +00:00
Amith Yamasani
c8a1ff4036 Make account cloning API public
Change-Id: If48d93dab49afcaaa301a5a3aa514f3d4dd3bab8
2013-03-08 15:29:55 -08:00
Christopher Tate
28d4f210f1 Merge "DO NOT MERGE - Full backup/restore now handles OBBs sensibly" into jb-mr2-dev 2013-03-08 23:26:36 +00:00
Christopher Tate
294b512eca DO NOT MERGE - Full backup/restore now handles OBBs sensibly
OBB backup/ restore is no longer handled within the target app
process.  This is done to avoid having to require that OBB-using
apps have full read/write permission for external storage.

The new OBB backup service is a new component running in the
same app as the already-existing shared storage backup agent.
The backup infrastructure delegates backup/restore of apps'
OBB contents to this component (because the system process
may not itself read/write external storage).

From the command line, OBB backup is enabled by using new
-obb / -noobb flags with adb backup.  The default is noobb.

Finally, a couple of nit fixes:

- buffer-size mismatch between the writer and reader of chunked
  file data has been corrected; now the reading side won't be
  issuing an extra pipe read per chunk.

- bu now explicitly closes the transport socket fd after
  adopting it. This was benign but triggered a logged
  warning about leaked fds.

(Cherrypicked)

Change-Id: I471f6348abcccb7bf1e1710b7beda9f23de53e14
2013-03-08 15:08:10 -08:00
Elliott Hughes
8326b9a429 Improve DateFormat.format.
Add support for the 'c' format character, required in many non-English locales.
Reimplement 'c' and 'E', and 'L' and 'M', so they correctly interpret 5-count
pattern characters.

Replace the old incorrect class documentation with a pointer to the
well-maintained libcore equivalent and the Unicode UTS to which these two
implementations are supposed to conform.

Deprecate the useless constants for pattern characters. No one sane is going
to write MONTH + MONTH + MONTH + MONTH instead of "MMMM".

Correct the documentation for getLongDateFormat and getMediumDateFormat.

Also fix DateUtils.getStandaloneMonthString for LENGTH_SHORTEST.

Tests are in https://android-review.googlesource.com/53291.

Change-Id: I4dda8b18070f05ccdc11c1f0a9381a9d233db4e8
2013-03-08 15:06:14 -08:00
Elliott Hughes
5043dc2063 am bf8a663c: am 3f7a4990: Merge "Improve the Resource.getQuantityString/getQuantityText documentation."
* commit 'bf8a663c53454f8b8cd7e07344316981022efa10':
  Improve the Resource.getQuantityString/getQuantityText documentation.
2013-03-08 14:44:40 -08:00
Selim Gurun
2905e18b03 Add a delimiter between scheme and host
Bug: 6923539
Change-Id: I49aac145e8e80a5af7475cfe93ef4a353d2d3fe6
2013-03-08 14:29:56 -08:00
Elliott Hughes
bf8a663c53 am 3f7a4990: Merge "Improve the Resource.getQuantityString/getQuantityText documentation."
* commit '3f7a49904cef7ea14808590b63b115a4381537a1':
  Improve the Resource.getQuantityString/getQuantityText documentation.
2013-03-08 13:59:59 -08:00
Svetoslav
e10837f444 [DO NOT MERGE] DatePickerDialog title initially incorrect if calendar view shown.
If the calendar view of the date picker dialog is shown we
do not use a formatted date as the dialog title since the
calendar view shows it, instead we show a static "Set date"
title. However, the initial state of the date picker dialog
on a tablet has a formatted date since the date picker widget
does not do a correct check whether the calendar view is shown
which returns a false negative resulting in a title with a
formatted date being added since the dialog thinks it has no
calendar view.

Change-Id: Ibf4c433b34ab1ee1bc1dc386689664a32283fb6a
2013-03-08 13:31:53 -08:00
Selim Gurun
eab5a3491b Merge "Revert "Add a delimiter between scheme and host"" into jb-mr2-dev 2013-03-08 19:50:44 +00:00
Elliott Hughes
b3a5c23b3a am ac071e36: am 0c25ecfd: Merge "Use getRelativeDayString in getRelativeTimeSpanString."
* commit 'ac071e36aecd47a453641074e81c5ebcf888dd82':
  Use getRelativeDayString in getRelativeTimeSpanString.
2013-03-08 11:49:24 -08:00
Selim Gurun
e96d6e9ca0 Revert "Add a delimiter between scheme and host"
This reverts commit e990e359f9

Change-Id: I2007f04295a5d3b24e281c5823b144ab2782adb7
2013-03-08 19:49:18 +00:00
Elliott Hughes
ac071e36ae am 0c25ecfd: Merge "Use getRelativeDayString in getRelativeTimeSpanString."
* commit '0c25ecfd43235340c9b6bf5b640232138a217836':
  Use getRelativeDayString in getRelativeTimeSpanString.
2013-03-08 11:47:39 -08:00
Elliott Hughes
95d5ab30f2 Improve the Resource.getQuantityString/getQuantityText documentation.
Natural languages differ so much and in such odd ways that you can't
use getQuantityString as an "if" statement. It's really just for grammaticality.
This is explained well in
http://developer.android.com/guide/topics/resources/string-resource.html#Plurals
but we need to make more of an effort to motivate people to read that, and to
at least get the most important point across if they don't read it.

Change-Id: I549b9f3563462c45f2dea34c558185e0714127cd
2013-03-08 11:26:57 -08:00
Selim Gurun
e990e359f9 Add a delimiter between scheme and host
Bug: 6923539
Change-Id: Id5bbf44c90f9d0d5a468f3be3aa3e009a2ad3687
2013-03-08 11:14:12 -08:00
Jim Miller
0caa377f46 Fix long-standing bug with LockPatternView drawing artifacts
Moving very slowly in LockPatternView would often draw discontinuous
lines and have missing wedges in the pattern rings.

This fixes the problem by correctly accounting for the invalidate
region. The invalidate region is constrained to the last registered
pattern cell and the current point.  When a new pattern cell is added,
the bounding region expands to refresh it once.

Fixes bug 8315830

Change-Id: I72342535ae292fcadb02d96b89665ba8431886b2
2013-03-07 18:49:32 -08:00
Adam Powell
15061d747d Merge "Make View#computeOpaqueFlags recognize OUTSIDE_OVERLAY scrollbars" into jb-mr2-dev 2013-03-08 01:05:51 +00:00