5572 Commits

Author SHA1 Message Date
Dianne Hackborn
36cd41f8ef Spiffy new compatibility mode UI.
Change-Id: I1207eaafae59a434fcc979ad60a83e2d685288af
2011-05-25 21:08:37 -07:00
Jeff Brown
a4e747445a am fa574c0e: Merge "Touch pad UX improvements." into honeycomb-mr2
* commit 'fa574c0e0ce7f84eea34e96dededea35329dbd18':
  Touch pad UX improvements.
2011-05-25 19:16:39 -07:00
Jeff Brown
538881e183 Touch pad UX improvements.
Fade the pointer spot when swiping or performing a freeform
gesture.

Support configuring the gesture mode in the device IDC file.

Added workaround for devices that report individual finger
movements one at a time instead of all at once.

Bug: 4124987
Change-Id: I44628b00382ad59306e4ec5c4717d69cc6fbebb8
2011-05-25 19:08:49 -07:00
Jeff Brown
919a2efeef am 5665770b: Merge "Fix deadlock in dispatcher. (DO NOT MERGE)" into honeycomb-mr2
* commit '5665770bc4449a96f2365bec71fb012ca2e7bc81':
  Fix deadlock in dispatcher. (DO NOT MERGE)
2011-05-25 18:58:22 -07:00
Jeff Brown
2cb7981e70 Fix deadlock in dispatcher. (DO NOT MERGE)
This regression was caused due to a bad cherry-pick / merge.

Change-Id: I79e84285bbfd4cd4b66681461543fb185b60d3ba
2011-05-25 18:53:49 -07:00
Jeff Brown
6ef142a050 am b416e241: Fix bug reporting presence of orientation axis. (DO NOT MERGE)
* commit 'b416e241db85b678cdfcdee1c74a7f356a5554ef':
  Fix bug reporting presence of orientation axis. (DO NOT MERGE)
2011-05-25 14:45:51 -07:00
Jeff Brown
53c3d5b1d5 am 325bd07b: Add tap/drag touchpad gesture. (DO NOT MERGE)
* commit '325bd07b311f8ba68079000e9fe8afbcc076d7b6':
  Add tap/drag touchpad gesture. (DO NOT MERGE)
2011-05-25 14:43:37 -07:00
Jeff Brown
8148cc3e47 am 86ea1f5f: Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
* commit '86ea1f5f521981d075aef56f11693e4f3bc32fdb':
  Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
2011-05-25 14:43:34 -07:00
Jeff Brown
e8dc05aa6d am a6dbfdd3: Add a sprite controller. (DO NOT MERGE)
* commit 'a6dbfdd3a858aac52cc87f80f91e8eef7d613605':
  Add a sprite controller. (DO NOT MERGE)
2011-05-25 14:43:26 -07:00
Jeff Brown
d5358874e2 am 5ced76a1: Coalesce input events that arrive faster than 333Hz. (DO NOT MERGE)
* commit '5ced76a14350db56f1a80f00076f8be3d982c389':
  Coalesce input events that arrive faster than 333Hz. (DO NOT MERGE)
2011-05-25 14:43:23 -07:00
Jeff Brown
dd2534c291 am 7157f6fe: Allow batching samples onto the pending motion event. (DO NOT MERGE)
* commit '7157f6fe13ab7e2fef44cc33c95d1c531418220f':
  Allow batching samples onto the pending motion event. (DO NOT MERGE)
2011-05-25 14:43:20 -07:00
Jeff Brown
b416e241db Fix bug reporting presence of orientation axis. (DO NOT MERGE)
Change-Id: I20aecca392d2843601e6e0ec4ac913c8ccdbbf89
2011-05-25 14:37:18 -07:00
Jeff Brown
325bd07b31 Add tap/drag touchpad gesture. (DO NOT MERGE)
The mapper sends a DOWN when the finger is released then starts
a short timer.  If the finger is not pressed again before the timer
elapses, then the mapper sends an UP to complete the tap.  If the
finger is pressed again then the mapper starts sending MOVEs
as part of a drag.

