1327 Commits

Author SHA1 Message Date
Jean-Baptiste Queru
0748a56987 Merge "aapt: Remove terminal pointer incrementaion" 2012-06-02 09:21:37 -07:00
Ying Wang
8c8297f295 Fix "Too many open files" error for aapt built with Mac OS X SDK 10.6.
With SDK 10.6 without _DARWIN_UNLIMITED_STREAMS aapt sometimes fails
right away with the error "Too many open files" when calling fopen().

Change-Id: Ifa7bd8a9530d706aa47f98be8186f1aefe943d76
2012-05-31 15:06:22 -07:00
Dianne Hackborn
ce783749b1 am f3b4c93e: am ae5811c7: Merge "Fix (mostly) issue #5109947: Race condition between retrieving a..." into jb-dev
* commit 'f3b4c93e0da9af2db9e16864faa734cf70fecfe3':
  Fix (mostly) issue #5109947: Race condition between retrieving a...
2012-05-29 15:57:52 -07:00
Dianne Hackborn
f3b4c93e0d am ae5811c7: Merge "Fix (mostly) issue #5109947: Race condition between retrieving a..." into jb-dev
* commit 'ae5811c71405878b09eace395ec2b28e54eeb427':
  Fix (mostly) issue #5109947: Race condition between retrieving a...
2012-05-29 15:53:38 -07:00
Dianne Hackborn
6ae8d18218 Fix (mostly) issue #5109947: Race condition between retrieving a...
...content provider and updating its oom adj

This introduces the concept of an "unstable" reference on a content
provider.  When holding such a reference (and no normal stable ref),
the content provider dying will not cause the client process to be
killed.

This is used in ContentResolver.query(), .openAssetFileDescriptor(),
and .openTypedAssetFileDescriptor() to first access the provider
with an unstable reference, and if at the point of calling into the
provider we find it is dead then acquiring a new stable reference
and doing the operation again.  Thus if the provider process dies
at any point until we get the result back, our own process will not
be killed and we can safely retry the operation.

Arguably there is still the potential for a race -- if somehow the
provider is killed way late by the OOM killer after the query or
open has returned -- but this should now be *extremely* unlikely.
We also continue to have the issue with the other calls, but these
are much less critical, and the same model can't be used there (we
wouldn't want to execute two insert operations for example).

The implementation of this required some significant changes to the
underlying plumbing of content providers, now keeping track of the
two different reference counts, and managing them appropriately.  To
facilitate this, the activity manager now has a formal connection
object for a client reference on a content provider, which hands to
the application when opening the provider.

These changes have allowed a lot of the code to be cleaned up and
subtle issues closed.  For example, when a process is crashing, we
now have a much better idea of the state of content provider clients
(olding a stable ref, unstable ref, or waiting for it to launch), so
that we can correctly handle each of these.

The client side code is also a fair amount cleaner, though in the
future there is more than should be done.  In particular, the two
ProviderClientRecord and ProviderRefCount classes should be combined
into one, part of which is exposed to the ContentResolver internal
API as a reference on a content provider with methods for updating
reference counts and such.  Some day we'll do that.

Change-Id: I87b10d1b67573ab899e09ca428f1b556fd669c8c
2012-05-29 13:33:09 -07:00
Ying Wang
98a0607a31 Merge "Fix length of pattern." DO NOT MERGE.
After skipping * with "token++", the length should decrease by 1 as
well.

(merged from 996b073e813ba1a22a13282ccdebb664f14ba898)

Change-Id: Ie6232ef603bb31e25e03b926e6c1bb92ac34902d
2012-05-24 11:07:14 -07:00
Manuel Roman
bb5a8fd908 am 9d98a089: Check result handler is not null
* commit '9d98a089756b692eefeae7f92cca15e121196e0c':
  Check result handler is not null
2012-05-23 16:00:37 -07:00
Manuel Roman
9d98a08975 Check result handler is not null
If caller passes a null result handler to the proxy methods, we need
to check it when getting the result. Otherwise we try to invoke a method
on a null object

