365 Commits

Author SHA1 Message Date
Dianne Hackborn
f43489d7d5 Fix aapt dump badging to support xlarge screens.
Change-Id: Ieeb757cd48ad9b3f46c5e4aed9d5efaeac834049
2010-08-20 12:44:33 -07:00
Martin Nordholts
2fda9f4562 Support changing style parent in overlays
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.

Change-Id: I5969bb8aab90df437e1967fc504cc0da79107d13
2010-08-17 13:18:59 +02:00
Ying Wang
af4798d9c3 am 8cfd3c01: am e05184f2: Merge "Output proguard keep flags for fragment classes." into gingerbread
Merge commit '8cfd3c01e4582a587765588c02234527e7808ca0'

* commit '8cfd3c01e4582a587765588c02234527e7808ca0':
  Output proguard keep flags for fragment classes.
2010-08-16 15:16:52 -07:00
Eric Fischer
fed762b944 am d22a1e89: am 244152bf: Merge "Change aapt\'s warning message to suggest formatted="false", not "true"." into gingerbread
Merge commit 'd22a1e896cbc7e86d57be9923d749b017b3cde79'

* commit 'd22a1e896cbc7e86d57be9923d749b017b3cde79':
  Change aapt's warning message to suggest formatted="false", not "true".
2010-08-16 07:49:51 -07:00
Ying Wang
8cfd3c01e4 am e05184f2: Merge "Output proguard keep flags for fragment classes." into gingerbread
Merge commit 'e05184f271f9882a5bf828e353aea40e0c06ff69' into gingerbread-plus-aosp

* commit 'e05184f271f9882a5bf828e353aea40e0c06ff69':
  Output proguard keep flags for fragment classes.
2010-08-13 15:29:04 -07:00
Ying Wang
e05184f271 Merge "Output proguard keep flags for fragment classes." into gingerbread 2010-08-13 15:26:21 -07:00
Eric Fischer
d22a1e896c am 244152bf: Merge "Change aapt\'s warning message to suggest formatted="false", not "true"." into gingerbread
Merge commit '244152bfb9020341953d3e541c85eb3961806378' into gingerbread-plus-aosp

* commit '244152bfb9020341953d3e541c85eb3961806378':
  Change aapt's warning message to suggest formatted="false", not "true".
2010-08-13 14:56:47 -07:00
Eric Fischer
244152bfb9 Merge "Change aapt's warning message to suggest formatted="false", not "true"." into gingerbread 2010-08-13 14:54:15 -07:00
Eric Fischer
98ee11ddb7 Change aapt's warning message to suggest formatted="false", not "true".
True is the default and specifying it won't suppress the warning.

Change-Id: I8ecc919b4059bf3321e781649cb46dd2d3807592
2010-08-13 14:49:55 -07:00
Ficus Kirkpatrick
41e567f7cf Add --max-res-version flag to aapt.
aapt will ignore any versioned resource directories over the
specified version (if used).  e.g. --max-res-version=6 will
cause layout-land-v7 to be ignored.

Merged from gingerbread.

Change-Id: I71b889540380cb10bafb40f72582d3af785ae33a
2010-08-13 14:32:05 -07:00
Ficus Kirkpatrick
0f414272cc am 7525c2cf: Merge "Add --max-res-version flag to aapt." into gingerbread
Merge commit '7525c2cfbbaa5c947c029008ef490e93a50c064f' into gingerbread-plus-aosp

* commit '7525c2cfbbaa5c947c029008ef490e93a50c064f':
  Add --max-res-version flag to aapt.
2010-08-13 14:27:41 -07:00
Ficus Kirkpatrick
588f228d6a Add --max-res-version flag to aapt.
aapt will ignore any versioned resource directories over the
specified version (if used).  e.g. --max-res-version=6 will
cause layout-land-v7 to be ignored.

Merged from froyo.

Change-Id: Ia4eabae535b95b75d18b0c83135d44ed9a95b9eb
2010-08-13 14:20:51 -07:00
Ying Wang
561a91824f Output proguard keep flags for fragment classes.
Change-Id: I28c10fbf18b91f8ba3dfc2575cd41215f65f11ec
Bug: 2916847
2010-08-13 14:06:58 -07:00
Jean-Baptiste Queru
f252b3501e am f781b4ef: am e37ab632: Merge "Fix build on some linux machines"
Merge commit 'f781b4ef4bd840b7cee83fafdf2e31e709068bd3'

