933 Commits

Author SHA1 Message Date
Xavier Ducrohet
b243aabdaf Merge adaa12cd from honeycomb. do not merge.
LayoutLib: fix Capabilities and getDimensionPixelSize

Commented out a Capability that is not in ADT 10.

BridgeTypedArray.getDimensionPixelSize shouldn't call
getDimension since most of the code is duplicated, and
it prevents use from properly detecting malformed attribute
values.

Change-Id: I008334af605a89f240247a13c0024009247ec5af
2011-03-15 11:34:18 -07:00
Ying Wang
a738a7d981 Merge "Add screen layout size as one of the resource filtering axes." 2011-03-14 19:20:00 -07:00
Ying Wang
4a223cdde5 Add screen layout size as one of the resource filtering axes.
So that we can add screen layout size such as
"small/normal/large/xlarge" to PRODUCT_LOCALES to filter unwanted
resources. We already handle screen density this way.
Bug: 4086309

Change-Id: I0867e22a825faea0e100d8a0075f0f5cb7c0c964
2011-03-14 15:53:23 -07:00
Xavier Ducrohet
2652b618a8 Merge 6f2fb570 from honeycomb. do not merge.
LayoutLib: Fix dimension parsing to handle negative value.

Also make TypedArray.getDimensionPixelSize properly
handle negative values (which are not allowed).

Change-Id: I03ffcef5ab7ec7ef95419566776dcc798845fd88
2011-03-14 15:28:50 -07:00
Xavier Ducrohet
f354ad108c Merge c12b4093 from honeycomb. do not merge.
Change-Id: Icfbb70c097d87bf92415c6f0534346adde4c02fe
LayoutLib: Implement some missing add###() method in Path.
2011-03-14 15:28:50 -07:00
Xavier Ducrohet
9d76581faf LayoutLib: Fix Arc rendering.
Looks like Java2D and Skia go in different directions for angles.

Change-Id: Ia0c9c70cd66c9a0941fa9921fecf8e4e83538af3
2011-03-14 15:12:21 -07:00
Xavier Ducrohet
adaa12cd9e LayoutLib: fix Capabilities and getDimensionPixelSize
Commented out a Capability that is not in ADT 10.

BridgeTypedArray.getDimensionPixelSize shouldn't call
getDimension since most of the code is duplicated, and
it prevents use from properly detecting malformed attribute
values.

Change-Id: I005b17061590dc0668729af16e896fad815f1973
2011-03-08 15:00:35 -08:00
Xavier Ducrohet
6f2fb57064 LayoutLib: Fix dimension parsing to handle negative value.
Also make TypedArray.getDimensionPixelSize properly
handle negative values (which are not allowed).

Change-Id: I960fc1c9e8ad97852d4a14e4f0f71a2c2034b4e7
2011-03-07 20:50:21 -08:00
Xavier Ducrohet
c12b409351 LayoutLib: Implement some missing add###() method in Path.
Change-Id: Ib62b5df0361ba81846483b1e5f8d7cbdbcb57d40
2011-03-07 20:19:38 -08:00
Dianne Hackborn
6482517101 Fix issue #3485923: Gmail crash
Allow application to try to recover if a surface OOM error
happens on the client side.

Change-Id: I0308bd99647a35e4bcac448340b7fc6330a828f6
2011-03-02 22:38:58 -08:00
Xavier Ducrohet
defdae61b1 Add notice files for aapt and aidl.
Change-Id: I51da138475618287760043059790aba87f4c3f35
2011-02-28 18:36:41 -08:00
Xavier Ducrohet
7b9727558b am edbd6139: Merge "Merge 1911a6f7 into gingerbread. do not merge." into gingerbread
* commit 'edbd6139b9d699879db2f14fb03b7b6a38bab9ea':
  Merge 1911a6f7 into gingerbread. do not merge.
2011-02-28 12:29:08 -08:00
Xavier Ducrohet
7719436342 am b732b7b5: am ce57a7f3: am 6504490c: am dff6b8e7: Merge "Add --non-constant-id to aapt."
* commit 'b732b7b5e8192501360edc15fb8c6399d11fb97d':
  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.
