6160 Commits

Author SHA1 Message Date
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
14c45e2ef9 am 16f1d2ca: am 36001a9f: Merge "Support chorded fallback keys. (DO NOT MERGE)" into honeycomb-mr2
* commit '16f1d2ca00a2c793e510edba5266a6d0998efbfc':
  Support chorded fallback keys. (DO NOT MERGE)
2011-05-25 14:42:30 -07:00
Jeff Brown
92693bce93 am 32b7bcc8: am c2d200d4: Merge "Fix focused application handle. (DO NOT MERGE)" into honeycomb-mr2
* commit '32b7bcc877e6e3de97d3ee129790a6f1eae400fc':
  Fix focused application handle. (DO NOT MERGE)
2011-05-25 14:42:27 -07:00
Jeff Brown
54bd4caeab am 8ea6e641: am 266ea6b0: Merge "Optimize EventHub to process events in big chunks. (DO NOT MERGE)" into honeycomb-mr2
* commit '8ea6e6411c9616da4add0d6304a7b2f453356889':
  Optimize EventHub to process events in big chunks. (DO NOT MERGE)
2011-05-25 14:42:24 -07:00
Jeff Brown
8e5799ed16 am af685f3b: am 85a7f99c: Merge "Refactor how timeouts are calculated. (DO NOT MERGE)" into honeycomb-mr2
* commit 'af685f3bb566f297deee1615d55d4f33d5580ba3':
  Refactor how timeouts are calculated. (DO NOT MERGE)
2011-05-25 14:42:20 -07:00
Jeff Brown
7d0fb57044 am 16330e24: am 94e838f6: Merge "Improve VelocityTracker numerical stability. (DO NOT MERGE)" into honeycomb-mr2
* commit '16330e249663fed890df0e95fce4016c2971120a':
  Improve VelocityTracker numerical stability. (DO NOT MERGE)
2011-05-25 14:42:06 -07:00
Jeff Brown
4e3ba25cc7 am 4bd89fb0: am 82e4373e: Merge "Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)" into honeycomb-mr2
* commit '4bd89fb00f319c5d6d4f17b39fd4c0b3dc827ad1':
  Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)
2011-05-25 14:42:01 -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
cfb046dead am 2c09a9c0: am 5520610c: Merge "Make adb shell am display-size persistent." into honeycomb-mr2
* commit '2c09a9c0e960163a16ad1d06055aa6ee9635c693':
  Make adb shell am display-size persistent.
2011-05-25 11:46:28 -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
103e74d9b1 am d6f29cd8: am 2a15eb55: Merge "Fix issue #4445007: DPM initializes some values to 1, instead of 0" into honeycomb-mr2
* commit 'd6f29cd8f92b098330818227428f5a42836097b7':
  Fix issue #4445007: DPM initializes some values to 1, instead of 0
2011-05-25 11:18:59 -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
TK MUN
cecb710a6d am 94260caf: Allow control over search order for tethering upstream interface selection
* commit '94260caf2fb3f5dbf6e17b29a269b46ea05f8680':
  Allow control over search order for tethering upstream interface selection
2011-05-25 10:42:07 -07:00
TK MUN
94260caf2f Allow control over search order for tethering upstream interface selection
Change-Id: If02c9b2bb61b68ebafafadc23ba17a332bc8004f
Signed-off-by: TK MUN <tk.mun@samsung.com>
2011-05-25 10:32:06 -07:00
Simon Wilson
b9783b49f4 am c9cd2387: Merge changes I37f0f315,I8cbf6044,Ibb598931,I5262bf11 into gingerbread
* commit 'c9cd2387b6938a6fbefc731d2177902266f2a130':
  Fix a race that could cause GL commands to be executed from the wrong thread.
  RefBase subclasses can now decide how they want to be destroyed.
  Fix a race in SurfaceFlinger that could cause layers to be leaked forever.
  Fix a race-condtion in SurfaceFlinger that could lead to a crash.