* commit 'f781b4ef4bd840b7cee83fafdf2e31e709068bd3':
  Fix build on some linux machines
2010-08-11 10:07:56 -07:00
Jean-Baptiste Queru
f781b4ef4b am e37ab632: Merge "Fix build on some linux machines"
Merge commit 'e37ab63221af94d69437741a3645fc0e14a680bc' into gingerbread-plus-aosp

* commit 'e37ab63221af94d69437741a3645fc0e14a680bc':
  Fix build on some linux machines
2010-08-11 10:04:31 -07:00
hmepas
b7ffaf6ae2 Fix build on some linux machines
This adds -lpthread on linux for aapt and localize, which appear to be
needed on some linux distros.

Signed-off-by: Jean-Baptiste Queru <jbq@google.com>
2010-08-11 09:08:51 -07:00
Steve Block
f1ff21ac62 Fixes a few minor problems with AAPT
- Fixes casting problems with stricter compilers
- Adds a couple of missing ifdef guards

This is a first step toward being able to generate APKs on the fly on the device.

Bug: 2766918
Change-Id: Icaaee5a4032afa313256add321b447443861dd85
2010-06-25 11:02:15 +01:00
Dan Morrill
45378f07b8 am 6b22d81a: As Donut (API=4) devices and earlier do not have a Bluetooth API, .apk files that have minSdkLevel (or targetSdkLevel) set to 4 or lower should not be presumed to require Bluetooth just because they take the permission.
Merge commit '6b22d81aa35d9a9b32670995c002e92588b2fe09' into gingerbread

* commit '6b22d81aa35d9a9b32670995c002e92588b2fe09':
  As Donut (API=4) devices and earlier do not have a Bluetooth API, .apk files
2010-06-17 12:36:17 -07:00
Dan Morrill
6b22d81aa3 As Donut (API=4) devices and earlier do not have a Bluetooth API, .apk files
that have minSdkLevel (or targetSdkLevel) set to 4 or lower should not be
presumed to require Bluetooth just because they take the permission.

Change-Id: Ia629e9ef0425a577e4e14f9b348f5aa2b39c1e74
2010-06-15 21:57:33 -07:00
Joe Onorato
9a5fcd1c14 am 9d71860e: Merge "The aapt and aidl tools are prebuilt when we\'re doing an apps-only build, so don\'t try to build them." into froyo
Merge commit '9d71860e8cbaf16ddae3cd5d06ede8e6cfc7675a' into gingerbread

* commit '9d71860e8cbaf16ddae3cd5d06ede8e6cfc7675a':
  The aapt and aidl tools are prebuilt when we're doing an apps-only build, so don't try to build them.
2010-06-15 15:21:14 -07:00
Joe Onorato
74905e5b0a The aapt and aidl tools are prebuilt when we're doing an apps-only build, so don't try to build them.
Change-Id: I9896b11a9b90cbbbe2170243c8bdbc40231dfbff
2010-06-10 18:36:57 -07:00
Dianne Hackborn
168585ed68 am 5474902f: Merge "xhdpi" into froyo
Merge commit '5474902fe9fe72c825855c4a77f99a581a9f6594' into kraken

* commit '5474902fe9fe72c825855c4a77f99a581a9f6594':
  xhdpi
2010-06-06 12:10:05 -07:00
Dianne Hackborn
588feee5e7 xhdpi
This is only a tool (aapt) change, and does not impact any current code.

Change-Id: I562063f612af919eaadba8ac4868a95ff41ac840
2010-06-04 14:36:39 -07:00
Kenny Root
15fe2cb73b Add error checking for translatable strings
Translatable strings that have multiple substitutions should use
positional String.format() substitutions. This change makes it an error
not to use that format on translatable strings that have more than one
substitution in its text.

Change-Id: I3a19707f3804aa24e8568dc1653a11576cac5916
2010-06-03 09:33:43 -07:00
Dan Morrill
6a22fb9bef am f7ebcfec: am e17b4e71: Merge "Adding the backward-compatible filtering heuristics for the new device features definitions added in FroYo." into froyo
Merge commit 'f7ebcfeccbd4433be5252857a854a6b565bf3fb9' into kraken

* commit 'f7ebcfeccbd4433be5252857a854a6b565bf3fb9':
  Adding the backward-compatible filtering heuristics for the new device