Change-Id: Ic2f456c36cb542b782b6a6d0d4d607ccf0987496
2012-05-23 14:25:31 -07:00
Ying Wang
b50a64878e am ac9f5057: am 996b073e: Fix length of pattern.
* commit 'ac9f50573dad2050d261850f1accbcea383cc6f0':
  Fix length of pattern.
2012-05-22 14:20:14 -07:00
Ying Wang
ac9f50573d am 996b073e: Fix length of pattern.
* commit '996b073e813ba1a22a13282ccdebb664f14ba898':
  Fix length of pattern.
2012-05-22 11:43:14 -07:00
Ying Wang
996b073e81 Fix length of pattern.
After skipping * with "token++", the length should decrease by 1 as
well.

Change-Id: I132eb7d12bb756f2f713c607e92741ca834aef81
2012-05-22 11:35:22 -07:00
Dianne Hackborn
b1b0058346 am 72669b5f: am 13a0271c: Merge "Add aapt support for generating proguard rules for onClick methods." into jb-dev
* commit '72669b5f4663937b09d33f9d951f0b86a03fa98b':
  Add aapt support for generating proguard rules for onClick methods.
2012-05-21 14:29:14 -07:00
Raphael Moll
b80866a44e am f67f834a: am 8748399f: am 61394501: Merge "Support a new ANDROID_AAPT_IGNORE env var."
* commit 'f67f834a9cb7ee9b743e79af85cb42bd45b5aa23':
  Support a new ANDROID_AAPT_IGNORE env var.
2012-05-21 14:27:08 -07:00
Elliott Hughes
3a00a28ddf am a4cae284: am 4b51e293: Merge "Fix the preloaded-classes tool for JellyBean." into jb-dev
* commit 'a4cae2847eb086742ff9d3b24a469242bd9ddae1':
  Fix the preloaded-classes tool for JellyBean.
2012-05-21 14:12:16 -07:00
Raphael Moll
9c06ac09c3 Merge "Merge "AAPT: support a new --ignore-assets flag."" into jb-dev 2012-05-21 13:09:29 -07:00
Raphael Moll
6c255a3a37 Merge "AAPT: support a new --ignore-assets flag."
AAPT has a fixed built-in list of files and directories
to ignore when parsing resource files. Over the years we
always had developers requiring specific patterns.

Added a command-line option for it:
  aapt di --ignore-assets "foo*:*.blah"

If the env var ANDROID_AAPT_IGNORE is set, it is parsed
to find which file/directory patterns to ignore.

Otherwise a default is used that matches the current behavior.

SDK Bug: 5343 24067

(cherry-pick from AOSP 90897ed87bce639bf6bb2ccf15fbabb59b131bab)

Change-Id: Ia4caa2a8188c8c1df143f884e459b8182645995f
2012-05-18 20:34:44 -07:00
Dianne Hackborn
72669b5f46 am 13a0271c: Merge "Add aapt support for generating proguard rules for onClick methods." into jb-dev
* commit '13a0271cb81d497edbf93f3d6ecf4b9b8da4ee69':
  Add aapt support for generating proguard rules for onClick methods.
2012-05-18 19:41:10 -07:00
Dianne Hackborn
9275197d35 Add aapt support for generating proguard rules for onClick methods.
Also fix Activity menu inflater when using the dark on light
theme wrapper to still be able to find onClick listeners.

Change-Id: Ie206db26d1df96041bc477804e476b02ad99dc9d
2012-05-18 19:23:19 -07:00
Raphael Moll
f67f834a9c am 8748399f: am 61394501: Merge "Support a new ANDROID_AAPT_IGNORE env var."
* commit '8748399f6f999d21eef9226baadb20f71dfb61ea':
  Support a new ANDROID_AAPT_IGNORE env var.
2012-05-18 16:33:14 -07:00
Jean-Baptiste Queru
38e34874a8 am 2a9b85d7: am c0f17383: Merge "Move kxml2 to prebuilts/misc"
* commit '2a9b85d7ccdd3b8e6be90454cdcb4be3b032cd64':
  Move kxml2 to prebuilts/misc