2011-02-28 10:15:48 -08:00
Xavier Ducrohet
b732b7b5e8 am ce57a7f3: am 6504490c: am dff6b8e7: Merge "Add --non-constant-id to aapt."
* 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.
2011-02-28 10:10:38 -08:00
Xavier Ducrohet
ce57a7f353 am 6504490c: am dff6b8e7: Merge "Add --non-constant-id to aapt."
* commit '6504490cde3ec5d48321d539e654d1f2072b33f9':
  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.
2011-02-28 09:51:38 -08:00
Xavier Ducrohet
6504490cde 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.
2011-02-28 09:16:38 -08:00
Xavier Ducrohet
efe18b5e3f Merge 1911a6f7 into gingerbread. do not merge.
Change-Id: I6d56644c4ab1a70eb4a6d0d2e5d84ea4aa674041
LayoutLib: move tests to their own project.
2011-02-25 14:53:32 -08:00
Xavier Ducrohet
a4510a7575 LayoutLib: fix incorrect indices in one of the 2 native_drawTextRun methods.
Fixes http://b.android.com/15007

Change-Id: Iff06180def92c5fa25e82520b76192c089edd8cc
2011-02-24 18:58:27 -08:00
Xavier Ducrohet
b052ecaa7e resolved conflicts for merge of 86e43034 to honeycomb-plus-aosp
Change-Id: Ia9ad4c3b79821fef6ab8493f4c93ca58f877f9ce
2011-02-24 17:19:38 -08:00
Xavier Ducrohet
db1acf52bb am 1175ef7e: Merge "LayoutLib: Adapt the HC layoutlib to GB. do not merge." into gingerbread
* commit '1175ef7e2e4f68532d8ade672d7f5502d9946ce4':
  LayoutLib: Adapt the HC layoutlib to GB. do not merge.
2011-02-24 16:21:41 -08:00
Xavier Ducrohet
86e43034a6 resolved conflicts for merge of a4350fc0 to gingerbread-plus-aosp
Change-Id: I065af5d555fa2197847ad47c84003dcd11fe26c7
2011-02-24 16:15:11 -08:00
Xavier Ducrohet
1911a6f781 LayoutLib: move tests to their own project.
Change-Id: I8a9e128e4a17ab57ec7b126a378035d9ce5bc168
2011-02-24 13:51:26 -08:00
Xavier Ducrohet
031d2f8b6d LayoutLib: Adapt the HC layoutlib to GB. do not merge.
Change-Id: I0b2016987a65fabbc0ce7011514543349e9fb929
2011-02-23 19:47:18 -08:00
Xavier Ducrohet
4b52ec49fe LayoutLib: Original import of Honeycomb's layoutlib. do not merge.
frameworks/base.git @ f0a53435f14d23d9555fc46014352ee6a7baa647

Change-Id: Ibc215751693dc7650683b61bb458f7c8beaf8060
2011-02-23 19:47:02 -08:00
Xavier Ducrohet
f0a53435f1 LayoutLib: Add debug mode.
Change-Id: If4263c7dba63a063f84e0c6988c270eb6d291ac3
2011-02-23 18:12:49 -08:00
Xavier Ducrohet
b2c7dd5986 LayoutLib: downsize the SparseArray when possible.
Change-Id: I570b93ab161414b7729f8d2dce8ddadb706f186b
2011-02-23 15:02:58 -08:00
Xavier Ducrohet
c6083f2c9e LayoutLib: misc fixes.
- implement some Paint methods that are needed for 2.x
- fix the phone system bar to display the icons on the right.

Change-Id: I3a938b14ec9a449dbc23a33303a3c8405a5369a8
2011-02-23 12:00:42 -08:00
Xavier Ducrohet
cc4977d0fd LayoutLib: Hold onto delegate references.
When an object is given a delegate to hold onto, keep
the reference to the delegate instead of its native integer.

Also change the way the finalizer works by not explicitely deleting
the delegate. Instead we want the delegate to be deleted when
nothing holds a reference to it. To do this, instead of using
a regular SparseArray, we use a SparseArray of WeakReferences.
Because the main Java object that "owns" the delegate does not
actually holds a reference to the delegate, we fake this by
having the delegate manager hold a reference to delegates for
the main object. This is added/removed as the object is created
and the native finalized is called.

