380 Commits

Author SHA1 Message Date
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
Jeff Hamilton
e2c17f9174 Dump original-package entries.
Change-Id: I29b20811847555ff9858ef47cca69c8b992b24ea
2010-02-12 13:45:16 -06:00
Tobias Haamel
27b28b3f62 Introduce special UI modes for night and car usage.
The device mode is now called ui mode. Furthermore is the order of
precedence for the resources now in such a way that the ui mode needs
to be specified after the orientation and before the density.

The ui mode can be set, like it is done for the locale, as follows:

IActivityManager am = ActivityManagerNative.getDefault();
Configuration config = am.getConfiguration();
config.uiMode = Configuration.UI_MODE_TYPE_CAR | Configuration.UI_MODE_NIGHT_ANY;
am.updateConfiguration(config);

To allow users to disable the car mode and set the night mode the IUiModeManager
interface is used.

The automatic night mode switching will be added in a separate change.
2010-02-11 21:25:58 +01:00
Xavier Ducrohet
99080c7d9a Add --auto-add-overlay option to aapt.
This option allows resources only present in overlays to be
added automatically instead of being declared through <add-resource>

Change-Id: Iff782311056f6a045193e57d204f7d3413e11b26
2010-02-04 18:53:14 -08:00
Jeff Hamilton
2fee0ed6eb Add the --rename-manifest-package option to aapt.
It allows you to force override the manifest
package listed in the AndroidManifest.xml when
creating an APK file.

Change-Id: I7eac7943c4e56610b65728ae54773a273634fd9d
2010-02-01 18:47:01 -06:00
Ying Wang
1590077905 am 6efe03b1: am 6f9e2c64: Merge "Find layout classes in all "layout-*" dirs." into eclair
Merge commit '6efe03b19e0734361b262f9a0be4d225088d7f9e'

* commit '6efe03b19e0734361b262f9a0be4d225088d7f9e':
  Find layout classes in all "layout-*" dirs.
2010-01-27 15:53:20 -08:00
Ying Wang
b70efcbbb1 am 3c05f1fb: am b5fb50a1: Merge "Add instrumentation as a source tag for proguard keep options." into eclair
Merge commit '3c05f1fbac2ce35483f61dbd5d5bfb6341da6d9c'

* commit '3c05f1fbac2ce35483f61dbd5d5bfb6341da6d9c':
  Add instrumentation as a source tag for proguard keep options.
2010-01-22 09:45:31 -08:00
Ying Wang
6efe03b19e am 6f9e2c64: Merge "Find layout classes in all "layout-*" dirs." into eclair
Merge commit '6f9e2c648c0588a2eedef2746c9750ed9c6945be' into eclair-plus-aosp

* commit '6f9e2c648c0588a2eedef2746c9750ed9c6945be':
  Find layout classes in all "layout-*" dirs.
2010-01-21 11:12:29 -08:00
Ying Wang
c111296b97 Find layout classes in all "layout-*" dirs.
Before this CL, the generated keep flags for layout classes are incomplete,
such as layout classes in res/layout-port/ and res/layout-land and so on.
2010-01-20 22:12:46 -08:00
Ying Wang
3c05f1fbac am b5fb50a1: Merge "Add instrumentation as a source tag for proguard keep options." into eclair
Merge commit 'b5fb50a133c6fc7fc93d6241912dd9ec24de6ace' into eclair-plus-aosp

* commit 'b5fb50a133c6fc7fc93d6241912dd9ec24de6ace':
  Add instrumentation as a source tag for proguard keep options.
2010-01-19 14:53:47 -08:00
Ying Wang
46f4b9827e Add instrumentation as a source tag for proguard keep options. 2010-01-13 16:53:07 -08:00
Ying Wang
ffebd7c2cc am b4f41119: am a1d08886: Merge "Only output proguard keep for nonempty attribute name in the AndroidManifest.xml." into eclair
Merge commit 'b4f41119044e5ec7f7b76ed4ac02b5cfbaeb474d'

* commit 'b4f41119044e5ec7f7b76ed4ac02b5cfbaeb474d':
  Only output proguard keep for nonempty attribute name in the AndroidManifest.xml.
2010-01-12 16:37:31 -08:00
Ying Wang
b4f4111904 am a1d08886: Merge "Only output proguard keep for nonempty attribute name in the AndroidManifest.xml." into eclair
Merge commit 'a1d08886ec8549878ad16c19754a3239706fb61b' into eclair-plus-aosp

* commit 'a1d08886ec8549878ad16c19754a3239706fb61b':
  Only output proguard keep for nonempty attribute name in the AndroidManifest.xml.