Double/triple taps work as intended because we also start watching
for a new tap when the finger is pressed again.  If a new tap
occurs the old tap is also finished.  So each individual finger
short press/release cycle constitutes a distinct tap.

Change-Id: Id0a6ee10dd27e723f6cb04e56b43939abe9e940c
2011-05-25 14:37:17 -07:00
Jeff Brown
86ea1f5f52 Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)
Added a new PointerIcon API (hidden for now) for loading
pointer icons.

Fixed a starvation problem in the native Looper's sendMessage
implementation which caused new messages to be posted ahead
of old messages sent with sendMessageDelayed.

Redesigned the touch pad gestures to be defined in terms of
more fluid finger / spot movements.  The objective is to reinforce
the natural mapping between fingers and spots which means there
must not be any discontinuities in spot motion relative to
the fingers.

Removed the SpotController stub and folded its responsibilities
into PointerController.

Change-Id: Ib647dbd7a57a7f30dd9c6e2c260df51d7bbdd18e
2011-05-25 14:37:17 -07:00
Jeff Brown
a6dbfdd3a8 Add a sprite controller. (DO NOT MERGE)
Refactored PointerController to extract the surface management
code to a new component called a SpriteController so that it can
be used to move finger tracking spots around the screen as well.
The SpriteController is designed to fully decouple the client from
any latency introduced by surface transactions and drawing.
All sprite updates are performed asynchronously on the Looper using
a copy of the sprite state.

Added a stub SpotController implementation for touch pad UX.
It will be implemented in a subsequent patch.

Fixed a little bug in pointer orientation changes when entering
DISPLAY_ORIENTATION_90 the x offset was clobbered.

Change-Id: I6d59d80df9af61e93af50290e7776337d10c9d5a
2011-05-25 14:37:16 -07:00
Jeff Brown
5ced76a143 Coalesce input events that arrive faster than 333Hz. (DO NOT MERGE)
Some drivers report individual finger updates one at a time
instead of all at once.  When 10 fingers are down, this can
cause the framework to have to handle 10 times as many events
each with 10 times as much data.  Applications like
PointerLocation would get significantly bogged down by all
of the redundant samples.

This change coalesces samples that are closely spaced in time,
before they are dispatched, as part of the motion event batching
protocol.

Increased the size of the InputChannel shared memory buffer so
that applications can catch up faster if they accumulate a
backlog of samples.

Change-Id: Ibc6abf8af027d9003011ac75caa12941080caba3
2011-05-25 14:37:16 -07:00
Jeff Brown
7157f6fe13 Allow batching samples onto the pending motion event. (DO NOT MERGE)
This enlarges the window of opportunity for batching to
encompass time spent for the window to become ready (while it is
busy processing the last event).

Change-Id: I8870cc3081d27a4de659fb4e375f888fe966460b
2011-05-25 14:37:15 -07:00
Jeff Brown
16f1d2ca00 am 36001a9f: Merge "Support chorded fallback keys. (DO NOT MERGE)" into honeycomb-mr2
* commit '36001a9f48a1ff70504db4d2d8039f4a5f385caa':
  Support chorded fallback keys. (DO NOT MERGE)
2011-05-25 14:35:58 -07:00
Jeff Brown
32b7bcc877 am c2d200d4: Merge "Fix focused application handle. (DO NOT MERGE)" into honeycomb-mr2
* commit 'c2d200d4fbf3b0a39bf7518cd9d97afec061c6bb':
  Fix focused application handle. (DO NOT MERGE)
2011-05-25 14:35:42 -07:00
Jeff Brown
8ea6e6411c am 266ea6b0: Merge "Optimize EventHub to process events in big chunks. (DO NOT MERGE)" into honeycomb-mr2
* commit '266ea6b091d572eaa153e70574da97752b97180b':
  Optimize EventHub to process events in big chunks. (DO NOT MERGE)
2011-05-25 14:35:34 -07:00
Jeff Brown
af685f3bb5 am 85a7f99c: Merge "Refactor how timeouts are calculated. (DO NOT MERGE)" into honeycomb-mr2
* commit '85a7f99cfe066f054d4ddf4feb737f0395c9943b':
  Refactor how timeouts are calculated. (DO NOT MERGE)
