3046 Commits

Author SHA1 Message Date
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
Mike Lockwood
7896f1bd55 am c9b82ebb: am 3b7871c2: Merge "USB Manager string clean up:" into honeycomb-mr1
* commit 'c9b82ebb97411cf4a8494dc83f57039bb77937c5':
  USB Manager string clean up:
2011-03-15 13:49:14 -07:00
Mike Lockwood
3b7871c242 Merge "USB Manager string clean up:" into honeycomb-mr1 2011-03-15 13:34:06 -07:00
Mike Lockwood
ad5f83e91b USB Manager string clean up:
- Use "Cancel" instead of "Ignore"
- Customize the text for the "always use" checkbox for devices and accessories
- Clean up strings for AccessoryChat test program

Bug: 4074719

Change-Id: Ideec838e4c1f1a82ef4ae411c9124417ffb63165
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-15 16:23:40 -04:00
Stephen Hines
cc0773bd02 am ae2f3b3a: am c2db0d40: Merge "Make RS Matrix functions threadable." into honeycomb-mr1
* commit 'ae2f3b3a4629629914e6ad5d410594c7dbc856ee':
  Make RS Matrix functions threadable.
2011-03-15 13:01:30 -07:00
Jamie Gennis
e218208f6a am 0ea44ac0: am 00f47af8: Merge "SurfaceTexture: disallow unsupported uses." into honeycomb-mr1
* commit '0ea44ac0deb5cc95d60dd512c3a8f6a1bb69f5d1':
  SurfaceTexture: disallow unsupported uses.
2011-03-15 13:01:27 -07:00
Romain Guy
8390c7cf68 am 5c84a134: am a1bd5a5f: Merge "Fix disappearing edges in lists/scrollviews/etc. Bug #4093871" into honeycomb-mr1
* commit '5c84a1341b05e96f2c76da7252ed823ec3121102':
  Fix disappearing edges in lists/scrollviews/etc. Bug #4093871
2011-03-15 13:01:24 -07:00
Stephen Hines
c2db0d405b Merge "Make RS Matrix functions threadable." into honeycomb-mr1 2011-03-15 11:52:36 -07:00
Jamie Gennis
00f47af85a Merge "SurfaceTexture: disallow unsupported uses." into honeycomb-mr1 2011-03-15 11:39:24 -07:00
Romain Guy
a1bd5a5fd7 Merge "Fix disappearing edges in lists/scrollviews/etc. Bug #4093871" into honeycomb-mr1 2011-03-15 11:31:22 -07:00
Romain Guy
ad37cd3b5d Fix disappearing edges in lists/scrollviews/etc.
Bug #4093871

This bug was introduced by a change that modified the way fade areas
are cleared. The previous change relied on Rect::intersect() to empty
the intersected rect when the two rects don't intersect. Unfortunately
this is not what intersect() does. The fix is rather simple and
sets the layer's bounds to empty when they don't intersect with the
clip or the viewport. This has the side effect of ignoring the layer
which is the expected result.

Change-Id: Icf0038b9a476c53f8eff7084136aba3033d093e6
2011-03-15 11:12:25 -07:00
Jamie Gennis
4a1f8a4e87 am c570ee21: am 41a894ad: am 75597105: Merge "SurfaceTextureClient: Add ISurfaceTexture getter." into honeycomb-mr1
* commit 'c570ee21e2c2b9802c9d1f58dba024e884b225e6':
  SurfaceTextureClient: Add ISurfaceTexture getter.
2011-03-15 10:45:01 -07:00
Jamie Gennis
f38d253ccd am ceb7cb14: am 02805a40: Merge "ANativeWindow: add query for the concrete type." into honeycomb-mr1
* commit 'ceb7cb1460484eda1a3cb9cd271d7caf3a3dcbd1':
  ANativeWindow: add query for the concrete type.
2011-03-15 10:42:06 -07:00
Jamie Gennis
bae716bc15 SurfaceTexture: disallow unsupported uses.
This change makes the ANativeWindow_lock NDK function error out if it is
passed an ANativeWindow with a concrete type that is not Surface.  It
also makes eglCreateWindowSurface fail if it is passed a
SurfaceTextureClient as its 'window' argument.

