Dianne Hackborn [Tue, 14 Jun 2011 02:33:22 +0000 (19:33 -0700)]
Add new landscape and portrait orientation features.
Updates aapt to know about these. Also updates aapt badging to:
- No longer crash due to the change to how we match unspecified
configuration resources.
- Report the new "smallest screen" supported screen configs.
- Infer old screen size buckets based on new smallest width attrs.
- Report all of the different labels and icons in an app.
Dianne Hackborn [Fri, 13 May 2011 01:07:47 +0000 (18:07 -0700)]
DO NOT MERGE. Integrate add new screen width/height in "dp" configs.
You can now specify resource configuration variants "wNNNdp"
and "hNNNdp". These are the minimum screen width/height in "dp"
units. This allows you to do things like have your app adjust
its layout based only on the about of horizontal space available.
This introduces a new configuration change flag for screen size.
Note that this configuration change happens each time the orientation
changes. Applications often say they handle the orientation change
to avoid being restarted at a screen rotation, and this will now
cause them to be restarted. To address this, we assume the app can
handle this new config change if its target SDK version is < ICS.
Make the output from aapt dump xmltree normalized, so that it is unambigously
displayed regardless of the content of the strings. Previous patch left out
handling of XML element content.
Mårten Kongstad [Thu, 17 Mar 2011 13:13:41 +0000 (14:13 +0100)]
Runtime resource overlay, iteration 1.
Runtime resource overlay allows unmodified applications to appear
as if they had been compiled with additional resources defined. See
libs/utils/README for more information.
This commit is the first iteration of runtime resource overlay. It
provides the actual overlay modifications and loading of trusted overlay
packages (ie residing in /vendor) targeting framework-res.apk.
This commit loads exactly one overlay package. The overlay,
if present, must target framework-res.apk and be located at
/vendor/overlay/framework/framework-res.apk.
* commit 'ce57a7f35344e76689d30f45964d1e37b78280cb':
GpsLocationProvider: Clean up HAL initialization/cleanup sequence
Fixed GSM encoded network initiated position request
Ensuring thread-safe usage of DateFormat.
Fixing infinite loop for zero duration.
Fix for an infinite loop while scrolling lists.
WAPPushManager, WAP Push over SMS message handler
Add --non-constant-id to aapt.
Xavier Ducrohet [Mon, 28 Feb 2011 17:16:38 +0000 (09:16 -0800)]
am dff6b8e7: Merge "Add --non-constant-id to aapt."
* commit 'dff6b8e71dda9f5d841fa26408714aec2aef1505':
GpsLocationProvider: Clean up HAL initialization/cleanup sequence
Fixed GSM encoded network initiated position request
Ensuring thread-safe usage of DateFormat.
Fixing infinite loop for zero duration.
Fix for an infinite loop while scrolling lists.
WAPPushManager, WAP Push over SMS message handler
Add --non-constant-id to aapt.
Xavier Ducrohet [Tue, 15 Feb 2011 00:58:00 +0000 (16:58 -0800)]
Add --non-constant-id to aapt.
This option enbables creating resource constant in the R class
that are not actual constant, but simply static fields.
The goal is to build library projects with these types of
IDs so that the constant does not get inlined in the library
code, since the ID for the library resources only are not
the final values.
The final resource IDs, generated from the main project and
its library(ies), will have proper constant with the final
values.
This allows us to generate binary library bundle (a jar file
and associated resources) that can be distributed. Additionally,
this will let us make the library project support in Eclipse
much more robust and a better user experience overall.
Josh Stone [Tue, 18 Jan 2011 02:34:11 +0000 (18:34 -0800)]
aapt: Allow raw "%" in unformatted string-arrays
Commit 15fe2cb added format checking for translatable strings, enforcing
the use of positional args. This check can be disabled on <string>
values with translatable="false" or formatted="false". But they didn't
check for those attributes on <string-array>, so some of CM's strings
fail when they're not really format strings, just because they contain
percent signs. (e.g. brightness widget's "Auto/Dim/40%/100%")
So now the formatted/translatable attributes are checked in string-array
too, and we can restore our proper percent signs.
Josh Stone [Tue, 18 Jan 2011 02:34:11 +0000 (18:34 -0800)]
aapt: Allow raw "%" in unformatted string-arrays
Commit 15fe2cb added format checking for translatable strings, enforcing
the use of positional args. This check can be disabled on <string>
values with translatable="false" or formatted="false". But they didn't
check for those attributes on <string-array>, so some of CM's strings
fail when they're not really format strings, just because they contain
percent signs. (e.g. brightness widget's "Auto/Dim/40%/100%")
So now the formatted/translatable attributes are checked in string-array
too, and we can restore our proper percent signs.
Shachar Shemesh [Mon, 20 Dec 2010 15:38:33 +0000 (17:38 +0200)]
Normalize output from aapt d
Make the output from aapt dump --values resources and aapt dump xmltree normalized, so that it is unambigously displayed
regardless of the content of the strings.
Dan Morrill [Tue, 14 Dec 2010 19:31:29 +0000 (11:31 -0800)]
am 0ccc8b73: am 5441a9ff: Merge "GL texture filtering changed from AND to OR, so rename tag name to match. (<uses-foo> == AND, <supports-foo> == OR, e.g. uses-feature vs. supports-screen)." into gingerbread
* commit '0ccc8b7345eac0b507c221be47e55926cbda8957':
GL texture filtering changed from AND to OR, so rename tag name to match. (<uses-foo> == AND, <supports-foo> == OR, e.g. uses-feature vs. supports-screen).
Dan Morrill [Tue, 14 Dec 2010 19:28:50 +0000 (11:28 -0800)]
am 5441a9ff: Merge "GL texture filtering changed from AND to OR, so rename tag name to match. (<uses-foo> == AND, <supports-foo> == OR, e.g. uses-feature vs. supports-screen)." into gingerbread
* commit '5441a9ff2128cf2c5088974c74b79d2d1734f755':
GL texture filtering changed from AND to OR, so rename tag name to match. (<uses-foo> == AND, <supports-foo> == OR, e.g. uses-feature vs. supports-screen).
Dan Morrill [Tue, 14 Dec 2010 00:25:54 +0000 (16:25 -0800)]
GL texture filtering changed from AND to OR, so rename tag name to match.
(<uses-foo> == AND, <supports-foo> == OR, e.g. uses-feature vs.
supports-screen).
Kenny Root [Wed, 24 Nov 2010 20:56:06 +0000 (12:56 -0800)]
Change assets to use 64-bit API
The asset system and supporting libraries were using off_t instead of
off64_t to access files larger than 2GB (32-bit signed). This change
replaces all off_t with off64_t and lseek64.
There is a new utils/Compat.h added for Mac OS compatibility.
Dan Morrill [Fri, 15 Oct 2010 15:33:00 +0000 (08:33 -0700)]
am b58af2b8: am 5c62ab0a: Merge "Adding a new <uses-gl-texture/> tag, to be used to enable apps to specify filtering based on support for OpenGL ES texture and texture compression formats." into gingerbread
Dan Morrill [Wed, 13 Oct 2010 22:23:27 +0000 (15:23 -0700)]
am 5c62ab0a: Merge "Adding a new <uses-gl-texture/> tag, to be used to enable apps to specify filtering based on support for OpenGL ES texture and texture compression formats." into gingerbread
Dan Morrill [Wed, 13 Oct 2010 21:33:43 +0000 (14:33 -0700)]
Adding a new <uses-gl-texture/> tag, to be used to enable apps to specify
filtering based on support for OpenGL ES texture and texture compression
formats.
Dianne Hackborn [Mon, 4 Oct 2010 18:31:17 +0000 (11:31 -0700)]
Add new API to find out whether external storage is removable.
This is implemented based on whether we are using the "nosdcard"
product. Needed to tweak aapt to allow use of the product attribute
with other resource definition tags besides strings.
Eric Fischer [Wed, 15 Sep 2010 22:59:21 +0000 (15:59 -0700)]
Add an aapt option to allow string variations for different devices.
The --product option to aapt is a comma-separated list of characteristics
of the device being built for. For example, --product nosdcard,grayscale
for a device with no SD card and a grayscale screen.
Strings can specify a product="characteristic" option to cause that version
of the string to be used only for that type of device. All such strings
should also specify, at the end of the block, product="default", which
will be used if none of the variations match. For example:
<string name="choose" product="bw">Choose black or white</string>
<string name="choose" product="grayscale">Choose a shade of gray</string>
<string name="choose" product="default">Choose a color</string>
The default characteristic will also be used when no --product option
is specified.
Xavier Ducrohet [Tue, 31 Aug 2010 17:45:31 +0000 (10:45 -0700)]
Add a --debug-mode option to aapt.
When passed (with no needed parameters) to the aapt command line,
aapt will insert debuggable=true in the application node of the manifest
automatically.
This is to be used by the SDK tools to make true "debug" builds
that require no code/file change.
Xavier Ducrohet [Tue, 31 Aug 2010 17:45:31 +0000 (10:45 -0700)]
Add a --debug-mode option to aapt.
When passed (with no needed parameters) to the aapt command line,
aapt will insert debuggable=true in the application node of the manifest
automatically.
This is to be used by the SDK tools to make true "debug" builds
that require no code/file change.
Kenny Root [Wed, 25 Aug 2010 14:36:31 +0000 (07:36 -0700)]
Add LFH offset to verbose list of APK
The Local File Header (LFH) offset is printed in debugging cases when
the platform is inspecting APKs. This adds the LFH offset field to the
list of contents of an APK, so that it can be checked easily against the
Central Directory (CD).
Package overlays makes it possible for vendors to tweak the look of
the platform and the applications without touching any platform or
application code directly. This makes package overlays an important
mechanism in the Android build system.
There is currently a limitation that forbids changing the parent of a
style. If vendors could change the parent of e.g. ‘CalendarTheme’
from Android’s vanilla ‘Theme’ to ‘VendorTheme’, then vendor
specific adjustments could be done without changing any code directly.
From looking at the code it can be seen that the parent value of a
style is stored temporarily in ResourceTable::Entry::mParent while
overlays are gone through in buildResources(), and processed (in
ResourceTable::Entry::assignResourceIds()) at first after all overlays
have been handled, so there aren’t any obvious reasons why changing
parent in an overlay should be forbidden.