2011-05-25 14:35:21 -07:00
Jeff Brown
16330e2496 am 94e838f6: Merge "Improve VelocityTracker numerical stability. (DO NOT MERGE)" into honeycomb-mr2
* commit '94e838f6e113f8cad30086a18f68da99976101d0':
  Improve VelocityTracker numerical stability. (DO NOT MERGE)
2011-05-25 14:34:57 -07:00
Jeff Brown
4bd89fb00f am 82e4373e: Merge "Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)" into honeycomb-mr2
* commit '82e4373ed3775395a23d161e58c003e82511921a':
  Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)
2011-05-25 14:34:48 -07:00
Jeff Brown
36001a9f48 Merge "Support chorded fallback keys. (DO NOT MERGE)" into honeycomb-mr2 2011-05-25 14:32:05 -07:00
Jeff Brown
c2d200d4fb Merge "Fix focused application handle. (DO NOT MERGE)" into honeycomb-mr2 2011-05-25 14:32:00 -07:00
Jeff Brown
266ea6b091 Merge "Optimize EventHub to process events in big chunks. (DO NOT MERGE)" into honeycomb-mr2 2011-05-25 14:31:54 -07:00
Jeff Brown
85a7f99cfe Merge "Refactor how timeouts are calculated. (DO NOT MERGE)" into honeycomb-mr2 2011-05-25 14:31:50 -07:00
Jeff Brown
94e838f6e1 Merge "Improve VelocityTracker numerical stability. (DO NOT MERGE)" into honeycomb-mr2 2011-05-25 14:31:44 -07:00
Jeff Brown
82e4373ed3 Merge "Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)" into honeycomb-mr2 2011-05-25 14:31:38 -07:00
Joe Onorato
2c09a9c0e9 am 5520610c: Merge "Make adb shell am display-size persistent." into honeycomb-mr2
* commit '5520610cb2612054c5d0bcec9d031f7b71faa349':
  Make adb shell am display-size persistent.
2011-05-25 11:43:06 -07:00
Joe Onorato
5520610cb2 Merge "Make adb shell am display-size persistent." into honeycomb-mr2 2011-05-25 11:40:59 -07:00
Joe Onorato
571ae90801 Make adb shell am display-size persistent.
Change-Id: If3d5d18729f4e89eb7e689994deadd996fd487e9
2011-05-25 11:40:21 -07:00
Dianne Hackborn
d6f29cd8f9 am 2a15eb55: Merge "Fix issue #4445007: DPM initializes some values to 1, instead of 0" into honeycomb-mr2
* commit '2a15eb559cfc18800b3e345995df76695a3ae4b2':
  Fix issue #4445007: DPM initializes some values to 1, instead of 0
2011-05-25 11:14:13 -07:00
Dianne Hackborn
d998acb349 Fix issue #4445007: DPM initializes some values to 1, instead of 0
Also fix not writing the settings file when an admin is removed.

And take care of an old to-do about not removing an admin until
after it has received the broadcast about it being disabled.

Change-Id: I4ebe0ea0461222b65425b2c5438b646b572f18c8
2011-05-25 10:51:27 -07:00
Jeff Brown
524ee64b91 Support chorded fallback keys. (DO NOT MERGE)
Also be more careful about canceling fallback keys during focus
transitions, when the application handles the key, or when the
policy decides to do something different.

Fixed a crash due to JNI CallObjectMethod returning an undefined
value (not null) when an exception is thrown.

Fixed a crash due to the policy trying to create a Dialog for
recent apps on the dispatcher thread.  It should happen on the
policy's Looper instead.

Bug: 4187302
Change-Id: I043f82913830f411b3bb4018d6422467b6ca454f
2011-05-24 15:21:46 -07:00
Jeff Brown
22d789d580 Fix focused application handle. (DO NOT MERGE)
Fix a bug where we were always setting the focused application
handle to NULL.  This broke ANR processing while starting
applications and caused input events to be dropped while
starting applications.