2010-01-12 16:34:13 -08:00
Ying Wang
4199528aab Only output proguard keep for nonempty attribute name in the AndroidManifest.xml.
Before this change, aapt generates proguard keep flags like
"-keep class com.android.somepackage.", which proguard doesn't recognize.
2010-01-12 16:08:23 -08:00
Dianne Hackborn
93cee56d87 am ce56857e: am cb2d50d0: Fix issue #2357259: aapt tool prints "uses-configuation:"
Merge commit 'ce56857ef72538c197afd91b9f30dc868d2667d9'

* commit 'ce56857ef72538c197afd91b9f30dc868d2667d9':
  Fix issue #2357259: aapt tool prints "uses-configuation:"
2010-01-07 09:21:52 -08:00
Dianne Hackborn
ce56857ef7 am cb2d50d0: Fix issue #2357259: aapt tool prints "uses-configuation:"
Merge commit 'cb2d50d0d6e2e37ae02b014999da23ecd32038b8' into eclair-plus-aosp

* commit 'cb2d50d0d6e2e37ae02b014999da23ecd32038b8':
  Fix issue #2357259: aapt tool prints "uses-configuation:"
2010-01-06 13:46:50 -08:00
Dianne Hackborn
cb2d50d0d6 Fix issue #2357259: aapt tool prints "uses-configuation:"
Change-Id: Id3ea3a86bd4d385441b05fcbe85b8ab62c35afff
2010-01-06 11:29:54 -08:00
Kenny Root
451c850fd6 am 15f1bfb0: Merge change I70d0bddb into eclair-mr2
Merge commit '15f1bfb0d29915ed1790b22a00fd7032f035ddb0' into eclair-mr2-plus-aosp

* commit '15f1bfb0d29915ed1790b22a00fd7032f035ddb0':
  Revise aapt options for UTF8/16 encoding
2009-12-14 16:28:03 -08:00
Kenny Root
745e17a07c Revise aapt options for UTF8/16 encoding
Remove option to force UTF-8 encoding which could corrupt packages meant
for systems before API level 7. Added switch to allow encoding for UTF-16
which will allow API 7 and later to encode resources in UTF-16.

Change-Id: I70d0bddb0dfd12dcbd08c95f613dcfe896ae680b
2009-12-11 19:06:21 -08:00
Kenny Root
cdbf5746fc am b5ef7ee1: Default to UTF8 resources when packaging with aapt
Merge commit 'b5ef7ee1644b099498ddd29c1d051e7ee26ccfd3' into eclair-mr2-plus-aosp

* commit 'b5ef7ee1644b099498ddd29c1d051e7ee26ccfd3':
  Default to UTF8 resources when packaging with aapt
2009-12-10 20:23:04 -08:00
Kenny Root
b5ef7ee164 Default to UTF8 resources when packaging with aapt
This change makes it so with API level 7 and above all resources will be
packaged in UTF-8 format. Any minSdkVersion level that is named will also
have resources packaged in UTF-8, because it is assumed that previous
releases will only be rebuilt with their proper integer number and only
future releases will temporarily have names.

Change-Id: If5d1ee5e48fbaf31798816b068ac44b14a93121b
2009-12-10 20:17:33 -08:00
Jean-Baptiste Queru
926d1a2200 am a5a8cc13: resolved conflicts for merge of ce307f88 to eclair-mr2
Merge commit 'a5a8cc13d3f906650a1eb17e20e1b26d68b78453' into eclair-mr2-plus-aosp

* commit 'a5a8cc13d3f906650a1eb17e20e1b26d68b78453':
  Add --custom-package to aapt
2009-12-10 17:57:04 -08:00
Jean-Baptiste Queru
a5a8cc13d3 resolved conflicts for merge of ce307f88 to eclair-mr2 2009-12-10 17:53:27 -08:00
Xavier Ducrohet
9af0c6facb am ce307f88: Merge change Ie4cdb5a3 into eclair
Merge commit 'ce307f889b509143899a2221359219fbc91b618c' into eclair-plus-aosp

* commit 'ce307f889b509143899a2221359219fbc91b618c':
  Add --custom-package to aapt
2009-12-09 18:25:28 -08:00
Kenny Root
5cd6fcd518 am e6c0e993: Merge change I129483f8 into eclair-mr2
Merge commit 'e6c0e99334bc2f47e5d36db253ac8f166047c03b' into eclair-mr2-plus-aosp

* commit 'e6c0e99334bc2f47e5d36db253ac8f166047c03b':
  Optional use of UTF-8 strings in resource bundles
