Merge commit '66c70e13d9f39cf82df8542fe53f2049d3f2062e' into eclair-plus-aosp
* commit '66c70e13d9f39cf82df8542fe53f2049d3f2062e':
Make it an error to use a bare apostrophe in aapt, and adjust warnings/errors.
When trying to print an xmltree or xmlstrings from aapt, the error
message if the resource didn't exist erroneously printed a pointer
instead of a string.
Change-Id: I317bbbdc1200e0f10922e80a36e41a22b2d50d0d
In practice, no one ever writes an apostrophe in an aapt string with the
intent of using it to quote whitespace -- they always mean to include a
literal apostrophe in the string and then are surprised when they find
the apostrophe missing. Make this an error so that it is discovered
right away instead of waiting until late in QA or after the strings have
already been sent for translation. (And fix a recently-introduced string
that has exactly this problem.)
Silence the warning about an empty span in a string, since this seems to
annoy people instead of finding any real problems.
Make the error about having a translated string with no base string into
a warning, since this is a big pain when making changes to an application
that has already had some translations done, and the dead translations
should be removed by a later translation import anyway.
Aapt was adding/removing elements from a list an continuing to use a stale copy for future indexes.
This could cause incorrect subsequent processing. Add an en resource and modify an es, for example.
Adding the en would cause the base fileset's es version to be moved in the list. Using the old index
we'd then attempt to remove the old es version with the wrong index and then add the new es version
generating a "duplicate file" error.
bug: 2090015
This introduces a new mechanism to define features associated with
a platform, query the current device for the available features,
and enforce that apps requiring features that aren't available can't
be installed.
Also now allows uses-library to specify that a library is optional,
so the lack of such a library will not prevent the app from being
installed (but if it does exist it will be correctly linked into
the app).
Change-Id: I5b369b46cfa0b3d37c9e08fd14ef1098a978e67b
Add new manifest/aapt support for specifying device features an application
requires. The aapt badging now returns these (as well as uses-permission since
I need to look for those anyway); if an app doesn't explicitly request the
camera feature but does request the permission, then aapt will say that it has
requested both the basic camera feature as well as the autofocus feature.
Here's what you put in your manifest to say you need a camera but don't need
autofocus:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
Here's what will be seen from aapt:
uses-permission:'android.permission.CAMERA'
uses-feature:'android.hardware.camera'
uses-feature-not-required:'android.hardware.camera.autofocus'
Change-Id: I4dd19cee0486cc54771f5bf14fc9db0e892115d5
The StringPool indicates the length of a string with a 16-bit
integer. If the length of the string is greater than 0x7FFF,
it splits it into two 16-bit integers with the first one
having the high bit set.
The length calculation has a small bug that masks off the
19 bits instead of the first 15 bits as intended.
New rendering method in ILayoutBridge to specify whether the rendering
height should be the specified height or if it should be the height
required by the layout (specified height is always the minimum).
* changes:
Add aapt extensions to dump badging to print more info about activities, receivers and services Fix issue with checking end tags. Earlier some boolean variables were being set once a new tag is detected at the same level which causes some incorrect values to be overwritten. we should be doing this when we detect the end tag.
Fix issue with checking end tags. Earlier some boolean variables were being set once a new
tag is detected at the same level which causes some incorrect values to be overwritten.
we should be doing this when we detect the end tag.
Merge commit 'ace6a5cfc0d14a909b4b95bdfe16609188125baf' into eclair
* commit 'ace6a5cfc0d14a909b4b95bdfe16609188125baf':
Improved drawing/matrix support in layoutlib
Merge commit '75c498426a17b47d445711bb9e36794b05876a56' into eclair
* commit '75c498426a17b47d445711bb9e36794b05876a56':
Add maxSdkVersion information in dump badging option
Merge commit 'c1c432f57b782ed9d8d65be7ea1bee1e1d7d7839' into eclair
* commit 'c1c432f57b782ed9d8d65be7ea1bee1e1d7d7839':
Layoutlib now uses the dimen status_bar_height instead of hard-coded value
- Make the custom Canvas actually replace the original one so that it's used
even by parts of the framework that allocate their own temp Canvas object.
- Better support for Matrix: added support for mapPoint() and mapRect(), and invert()
- Implemented drawBitmap() with a Matrix, and made the paint object not NPE when null.
Previously aapt would bail out on the first broken image, making it difficult to compile a comprehensive list of broken images. Now it will pre- and post-process all of them and report any and all errors (before exiting with an error code if any errors were encountered).
Bug: 2055485
Merge commit '94ff3f1f08805b68c5524b39024968aebcdc83ee' into eclair
* commit '94ff3f1f08805b68c5524b39024968aebcdc83ee':
Fix handling of reference XML file in layout files
Merge commit 'e1b63d224a0a68191f087186c470cde317e3fa76' into eclair
* commit 'e1b63d224a0a68191f087186c470cde317e3fa76':
Mock ServiceManager and AccesibilityManager to make the view renders in ADT
This currently only works for a wallpaper that is larger than the
screen. Set the scroll position with the new wallpaper API. Right
now only does jump scrolls.