Bug: 4087277
Change-Id: Ie68c50c52d88f72d8a387f6c094908044c83a88c
2011-03-15 10:37:37 -07:00
Jamie Gennis
75597105e6 Merge "SurfaceTextureClient: Add ISurfaceTexture getter." into honeycomb-mr1 2011-03-15 10:34:35 -07:00
Jamie Gennis
02805a40d4 Merge "ANativeWindow: add query for the concrete type." into honeycomb-mr1 2011-03-15 10:33:35 -07:00
Stephen Hines
413bce45ba Make RS Matrix functions threadable.
BUG=4100079

Change-Id: I6cefa0eab42481fa974077d6aed98007f9fd87f7
2011-03-14 19:16:19 -07:00
Romain Guy
8329db39f2 am b245e31f: am ee7ace06: Merge "Fix rendering artifact in edge fades. Bug #4092053" into honeycomb-mr1
* commit 'b245e31fa8dd1ad6a59ccf858154f3c7b92e0eb8':
  Fix rendering artifact in edge fades. Bug #4092053
2011-03-14 18:21:21 -07:00
Romain Guy
ee7ace065f Merge "Fix rendering artifact in edge fades. Bug #4092053" into honeycomb-mr1 2011-03-14 18:16:39 -07:00
Romain Guy
7b5b6abf85 Fix rendering artifact in edge fades.
Bug #4092053

The problem always existed but was made visible by partial invalidation.
When saving a layer, the renderer would try to postpone glClear()
operations until the next drawing command. This however does not work
since the clip might have changed. The fix is rather simple and
simply gets rid of this "optimization" (that turned out to be
usless anyway given how View issues saveLayer() calls.)

This change also fixes an issue with gradients (color stops where
not properly computed when using a null stops array) and optimizes
display lists rendering (quickly rejects larger portions of the
tree to avoid executing unnecessary code.)

Change-Id: I0f5b5f6e1220d41a09cc2fa84c212b0b4afd9c46
2011-03-14 18:05:08 -07:00
Jamie Gennis
f0ac2649df am adf565f0: am 1a0452b7: am 122dd099: Merge "SurfaceTexture: fix transform matrix computation." into honeycomb-mr1
* commit 'adf565f02676a8f41b572d23123695e732ffd321':
  SurfaceTexture: fix transform matrix computation.
2011-03-14 17:51:48 -07:00
Mike Lockwood
688d8412bd am 0958fb10: am 221830b9: Merge "Add support for USB accessory serial numbers" into honeycomb-mr1
* commit '0958fb1068ee1b5e6c40eee16d943a664b1124b4':
  Add support for USB accessory serial numbers
2011-03-14 17:47:49 -07:00
Jamie Gennis
f95a9f019d SurfaceTextureClient: Add ISurfaceTexture getter.
This change adds a getter method to SurfaceTextureClient to get the
ISurfaceTexture object with which the SurfaceTextureClient is
communicating.

Bug: 4086509
Change-Id: Ifec621e0fe5392a5be56b2348fdc54067cbebcdd
2011-03-14 17:47:11 -07:00
Jamie Gennis
c4ca7c5114 ANativeWindow: add query for the concrete type.
This change adds a query to the ANativeWindow interface for getting the
concrete type of the ANativeWindow.

Bug: 4086509
Change-Id: I64aa86d72fbca3b52a98e1fc35608737781a3178
2011-03-14 17:47:11 -07:00
Jamie Gennis
122dd0999f Merge "SurfaceTexture: fix transform matrix computation." into honeycomb-mr1 2011-03-14 17:42:48 -07:00
Mike Lockwood
015b1ecaec Add support for USB accessory serial numbers
Change-Id: I47b79f091b300ced60bfc61eff2f771139663aae
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-14 20:10:47 -04:00
Iliyan Malchev
3070af0882 frameworks/base: remove LOCAL_PRELINK_MODULE
Change-Id: I54dd62ebef47e7690afa5a858f3cad941b135481
Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-03-14 14:25:59 -07:00
Jeff Brown
ace13b1786 Use touch pad gestures to manipulate the pointer.
1. Single finger tap performs a click.
2. Single finger movement moves the pointer (hovers).
3. Button press plus movement performs click or drag.
   While dragging, the pointer follows the finger that is moving
   fastest.  This is important if there are additional fingers
   down on the touch pad for the purpose of applying force
   to an integrated button underneath.