2010-05-04 12:45:49 -07:00
Dan Morrill
89d97c1418 Adding the backward-compatible filtering heuristics for the new device
features definitions added in FroYo.

Change-Id: I5024e45c62813fe2fd2ff4d222df816a86a94f86
2010-05-04 08:39:03 -07:00
Dianne Hackborn
14cee9f688 New xlarge screen size.
Not complete, only for experimentation at this point.

This includes a reworking of how screen size configurations are matched,
so that if you are on a larger screen we can select configurations for
smaller screens if there aren't any exactly matching the current screen.

The screen size at which we switch to xlarge has been arbitrarily
chosen; the compatibility behavior has not yet been defined.

Change-Id: I1a33b3818eeb51a68fb72397568c39ab040a07f5
2010-04-28 16:51:52 -07:00
Raphael
2935553438 Fix aapt to build in Windows SDK under Linux
(Merge master Change Ic4a7b9e4)
2010-04-23 15:30:42 -07:00
Kenny Root
c9f3088036 Use correct API version for UTF-8 checking
Use the constant for checking the API version in aapt instead of a bare
number.

Bug: 2541326
Change-Id: Ice7af7b393363a00f1832dd84753b8138d057fb4
2010-03-24 12:05:24 -07:00
Kenny Root
ed9830999a Make aapt warning concise
The previous warning made it seem like it could be using the value
specified on the command line, but, in fact, it would ignore the command
line value if it were already specified in the AndroidManifest.xml

Change-Id: I15e8161e094f17412680d25d3b7b810474eb4a31
2010-03-18 14:14:52 -07:00
Kenny Root
1741cd4904 Fix minSdkVersion scanning to not throw warnings
For the UTF8/UTF16 switch code, we needed to know what was the
minSdkVersion specified as early as possible. Unfortunately, this threw
warnings when the SDK was compiling since we always set this field in
the Bundle.

This splits out the field used by the initial AndroidManifest.xml scan
to a separate one that we won't attempt to re-insert into the
AndroidManifest.xml  This also switches the logic to better reflect the
preference of UTF-8 over UTF-16; previously UTF-16 was the default.

Change-Id: Ia81f6b21047043ebb711eb24c2c3718534979ef6
2010-03-18 12:12:11 -07:00
Kenny Root
9e652a67ca Give an 9-patch error on too many rows and columns
When you have too many rows and columns, there are not enough colors in
the 9-patch private metadata to represent them. Instead of crashing
aapt, this change gives the user an error message telling them why it's
invalid.

Change-Id: I5e7bd59472a3a2eafa7cbc263792458cce2b5594
2010-03-12 14:12:14 -08:00
Kenny Root
774562275f Revert "Dedupe resource config pointers"
This reverts commit 7b467d8b44c00d14590c021928b6a9ad5a36348e.
2010-03-10 11:38:05 -08:00
Kenny Root
7b467d8b44 Dedupe resource config pointers
When there are two configs in a StringPool that would match a string ID
only keep the more generic entry to save some space. This means that if
you have both "es" and "es_US" translations that have the same
translation, the string entry would be removed from the "es_US" config.

Change-Id: I4d619942d35ddb477e2eabe4437b7f02697c24de
2010-03-09 20:56:41 -08:00
Dianne Hackborn
cf244ada58 Add ability for some manifest attributes to reference resources.
This loosens our restriction on many manifest attributes requiring
literal string values, to allow various ones to use values from
resources.  This is only allowed if the resource value does not change
from configuration changes, and the restriction is still in place
for attributes that are core to security (requesting permissions) or
market operation (used libraries and features etc).

Change-Id: I4da02f6a5196cb6a7dbcff9ac25403904c42c2c8
2010-03-09 17:18:05 -08:00
Ed Heyl
cd47f11dfa Merge "Change an aapt "warning" from "*** " to "**** " (from three to four stars). "*** " (three stars and a space) is the 'magic make error string'; so this change makes it easier to find the real issues/errors in build logs. Besides, other aapt messages are "**** "." 2010-03-05 11:59:58 -08:00
Ed Heyl
65e185b51e Change an aapt "warning" from "*** " to "**** " (from three to four stars).
"*** " (three stars and a space) is the 'magic make error string'; so this change makes it
easier to find the real issues/errors in build logs.  Besides, other aapt messages are "**** ".
2010-03-05 11:24:35 -08:00
Xavier Ducrohet
ee2b21dba2 Merge "Fix potential aapt crash when processing overlay." 2010-03-05 11:22:40 -08:00
Xavier Ducrohet
83f4c0994f Fix potential aapt crash when processing overlay.
If an overlay has a type of resources that's not defined in
the main res pool, then aapt would crash.