2012-05-18 16:33:10 -07:00
Elliott Hughes
a4cae2847e am 4b51e293: Merge "Fix the preloaded-classes tool for JellyBean." into jb-dev
* commit '4b51e293d86d60dc651c409ae0e25078a2170740':
  Fix the preloaded-classes tool for JellyBean.
2012-05-18 15:59:41 -07:00
Raphael Moll
613945011e Merge "Support a new ANDROID_AAPT_IGNORE env var." 2012-05-18 13:00:31 -07:00
Jean-Baptiste Queru
c0f1738357 Merge "Move kxml2 to prebuilts/misc" 2012-05-18 09:51:04 -07:00
Elliott Hughes
98e00add55 Fix the preloaded-classes tool for JellyBean.
Bug: 5213043
Change-Id: I8178ca04da0bd72a90244983be5e8ecfbc1b0573
2012-05-17 17:03:51 -07:00
Dianne Hackborn
e4b1c08abf am 095c2d31: am 4286d6d1: Fix build.
* commit '095c2d315d3bdf4cdb61439d427413c0bd7796e1':
  Fix build.
2012-05-14 19:37:24 -07:00
Dianne Hackborn
6917b2a10d am 2da87ec3: am 2a7a6ca0: Merge "Implement new window cropping." into jb-dev
* commit '2da87ec32e72c2c25998e2444155c00074cfbd40':
  Implement new window cropping.
2012-05-14 19:37:21 -07:00
Dianne Hackborn
095c2d315d am 4286d6d1: Fix build.
* commit '4286d6d115385391b75db8e6c4e397008ef9b3db':
  Fix build.
2012-05-14 19:32:43 -07:00
Dianne Hackborn
2da87ec32e am 2a7a6ca0: Merge "Implement new window cropping." into jb-dev
* commit '2a7a6ca00ab176105b5bbfa6b17bb0dcd058d517':
  Implement new window cropping.
2012-05-14 19:32:39 -07:00
Dianne Hackborn
4286d6d115 Fix build.
Change-Id: I53263d509559c70100cd78ad49f225f0dafd8891
2012-05-13 16:03:39 -07:00
Dianne Hackborn
85afd1b6f8 Implement new window cropping.
The window manager now performs the crop internally, evaluating
it every animation from, to be able to update it along with
the surface position.

Change-Id: I960a2161b9defb6fba4840fa35aee4e411c39b32
2012-05-13 13:31:06 -07:00
Michael Jurka
e5c511a1cc am bf1b5fa9: am 421dceb0: Merge "Making transition out of recents look better" into jb-dev
* commit 'bf1b5fa944158044a595706924b935b5577ec0f0':
  Making transition out of recents look better
2012-05-10 11:57:33 -07:00
Dianne Hackborn
58d4f2e36f am e2e03913: am dd79ae6b: Merge "Add infrastructure for accessing "unstable" content providers." into jb-dev
* commit 'e2e0391389fce1a9fd9d5c5442ba1901b6d96211':
  Add infrastructure for accessing "unstable" content providers.
2012-05-10 11:38:52 -07:00
Michael Jurka
bf1b5fa944 am 421dceb0: Merge "Making transition out of recents look better" into jb-dev
* commit '421dceb0a4fd8f20349a0de277f82b56e71cb90b':
  Making transition out of recents look better
2012-05-10 10:45:30 -07:00
Michael Jurka
421dceb0a4 Merge "Making transition out of recents look better" into jb-dev 2012-05-10 10:35:19 -07:00
Dianne Hackborn
e2e0391389 am dd79ae6b: Merge "Add infrastructure for accessing "unstable" content providers." into jb-dev
* commit 'dd79ae6b7201b68dbe2a223d2f371ea1a473f6c4':
  Add infrastructure for accessing "unstable" content providers.
2012-05-10 09:26:03 -07:00
Raphael Moll
90897ed87b Support a new ANDROID_AAPT_IGNORE env var.
AAPT has a fixed built-in list of files and directories
to ignore when parsing resource files. Over the years we
always had developers requiring specific patterns.
If the env var ANDROID_AAPT_IGNORE is set, it is parsed
to find which file/directory patterns to ignore.
Otherwise a default is used that matches the current behavior.