2011-05-24 17:29:12 -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
Jeff Brown
395d6a291d Merge "Disable pointer debug logging." 2011-05-24 14:42:18 -07:00
Jeff Brown
9f2106f2bc Disable pointer debug logging.
Change-Id: I00628fa369cb1b179a1907f9cb19de8ca4c755ab
2011-05-24 14:40:35 -07:00
Jeff Brown
c1eb82373a Merge "Input device protocol enhancements." 2011-05-24 14:39:53 -07:00
Jeff Brown
80fd47ce75 Input device protocol enhancements.
Added support for Linux multitouch protocol B (slots).

Added support for using the device's input properties as a hint
to determine the intended usage of a touch device.

Added support for the ABS_MT_DISTANCE axis.

Fixed a bug reporting the presence of the orientation axis.

Change-Id: Icf7b5a5a0f1a9cdf6ad2b35be8ea0c1a35815d48
2011-05-24 14:39:19 -07:00
Jeff Brown
b5b1fb2585 Merge "Support wrapping app processes to inject debug instrumentation. Bug: 4437846" 2011-05-24 14:26:18 -07:00
Mike Lockwood
7cc9ee2676 am 859443f2: am c0d9834a: am 5d78e0b8: Merge "GPS: Change NTP polling interval from 4 to 24 hours" into honeycomb-mr2
* commit '859443f2a4d6a2b72c3e9c75720d32d4e4c09489':
  GPS: Change NTP polling interval from 4 to 24 hours
2011-05-24 12:57:17 -07:00
Mike Lockwood
9fd4c6d3ae am 49b9449b: am d8d84708: am 988b6648: Merge "MountService: Add StorageVolume as extra in storage related broadcasts." into honeycomb-mr2
* commit '49b9449b6605c7b4f77f9a0635ba93f7dfa0ea47':
  MountService: Add StorageVolume as extra in storage related broadcasts.
2011-05-24 12:56:56 -07:00
Jeff Brown
ebed7d6e35 Support wrapping app processes to inject debug instrumentation.
Bug: 4437846

Change-Id: I4552501c693716b14714afb5c5248edaca9547ab
2011-05-24 12:01:25 -07:00
Daniel Sandler
0601eb7953 Framework support for Android Dreams.
A Dream is an activity that is launched by the window
manager after a specified idle time. You might think of this
as a "screen saver", but with the same capacity for
interactivity as any other application.

The window manager maintains a timer (like the screen lock
timer) that is reset on userActivity; the timer is suspended
during wakelocks and when the screen is off.

When the timer elapses, the user's preferred dream module is
launched (by reading Settings.Secure.DREAM_COMPONENT, which
is configured through the Settings app UI).

Like a dock app, the user can install new dreams and a
single application package may contain multiple dream
activities. Unlike the dock mode, however, there is no
"screensaver mode" for the system to manage. This allows us
to offer the user the ability to run a dream at any time, in
addition to making the overall mechanism quite simple.

There is no public API for this facility.

There is, however, a useful/recommended base class for dream
activities in the support library (change I4559a958).

Change-Id: Ied691856f88cfa38a7aca496d015f9a595da72f2
2011-05-24 10:28:52 -04:00
Mike Lockwood
859443f2a4 am c0d9834a: am 5d78e0b8: Merge "GPS: Change NTP polling interval from 4 to 24 hours" into honeycomb-mr2
* commit 'c0d9834a1c6dd8d9cd0b7fe9b50495578c104405':
  GPS: Change NTP polling interval from 4 to 24 hours
2011-05-23 18:45:17 -07:00
Jeff Sharkey
a462079303 Observe screen on/off events in NetworkPolicy.
The POLICY_REJECT_BACKGROUND policy requires that network traffic be
blocked when a UID goes into the background.  Even if the UID has an
activity in the foreground, it's considered "background" if the screen
is turned off.

This changes watches for SCREEN_ON/OFF broadcasts, and rule generation
now observes screen state.  It also introduces an observer pattern so
that ActivityManager doesn't directly know about NetworkPolicy, and
moves the service management into SystemServer.

Change-Id: Ie7a84929d3ca60ae4578d47e19d5a8da10fd8d58
2011-05-23 18:39:56 -07:00
Jeff Sharkey
442fa21e98 Merge "APIs to profile network usage for current UID." 2011-05-23 18:38:04 -07:00