This makes layoutlib behave more like the JNI code where the native
objects are reference counted, and where the Java object can be
deleted but the delegate it owns is kept around (usually because
another type of delegates hold a reference on it.)

To properly handle the WeakReferences, we need to be able to
regularly clear the SparseArray of WeakReference that were
referencing objects that have been GC'ed.
Since the SparseArray is regularly being compacted (actually only
when items are removed), we use a custom SparseWeakArray (started
as a straight copy of SparseArray) that handles the WeakReference
and takes care of compacting the array by removing deleted indices
and WeakReference that returns null. Since our specific use case
doesn't call actually delete() or remove(), the compacting
only happens when the array needs to be resized.

Change-Id: Iacc5c1ff5b21732b8816fda87eb090da12d034e0
2011-02-23 12:00:41 -08:00
Xavier Ducrohet
8cb6fc184d LayoutLib: Import of SparseArray as SparseWeakArray.
This is a straight copy for easy review of the customization.

Change-Id: I351ec570c3e7a025561939ab05c1ae7eded30b38
2011-02-23 12:00:41 -08:00
Jeff Brown
6f2fba428c Add new axes for joysticks and mouse wheels.
Added API on InputDevice to query the set of axes available.
Added API on KeyEvent and MotionEvent to convert keycodes and axes
to symbolic name strings for diagnostic purposes.
Added API on KeyEvent to query if a given key code is a gamepad button.
Added a new "axis" element to key layout files to specify the
mapping between raw absolute axis values and motion axis ids.
Expanded the axis bitfield to 64bits to allow for future growth.
Modified the Makefile for keyboard prebuilts to run the keymap
validation tool during the build.
Added layouts for two game controllers.
Added default actions for game pad button keys.
Added more tests.
Fixed a bunch of bugs.

Change-Id: I73f9166c3b3c5bcf4970845b58088ad467525525
2011-02-19 05:23:10 -08:00
Xavier Ducrohet
1ca584a2bb LayoutLib: remove assert in resource resolution.
These code paths were valid in case there's a mismatch
between the style/theme/version of Android

Change-Id: I8cb3b2a3f3a1ef5c37ccec0c8ddbb7add69bfbe0
2011-02-18 18:48:08 -08:00
Xavier Ducrohet
3e87bfa191 LayoutLib: support defStyleRes in obtainStyledAttributes.
This fix the Spinner rendering.

Change-Id: I20a71d9e07f6c86652a74fba3fc05a027a057ff8
2011-02-18 17:50:38 -08:00
Xavier Ducrohet
f20999965b LayoutLib: properly handle @null references in more places.
Change-Id: I240298ab79c19ab0e49cb6da19d6b0187493d3b5
2011-02-18 17:19:08 -08:00
Xavier Ducrohet
10df650f0d LayoutLib: add support for layout_only render.
Change-Id: I1cd791cf9560156c1ac488f8e454240c84e29cc6
2011-02-17 10:24:46 -08:00
Xavier Ducrohet
d06c1afbb9 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.

Change-Id: Ibe2f08d68493fde658fc3f7606abf7446f312ad2
2011-02-14 17:06:19 -08:00
Xavier Ducrohet
559358fdf6 am 1858c95e: am 02d2b5a4: LayoutLib: When possible ensure parsers are popped from the stack.
* commit '1858c95e99f81ac46eea93288cb8866260b3d5d8':
  LayoutLib: When possible ensure parsers are popped from the stack.
2011-02-14 09:59:58 -08:00
Xavier Ducrohet
1858c95e99 am 02d2b5a4: LayoutLib: When possible ensure parsers are popped from the stack.
* commit '02d2b5a4031c80bfe1012ce2f4f7b3695762abd9':
  LayoutLib: When possible ensure parsers are popped from the stack.
2011-02-14 09:57:17 -08:00
Xavier Ducrohet
02d2b5a403 LayoutLib: When possible ensure parsers are popped from the stack.
Some parser consumers (seems to be mostly resource inflation)
don't use the pull parser up to the END_DOCUMENT tag, making
the parser not pop itself from the parser stack automatically.