Bug: 4174573
Change-Id: Ice7ce3a2b65219568a8227fc1383bafb294666b5
2011-05-24 15:21:46 -07:00
Jeff Brown
dbf8d27f4c Optimize EventHub to process events in big chunks. (DO NOT MERGE)
When 10 fingers are down, reduces the CPU time spent by the InputReader
thread from ~30% to ~5% on Stingray.

Change-Id: I42ee5c67b8521af715cbab43e763a4af4eb1f914
2011-05-24 15:21:21 -07:00
Mike Lockwood
c0d9834a1c am 5d78e0b8: Merge "GPS: Change NTP polling interval from 4 to 24 hours" into honeycomb-mr2
* commit '5d78e0b8ea548da3fa88ae2190a9334297b992b6':
  GPS: Change NTP polling interval from 4 to 24 hours
2011-05-23 18:04:44 -07:00
Mike Lockwood
5d78e0b8ea Merge "GPS: Change NTP polling interval from 4 to 24 hours" into honeycomb-mr2 2011-05-23 18:01:50 -07:00
Mike Lockwood
4c12606852 GPS: Change NTP polling interval from 4 to 24 hours
4 hours is excessive, and we want to save bandwidth on the NTP servers

Change-Id: Ic5ac4f4a8e62167206f3f620ea51635a2ea771d6
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-23 20:57:43 -04:00
Jeff Brown
68d6075b4a Refactor how timeouts are calculated. (DO NOT MERGE)
Added a timeout mechanism to EventHub and InputReader so that
InputMappers can request timeouts to perform delayed processing of
input when needed.

Change-Id: I89c1171c9326c6e413042e3ee13aa9f7f1fc0454
2011-05-23 17:20:42 -07:00
Jeff Brown
5b2b4d9c0a Improve VelocityTracker numerical stability. (DO NOT MERGE)
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: I95054102397c4b6a9076dc6a0fc841b4beec7920
2011-05-23 17:19:59 -07:00
Jeff Brown
96ad3979f3 Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)
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: I7b7ddacc724fb1306e1590dbaebb740d3130d7cd
2011-05-23 17:19:38 -07:00
Mike Lockwood
d8d8470825 am 988b6648: Merge "MountService: Add StorageVolume as extra in storage related broadcasts." into honeycomb-mr2
* commit '988b6648b0138fe1294228e17164b2f1d6a4042d':
  MountService: Add StorageVolume as extra in storage related broadcasts.
2011-05-23 17:06:47 -07:00
Mike Lockwood
a5250c9392 MountService: Add StorageVolume as extra in storage related broadcasts.
Change-Id: I8e1a21ae233ba9812e58b363b59a66b260a01cbf
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-23 20:01:55 -04:00
Robert Greenwalt
599115894f Simplfy getActive* calls in ConnectivityService
One had been simplified on GB, but somehow it didn't make it here.
bug: 4463770

Change-Id: Ica51e836b1a7a489526a223168910b8e06c99c2b
2011-05-20 12:23:41 -07:00
satok
d9435bcecc am b4788fdb: Do not merge. Backport two fixes for InputMethethodFramework
* commit 'b4788fdbfdda97bd9cfd0e483276934114d9c438':
  Do not merge. Backport two fixes for InputMethethodFramework
2011-05-20 06:41:03 -07:00
satok
b4788fdbfd Do not merge. Backport two fixes for InputMethethodFramework
Bug: 3420384

backport cl1: Iaf293cf6c6fb35a994f344b0afc30e9f523032f4
backport cl2: I29d2555aeb7d0e51205d9f1fe0da708df0890942

Change-Id: Ia71ba27957fa818dc4ef8ff05b5fdb120b9650e0
2011-05-20 22:11:54 +09:00
Dianne Hackborn
c851ea5672 am 69cb8757: Add new "-swNNNdp" resource qualifier.
* commit '69cb87576ba163b61bb0e6477a3b7c57a9b11d40':
  Add new "-swNNNdp" resource qualifier.
2011-05-19 19:30:32 -07:00
Dianne Hackborn
69cb87576b Add new "-swNNNdp" resource qualifier.
Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
2011-05-19 18:23:29 -07:00