4. Two fingers near each other moving in the same direction
   are coalesced as a swipe gesture under the pointer.
5. Two or more fingers moving in arbitrary directions are
   transformed into touches in the vicinity of the pointer.
   This makes scale/zoom and rotate gestures possible.

Added a native VelocityTracker implementation to enable intelligent
switching of the active pointer during drags.

Change-Id: I5ada57e7f2bdb9b0a791843eb354a8c706b365dc
2011-03-14 14:12:03 -07:00
Jamie Gennis
f3cedb6021 SurfaceTexture: fix transform matrix computation.
This change fixes the transform matrix computation in SurfaceTexture
when a crop rectangle is specified by the image producer.  It also adds
a test for this case as well as a basic test for the uncropped case.

Bug: 4070775
Change-Id: I1481c9ce9d08fe7f2bff86d3afdeab7d4002b157
2011-03-14 11:30:16 -07:00
Mike Lockwood
e1976e5c61 am 3b473d95: am 9fffd9a8: Merge "USB: minor cleanup work" into honeycomb-mr1
* commit '3b473d958c46ea6511b9599f727b47636e5cbc4a':
  USB: minor cleanup work
2011-03-11 23:10:41 -08:00
Mike Lockwood
62cfeeb821 USB: minor cleanup work
Bug: 4067029

Change-Id: Icd8f912ab8732b5f770a217b9b3731092597ce02
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-11 18:51:29 -05:00
Jamie Gennis
3cf78f59c0 am 34bb677f: am b2e606f5: Merge "SurfaceFlinger: Respect the PROTECTED gralloc bit." into honeycomb-mr1
* commit '34bb677f3fa7f3e476849df3c7873256a463f598':
  SurfaceFlinger: Respect the PROTECTED gralloc bit.
2011-03-10 18:10:24 -08:00
Jamie Gennis
b2e606f5f1 Merge "SurfaceFlinger: Respect the PROTECTED gralloc bit." into honeycomb-mr1 2011-03-10 18:06:32 -08:00
Jamie Gennis
f72606ce3e SurfaceFlinger: Respect the PROTECTED gralloc bit.
This change makes SurfaceFlinger treat layers for which the active
buffer has the GRALLOC_USAGE_PROTECTED bit set as if they have the
'secure' flag set.

Change-Id: Ic60b6513a63e4bb92ec6ce9fd12fd39b4ba5f674
Bug: 4081304
2011-03-10 16:25:48 -08:00
Mike Lockwood
26d7eef69e am 84edf14b: am cc08c439: Merge "UsbAccessory: Add URI string, replace type string with description" into honeycomb-mr1
* commit '84edf14b62eaf3304252bb76b0b2ca3f518c8d54':
  UsbAccessory: Add URI string, replace type string with description
2011-03-10 07:56:59 -08:00
Mike Lockwood
cc08c439bc Merge "UsbAccessory: Add URI string, replace type string with description" into honeycomb-mr1 2011-03-10 07:50:30 -08:00
Mike Lockwood
ac36d7c715 UsbAccessory: Add URI string, replace type string with description
This is a first step toward adding USB accessory URI support

BUG: 4073248

Modified USB accessory matching logic to look only at manufacturer, model and version
(description and URI are not considered when matching apps to accessories)

Also added test for USB accessory protocol version to accessorytest

BUG: 4080288

Change-Id: I992a3433c74efa7a7db37bf030f02c1f0c92f9e2
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-09 22:12:49 -05:00
Jeff Brown
5a3d6cc188 am e6f0ae12: am efd3266b: Input improvements and bug fixes.
* commit 'e6f0ae12b18819424dd8395b433a8fc9caefa77b':
  Input improvements and bug fixes.
