951 Commits

Author SHA1 Message Date
Xavier Ducrohet
efa98a29e0 am 8a18dba4: Merge c5aeac7f from honeycomb.
* commit '8a18dba48c354fc47056b07ddec8a32fda266b6a':
  Merge c5aeac7f from honeycomb.
2011-04-06 19:08:02 -07:00
Xavier Ducrohet
59aad78eae LayoutLib: don't render when shader's local matrix is set to 0 scale.
Change-Id: I7726d87f3dd0475ac662f535a08c6435b8b9ed1f
2011-04-06 17:03:31 -07:00
Xavier Ducrohet
8a18dba48c Merge c5aeac7f from honeycomb.
LayoutLib: Fix issue with rendering mode.

When the layout content is embedded inside a decor layout
to emulate system bar (top or bottom) and title bar (or action bar)
then the code computing the full required size based on the RenderingMode
would fail because the decor layout would prevents the content layout to
take as much room as possible.
There is also an issue with the way we know render dialogs as the
dialogs usually as a frame with some padding and the previous measurements
would not take into account the dialog padding when increasing the
screen size.

This fix makes the code measure the size of the content layout in the
normal rendering, and then separately from the root layout with the proper
MeasureSpec to let the content grown. The difference in size is then added
to the screen size.

Bug: http://code.google.com/p/android/issues/detail?id=15892

Change-Id: Ie9a6c5e254b16785f817dcb9fae755d4936880aa
2011-04-06 14:24:59 -07:00
Xavier Ducrohet
b4af696054 am d7765e35: am 73dc2602: am c5aeac7f: LayoutLib: Fix issue with rendering mode.
* commit 'd7765e353cdc6f0bb4156841a8436ea28eb20eea':
  LayoutLib: Fix issue with rendering mode.
2011-04-06 13:19:57 -07:00
Dianne Hackborn
3fc982f41f Add new resource configurations for screen width/height in "dp".
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.

Change-Id: I22f8afa136b4f274423978c570fa7c9855040496
2011-04-06 11:00:37 -07:00
Xavier Ducrohet
c5aeac7f15 LayoutLib: Fix issue with rendering mode.
When the layout content is embedded inside a decor layout
to emulate system bar (top or bottom) and title bar (or action bar)
then the code computing the full required size based on the RenderingMode
would fail because the decor layout would prevents the content layout to
take as much room as possible.
There is also an issue with the way we know render dialogs as the
dialogs usually as a frame with some padding and the previous measurements
would not take into account the dialog padding when increasing the
screen size.

This fix makes the code measure the size of the content layout in the
normal rendering, and then separately from the root layout with the proper
MeasureSpec to let the content grown. The difference in size is then added
to the screen size.

Bug: http://code.google.com/p/android/issues/detail?id=15892

Change-Id: Ibb9ca2a67c6c450d10d9f9a8050536e094650f8b
2011-04-05 20:45:48 -07:00
Mårten Kongstad
57f4b77c89 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.

Change-Id: If26ee7754813004a96c043dba37fbe99fa3919db
2011-04-01 14:12:10 +02:00
Xavier Ducrohet
3a90ec4e6b am c7c8c599: Merge 67450db0 from honeycomb. Do not merge.
* commit 'c7c8c599a636a105db0d2eac3b8b332532a7a40f':
  Merge 67450db0 from honeycomb. Do not merge.
2011-03-17 16:21:20 -07:00
Xavier Ducrohet
c7c8c599a6 Merge 67450db0 from honeycomb. Do not merge.
Change-Id: I0ca140dd6d9279ff313f930739ad40fbbed4f335
LayoutLib: TypedArray.getDimensionPixelSize can actually return <0
2011-03-17 14:24:50 -07:00
Xavier Ducrohet
f0da151e78 am 47b42991: am a0215953: am 026d6be2: Merge "LayoutLib: TypedArray.getDimensionPixelSize can actually return <0" into honeycomb-mr1
* commit '47b42991203b7f8e337b1612d601ed120596ef71':
  LayoutLib: TypedArray.getDimensionPixelSize can actually return <0
2011-03-17 14:20:38 -07:00
Xavier Ducrohet
67450db03e LayoutLib: TypedArray.getDimensionPixelSize can actually return <0
Change-Id: I17853dc242e28f0c59916cad1b2a57beed480a57
2011-03-17 14:11:23 -07:00
Jeff Brown
843e29d375 Merge "Improve VelocityTracker numerical stability." 2011-03-15 20:01:16 -07:00
Jeff Brown
2ed2462aa2 Improve VelocityTracker numerical stability.
Replaced VelocityTracker with a faster and more accurate
native implementation.  This avoids the duplicate maintenance
overhead of having two implementations.

The new algorithm requires that the sample duration be at least
10ms in order to contribute to the velocity calculation.  This
ensures that the velocity is not severely overestimated when
samples arrive in bursts.

The new algorithm computes the exponentially weighted moving
average using weights based on the relative duration of successive
sample periods.

The new algorithm is also more careful about how it handles
individual pointers going down or up and their effects on the
collected movement traces.  The intent is to preserve the last
known velocity of pointers as they go up while also ensuring
that other motion samples do not count twice in that case.

Bug: 4086785
Change-Id: I2632321232c64d6b8faacdb929e33f60e64dcdd3
2011-03-15 19:59:47 -07:00
Xavier Ducrohet
b7b877a45f am 0a98226e: Merge 9d76581f from honeycomb. do not merge.
* commit '0a98226e3c8cda46786558147a0eb6a56c3370c0':
  Merge 9d76581f from honeycomb. do not merge.
2011-03-15 11:41:13 -07:00
Xavier Ducrohet
a82a219a7a am b243aabd: Merge adaa12cd from honeycomb. do not merge.
* commit 'b243aabdaf1ba6fdfc0579c9f949e00d562456ed':
  Merge adaa12cd from honeycomb. do not merge.
2011-03-15 11:41:10 -07:00
Xavier Ducrohet
f89c37295d am 48a2a5ad: Merge "Merge 6f2fb570 from honeycomb. do not merge." into gingerbread
* commit '48a2a5ad1b7c4979b1d7baf6add4bc32148a75ae':
  Merge 6f2fb570 from honeycomb. do not merge.
2011-03-15 11:37:01 -07:00
Xavier Ducrohet
405cb57019 am 14e1f523: Merge "Merge c12b4093 from honeycomb. do not merge." into gingerbread
* commit '14e1f523c673315cbc3167448ce9252b455d252c':
  Merge c12b4093 from honeycomb. do not merge.
2011-03-15 11:36:57 -07:00
Xavier Ducrohet
0a98226e3c Merge 9d76581f from honeycomb. do not merge.
LayoutLib: Fix Arc rendering.

Looks like Java2D and Skia go in different directions for angles.

Change-Id: I4d72db56455afe25b4f51f23a9b29d6c438119ba
2011-03-15 11:34:19 -07:00
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