2009-12-09 15:51:21 -08:00
Kenny Root
19138468ca Optional use of UTF-8 strings in resource bundles
Allows the use of UTF-8 for packing resources instead of the
default of UTF-16 for Java. When strings are extracted from the
ResStringPool, they are converted to UTF-16 and the result is
cached for subsequent calls.

When using aapt to package, add in the "-8" switch to pack the
resources using UTF-8. This will result in the value, key, and
type strings as well as the compiled XML string values taking
significantly less space in the final application package in
most scenarios.

Change-Id: I129483f8b3d3b1c5869dced05cb525e494a6c83a
2009-12-07 15:14:15 -08:00
Kenny Root
88721afe2f Fix bitmask in aapt's StringPool length construction
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.
2009-12-04 13:40:54 -08:00
Xavier Ducrohet
63459ad555 Add --custom-package to aapt
This is needed to add library support to the SDK.

The goal is to have libraries and main project use the same
package for the R/Manifest classes to that they can share code
and resources.

BUG 2293994

Change-Id: Ie4cdb5a3bdabe1760a91316fd8969e4f53344bf9
2009-11-30 18:05:10 -08:00
Dirk Dougherty
5b40ead81b am 0d55daff: am 5fc71e67: am 00e44ef2: Merge change I54545dfd into eclair-sdk
Merge commit '0d55daffc31c123dcf83f6db85f8198854ddc564' into eclair-mr2-plus-aosp

* commit '0d55daffc31c123dcf83f6db85f8198854ddc564':
  doc change: fix broken R.styleable formatting (caused by missing periods). Adjust table markup.
2009-11-04 14:32:34 -08:00
Dirk Dougherty
16c7f4474e am 5fc71e67: am 00e44ef2: Merge change I54545dfd into eclair-sdk
Merge commit '5fc71e67498ed64ad2d41c23471b008f93cb580e' into eclair-plus-aosp

* commit '5fc71e67498ed64ad2d41c23471b008f93cb580e':
  doc change: fix broken R.styleable formatting (caused by missing periods). Adjust table markup.
2009-11-04 14:20:55 -08:00
Dirk Dougherty
5fc71e6749 am 00e44ef2: Merge change I54545dfd into eclair-sdk
Merge commit '00e44ef21777f32b67a8d51ee375cd290a3fb2d4' into eclair

* commit '00e44ef21777f32b67a8d51ee375cd290a3fb2d4':
  doc change: fix broken R.styleable formatting (caused by missing periods). Adjust table markup.
2009-11-04 14:12:29 -08:00
Dirk Dougherty
59ad275e93 doc change: fix broken R.styleable formatting (caused by missing periods). Adjust table markup.
Bug: 2230588
Change-Id: I54545dfd9d26acef567e586cfc916f6b883a4de7
2009-11-03 15:33:37 -08:00
Doug Zongker
16b696af61 am 617262d8: Merge change I37c4157d into eclair
Merge commit '617262d8f57362536ddc00a070c1c0994741de44' into eclair-plus-aosp

* commit '617262d8f57362536ddc00a070c1c0994741de44':
  add "junk path" -k option to aapt (DO NOT MERGE)
2009-10-20 13:36:06 -07:00
Doug Zongker
37c4157d7c add "junk path" -k option to aapt (DO NOT MERGE)
Adds a "junk path" option to aapt so that you can do:

   aapt add -k archive.zip path/to/some.file

and have the file stored in the zip under the name "some.file"
(without the path).  Needed so that we can use 'aapt add' in place of
'zip -j' when building jar files, which will lead to smaller
incremental OTAs.

(This is a cherry-pick of a change already submitted to eclair-mr2;
the change was approved for mr1.)
2009-10-19 17:04:21 -07:00
Doug Zongker
b80d1d0cc8 am afbf8afa: Merge change I564b5b00 into eclair-mr2
Merge commit 'afbf8afa858a78b66c19f11cfda030e913b34085' into eclair-mr2-plus-aosp

* commit 'afbf8afa858a78b66c19f11cfda030e913b34085':
  add "junk path" -k option to aapt
2009-10-13 13:47:54 -07:00
Doug Zongker
dbe7a68cc1 add "junk path" -k option to aapt
Adds a "junk path" option to aapt so that you can do:

   aapt add -k archive.zip path/to/some.file

and have the file stored in the zip under the name "some.file"
(without the path).  Needed so that we can use 'aapt add' in place of
'zip -j' when building jar files, which will lead to smaller
incremental OTAs.
2009-10-13 13:33:31 -07:00