2011-03-09 18:39:46 -08:00
Jeff Brown
efd3266b71 Input improvements and bug fixes.
Associate each motion axis with the source from which it comes.
It is possible for multiple sources of the same device to define
the same axis.  This fixes new API that was introduced in MR1.
(Bug: 4066146)

Fixed a bug that might cause a segfault when using a trackball.

Only fade out the mouse pointer when touching the touch screen,
ignore other touch pads.

Changed the plural "sources" to "source" in several places in
the InputReader where we intend to refer to a particular source
rather than to a combination of sources.

Improved the batching code to support batching events from different
sources of the same device in parallel.  (Bug: 3391564)

Change-Id: I0189e18e464338f126f7bf94370b928e1b1695f2
2011-03-09 18:30:28 -08:00
Mike Lockwood
8fe7ca1d7d am 18d8a074: am 564f12eb: Merge changes Ifd78cca3,Ieadb86fe,If5b44ebd into honeycomb-mr1
* commit '18d8a0748d3c42a31799e5ce7c7f4c2fd63d1896':
  MTP: Convert date created and modified values from seconds to milliseconds
  Update USB accessory compatibility library to support new requestPermission API
  UsbService: Don't require permissions for UsbManager.getCurrentAccessory()
2011-03-09 15:53:43 -08:00
Mike Lockwood
564f12ebe4 Merge changes Ifd78cca3,Ieadb86fe,If5b44ebd into honeycomb-mr1
* changes:
  MTP: Convert date created and modified values from seconds to milliseconds
  Update USB accessory compatibility library to support new requestPermission API
  UsbService: Don't require permissions for UsbManager.getCurrentAccessory()
2011-03-09 15:47:10 -08:00
Jamie Gennis
25ea3eeb09 am 7b13e27e: am 6167a390: Merge "ANativeWindow: add queues-to-window-composer check." into honeycomb-mr1
* commit '7b13e27ee4a42c205b4a20d145610e8c912e7b0c':
  ANativeWindow: add queues-to-window-composer check.
2011-03-09 15:03:04 -08:00
Jamie Gennis
6167a390e3 Merge "ANativeWindow: add queues-to-window-composer check." into honeycomb-mr1 2011-03-09 14:47:56 -08:00
Stephen Hines
96e11e9ea6 am 67eab1e9: am c8a4b11e: Merge "Fix a race condition during Context init/teardown." into honeycomb-mr1
* commit '67eab1e9cd9a7bfb1a32492cdaa6f52bf470e11d':
  Fix a race condition during Context init/teardown.
2011-03-09 14:35:55 -08:00
Mike Lockwood
580b641117 Update USB accessory compatibility library to support new requestPermission API
BUG: 4069037

Change-Id: Ieadb86fed577eeb7697d524e8a684ea6ea632f39
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-09 16:46:35 -05:00
Stephen Hines
cac8228e9c Fix a race condition during Context init/teardown.
This change makes Context initialization wait properly for all threads to be
available before leaving initContext(). This prevents a case where ~Context()
gets called before all created threads have started/finished their work. This
was triggered/discovered by running some very short-lived tests in CTS.

BUG=4064203

Change-Id: I1dd6f43fa7942c53881008e857df864e2395202e
2011-03-08 16:54:23 -08:00
Jamie Gennis
d2acedf18c ANativeWindow: add queues-to-window-composer check.
This change adds a new 'method' to the ANativeWindow interface to check
whether buffers queued to the window will be sent directly to the system
window compositor.

Change-Id: I4d4b199e328c110b68b250029aea650f03c8724d
Bug: 3495535
2011-03-08 16:49:51 -08:00
Romain Guy
f7098ce95d am d00353fe: am bc8a8e8c: Merge "Add support for partial invalidates in WebView Bug #3461349" into honeycomb-mr1
* commit 'd00353fe3191571a6773ef2d11921cfcff260bc4':
  Add support for partial invalidates in WebView Bug #3461349
2011-03-07 22:45:52 -08:00
Romain Guy
bc8a8e8c92 Merge "Add support for partial invalidates in WebView Bug #3461349" into honeycomb-mr1 2011-03-07 22:40:27 -08:00