This dynamically create new ResourceTypeSet when needed
when processing the overlays

Change-Id: I67bc3622281bde73cf42f37a0983798d3f658ce2
2010-03-05 11:11:28 -08:00
Dianne Hackborn
7299c41630 Refactor car mode.
Extract all UI behavior from dock observer and ACTION_DOCK_EVENT.

Also introduce a desk type to go along with the car type all through
the resource system, since we now need to have corresponding high-level
broadcasts for desk dock mode.  As part of that I also reworked some
of the logic for switching modes to all funnel through a single
update() call that looks all of the current state to decide what to
do next, and fixed various locking issues.

In addition I found there were bugs in the configuration change
handling causing us to only switch into the car mode config and
then never get out of it.  Unfortunately now that we are actually
changing the configuration for each mode change, the transitions
between them are really crummy as we restart all kinds of
activities. :(
2010-03-05 10:57:47 -08:00
Dianne Hackborn
b0381efaf7 Fix issue #2485441: SettingsBackupAgent crashed system server
Need to take care of fixing up backupAdjust as well as reporting it
to ProGuard.
2010-03-03 13:36:35 -08:00
Dianne Hackborn
abd03658bc Fix issue #2482423: Settings is broken due to dead-code stripping
Take care of more custom classes in layouts, and also scan through
preference XMLs.
2010-03-02 14:56:51 -08:00
Dianne Hackborn
ef05e076ce Fix issue #2448075: aapt doesn't fix up activity-alias android:targetActivity links
And related:

- The aapt tool now sets a resource configurations sdk level to match any configs
  that have been set (for example if you specify density your sdk level will be
  at least 4).
- New option to modify the targetPackage attribute of instrumentation.
- Clean up of aapt options help.
- Fix of UI type values to leave 0 for "unspecified".
- Make the UI mode config APIs public.
2010-03-01 20:42:14 -08:00
Kenny Root
7ff20e30c5 Create own reference for minSdkVersion in aapt
Fix bug where applications defining a minSdkVersion were experiencing
transient errors from memory corruption in aapt.

Change-Id: I839d5eda7388baac6133e735fa59f9799ca2822d
2010-02-24 23:49:59 -08:00
Kenny Root
5a8ec76121 Scan for android namespace in manifest
android:minSdkVersion wasn't being correctly scanned because the
namespace was incorrect. This fixes that problem so packages aren't
generated as UTF-8 when minSdkVersion is less than 7.

Change-Id: I8f45d47ea886915da6a4770f6e111e6085d61bee
2010-02-24 20:03:17 -08:00
Kenny Root
780d2a1b71 Use UTF-8 strings to avoid duplicate caching, part 1
StringBlock instances containing UTF-8 strings use a cache to convert
into UTF-16, but using that cache and then using a JNI call to NewString
causes the UTF-8 string as well as two copies of the UTF-16 string to
be held in memory. Getting the UTF-8 string directly from the StringPool
eliminates one copy of the UTF-16 string being held in memory.

This is part 1. Part 2 will include ResXMLParser optimizations.

Change-Id: Ibd4509a485db746d59cd4b9501f544877139276c
2010-02-23 10:02:20 -08:00
Kenny Root
e599f78e77 Use direct reference to enum in AaptAssets
The second argument to the getNavHiddenName can be NULL, so use a direct
reference to the class to get the enum values instead of the argument.

Change-Id: I0444572c23cb4de9e7da15a8310a49cf4619bb15
2010-02-19 12:45:48 -08:00
Kenny Root
5706329cf4 Merge "Change buf size holding integer in ResourceTable" 2010-02-18 12:39:15 -08:00
Kenny Root
f5a7c121dd Change buf size holding integer in ResourceTable
A 32-bit integer can be 10 characters long plus a byte for \0 at the
end.

Change-Id: I58040fe6e1674e78bcc6e07463ff36fb26e280f4
2010-02-18 09:44:35 -08:00
Kenny Root
fedfea24e7 Fix enum reference
Was using argument that is set default to NULL as a shortcut to an
enum's value. Change it to reference to class directly to avoid a null
pointer dereference.

Change-Id: I16b8ee15af4f095f027113131d574b70768994b0
2010-02-18 08:54:47 -08:00