This is likely due to the XML resources being very shallow (1-2 levels
max), and the inflater just reading the content that it expects instead
of parsing till the document is done.

This ensures that *some* parsers are pop'ed from the stack when
used. Some other parsers we don't really control and hope the
user will parse till END_DOCUMENT.

Change-Id: Ie1f5762983fed2b2ae97b896218ae12b493e7ad9
2011-02-14 09:42:19 -08:00
Xavier Ducrohet
8a80a85552 LayoutLib: remove some exceptions.
We need to move away from throwing anything and instead
log errors/warnings.

Change-Id: Ib1af71a90c06e8565fbd0c061ba56f4d19baa3df
2011-02-09 19:39:52 -08:00
Xavier Ducrohet
9a4fe29c8d LayoutLib: Annotate the custom delegate methods.
Every method implementing a delegate needed by the
layoutlib_create bytecode modification must now be
annotated with LayoutlibDelegate.

The methods in the original source code that are delegated
are already automatically annotated. Now with the implementations
being annotated we can do bi-directional tests and find not
only missing implementations but also dead obsolete code.

This will be useful when backporting to earlier versions of
Android, or when native (non public) method disappear. In fact,
the new test detected one such method in Shader.

Change-Id: I491708b68ac2736ca5669aa86cd5e930a00f9db3
2011-02-09 17:29:29 -08:00
Xavier Ducrohet
f3f608452c LayoutLib: now depends on tools-common-prebuilt.
Change-Id: I11196c2363da378027fb8ca001e7dce0f58f657f
2011-02-09 16:19:43 -08:00
Xavier Ducrohet
024bbea215 am dc3fc3dc: Merge "LayoutLib: fix the background of title/action bars." into honeycomb
* commit 'dc3fc3dc2717461113a2963c224cb190457599d8':
  LayoutLib: fix the background of title/action bars.
2011-02-08 14:57:19 -08:00
Xavier Ducrohet
abc33e014d LayoutLib: fix the background of title/action bars.
The bars are supposed to sit on top of the window so
that if they are transparent (which is the default case
for the action bar), the window background shows through.

Fix this using a layout to represent the window content
(all but the system bar) in which the title/action bars
and the layout content sits. This layout receives the
windowBackground drawable.

Change-Id: I8072c5ff52f585fa32acb589d8526e1c13cbcd94
2011-02-07 20:33:44 -08:00
Xavier Ducrohet
5ac5388359 am 4dd2299d: LayoutLib: Update to latest API fix.
* commit '4dd2299d5766bf14479578772a0946c5399a0158':
  LayoutLib: Update to latest API fix.
2011-02-07 13:23:20 -08:00
Xavier Ducrohet
4dd2299d57 LayoutLib: Update to latest API fix.
Change-Id: I5147010e4f16a5c2ea0b98709c42f7ecd9412ff6
2011-02-07 13:05:40 -08:00
Xavier Ducrohet
80656fb71e am 62a99c0b: Merge "LayoutLib: Handle color state list in methods returning an int." into honeycomb
* commit '62a99c0b3bca70262ab205a5688ff69cbbbaee78':
  LayoutLib: Handle color state list in methods returning an int.
2011-02-07 10:22:32 -08:00
Xavier Ducrohet
62a99c0b3b Merge "LayoutLib: Handle color state list in methods returning an int." into honeycomb 2011-02-07 10:18:48 -08:00
Xavier Ducrohet
d96a7403cd LayoutLib: Handle color state list in methods returning an int.
Change-Id: Ia35ea09b992a239873026c7ef1629a01dd2e6cec
2011-02-06 21:05:21 -08:00
Xavier Ducrohet
181e321262 am 83d72da7: Merge "LayoutLib: improved rendering for system/title/action bars." into honeycomb
* commit '83d72da7f69f71fd20bd11fc4f98166532136248':
  LayoutLib: improved rendering for system/title/action bars.
2011-02-06 15:15:51 -08:00
Xavier Ducrohet
13bdc3355c LayoutLib: improved rendering for system/title/action bars.
Change-Id: I926531e9ad4a7b98e04e23cac3837794f7c89449
2011-02-06 10:58:16 -08:00