Added a command-line option for it:
  aapt di --ignore-assets "foo*:*.blah"

SDK Bug: 5343 24067

Change-Id: Ia4caa2a8188c8c1df143f884e459b8182645995f
2012-05-09 21:16:26 -07:00
Michael Jurka
21385cd83d Making transition out of recents look better
- Fading out recents first, then scaling up app
thumbnail
- Fade Recents out over 130ms
- Delay the window animation for 200ms first,
then animate for 200ms (previously we didn't delay
and then animated for 300ms)

Bug: 6390075

Change-Id: Ia8c753bf7ee03d2acef6eb2772b28d88fe10a682
2012-05-09 20:25:28 -07:00
Dianne Hackborn
652b6d1e59 Add infrastructure for accessing "unstable" content providers.
We have an API and some stuff that purports to this, but no real
implementation yet.

Change-Id: I93555440014a50fdf79fa3f65318d90fb82265b4
2012-05-09 18:18:40 -07:00
Xavier Ducrohet
3060030659 am 50e657e6: am 024d3b23: Merge "Add missing native method to Canvas_Delegate." into jb-dev
* commit '50e657e66ce6663fdff929cd365a3daf87cef9ae':
  Add missing native method to Canvas_Delegate.
2012-05-09 10:10:48 -07:00
Jeff Brown
8fd851709f am a394efa3: am 947f1c8d: Merge "Move CancellationSignal to android.os package." into jb-dev
* commit 'a394efa33531ce36c432872ec56ad0c93a9999e7':
  Move CancellationSignal to android.os package.
2012-05-09 10:09:20 -07:00
Elliott Hughes
f3f107140c am fbb7b072: am 6d6d186c: Merge "The \'localize\' tool is dead." into jb-dev
* commit 'fbb7b072d87f15fce2b694054a27a8ec5db3daaf':
  The 'localize' tool is dead.
2012-05-09 10:09:17 -07:00
Jeff Brown
1c08c1b0f1 am e8e94a07: am 41a4704b: Merge "Small tweaks to orientation." into jb-dev
* commit 'e8e94a0743eae912658865645db75619533449b3':
  Small tweaks to orientation.
2012-05-09 10:08:26 -07:00
Xavier Ducrohet
50e657e66c am 024d3b23: Merge "Add missing native method to Canvas_Delegate." into jb-dev
* commit '024d3b2374497c86b55298a8dc4f2fbe258ce7ea':
  Add missing native method to Canvas_Delegate.
2012-05-09 01:49:29 -07:00
Jeff Brown
a394efa335 am 947f1c8d: Merge "Move CancellationSignal to android.os package." into jb-dev
* commit '947f1c8db00bd3805838ff49a5f4d220df507b47':
  Move CancellationSignal to android.os package.
2012-05-09 01:47:20 -07:00
Elliott Hughes
fbb7b072d8 am 6d6d186c: Merge "The \'localize\' tool is dead." into jb-dev
* commit '6d6d186cd1a5df5fff73c8a731a81a9da3fea13b':
  The 'localize' tool is dead.
2012-05-09 01:47:17 -07:00
Jeff Brown
e8e94a0743 am 41a4704b: Merge "Small tweaks to orientation." into jb-dev
* commit '41a4704b09f98723f4ddec895c9f2e651a5c0c8e':
  Small tweaks to orientation.
2012-05-09 01:45:49 -07:00
Xavier Ducrohet
f18c68b83f Add missing native method to Canvas_Delegate.
Change-Id: I86288c942004e5489eacc43ba5e112cf56f94487
2012-05-08 17:14:18 -07:00
Xavier Ducrohet
05b50149ab Fix classpath of eclipse projects for layoutlib.
This is due to the prebuilts reorg.

Change-Id: I6afa82d7ac64286aa89b4b1cfb4af59e4c7000ce
2012-05-08 16:18:32 -07:00
Jeff Brown
947f1c8db0 Merge "Move CancellationSignal to android.os package." into jb-dev 2012-05-08 10:51:12 -07:00
Elliott Hughes
6d6d186cd1 Merge "The 'localize' tool is dead." into jb-dev 2012-05-08 10:45:38 -07:00