5489 Commits

Author SHA1 Message Date
Mike Lockwood
b3174c46ad UsbService: Fix JNI reference leak
http://code.google.com/p/android/issues/detail?id=17365

Change-Id: Ice0174e0db2a785d32ac16694ebf3b7ddb1b7fb3
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-09 14:48:11 -04:00
Dianne Hackborn
48a7651823 Fix for not reporting correct "sw" in compat mode.
Change-Id: Ia225c94b36ccc3589d417aafd5680247678eddfd
2011-06-08 22:26:33 -07:00
Dianne Hackborn
5fd2169eab Work on issue #4518815: Compatibility mode introduces compatibility regression...
...for Market App iRunner

There were a lot of serious issues with how we updated (or often didn't update)
the display and resource state when switching compatibility mode in conjunction
with restarting and updating application components.  This addresses everything
I could find.

Unfortunately it does *not* fix this particular app.  I am starting to think this
is just an issue in the app.  This change does fix a number of other problems
I could repro, such as switching the compatibility mode of an IME.

Also a few changes here and there to get rid of $#*&^!! debug logs.

Change-Id: Ib15572eac9ec93b4b9966ddcbbc830ce9dec1317
2011-06-08 18:45:43 -07:00
Jeff Brown
25bd8abce9 Merge "Fix swipe gesture cosine calculation. Bug: 4124987" into honeycomb-mr2 2011-06-07 16:58:06 -07:00
Jeff Brown
6674d9bf0a Fix swipe gesture cosine calculation.
Bug: 4124987

Recent changes introduced a multiplication factor into the
distance calculation which ended up being absent from the
dot product calculation.

Change-Id: Ia367912b9ac09b6285d5a498a0c271563c9e9e39
2011-06-07 16:50:14 -07:00
Dianne Hackborn
a3ce0f1e6f Merge "Remove compat mode dialog." into honeycomb-mr2 2011-06-07 15:45:14 -07:00
Dianne Hackborn
2947826931 Remove compat mode dialog.
Change-Id: I37bccdf9d3e7c56048633da5731ad111910e530f
2011-06-07 15:44:22 -07:00
Mathias Agopian
f6c8206735 fix a surface leak introduced by a failed merge (DO NOT MERGE)
Bug: 4558502
Change-Id: Ibf889d03caa806c34603ad45f135b78c3851f55c
2011-06-07 14:52:22 -07:00
Jeff Brown
5cb05eea28 Merge "Fix build." into honeycomb-mr2 2011-06-06 21:06:30 -07:00
Jeff Brown
9181a5f40c Fix build.
Change-Id: I9ea07637058e2aa74d20d881bc21fea305cc869e
2011-06-06 21:04:14 -07:00
Jeff Brown
b92dcf9c06 Merge "Simplify spot tracking logic. Bug: 4124987" into honeycomb-mr2 2011-06-06 20:31:55 -07:00
Jeff Brown
ed48fa89a8 Merge "Touch pad improvements. Bug: 4124987" into honeycomb-mr2 2011-06-06 20:30:47 -07:00
Jeff Brown
cb5ffcf0e4 Simplify spot tracking logic.
Bug: 4124987

Since spots are now one-to-one with the touch gesture points,
we can eliminate a lot of redundant logic that assumed they weren't.

Change-Id: Ic60d8d0898c285317f480bc8fb17fb9797770e69
2011-06-06 20:06:19 -07:00
Jeff Brown
bb3fcba0ca Touch pad improvements.
Bug: 4124987

Only show one spot per touch point instead of one spot per
finger for multitouch gestures.

Tweaked the pointer acceleration curves.

Dissociated the hover/tap timeouts from the "tap" timeout
since they mean very different things.

Change-Id: I7c2cbd30feeb65ebc12f6c7e33a67dc9a9f59d4c
2011-06-06 19:23:05 -07:00
Dianne Hackborn
1b40559255 Merge "Fix issue #4539687: At least one compatibility-mode app (Androminion)..." into honeycomb-mr2 2011-06-06 17:30:50 -07:00
Dianne Hackborn
bc7386c261 Fix issue #4539687: At least one compatibility-mode app (Androminion)...
...will only launch when held in portrait mode.

There was a bug in the window manager that caused all of the careful code to
update the configuration in sync with movements between activities to break.
Now it is fixed, so this app works, and we no longer see the bad slow orientation
changes when switching between activities that want to be in different
orientations.

Change-Id: I5d93f99649849bdaca2e8bebade6b91b8b6cf645
2011-06-06 17:29:10 -07:00
Mathias Agopian
24855c0917 merge various SF fixes from gingerbread to honeycomb-mr2 (DO NOT MERGE)
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.

initial cherry-pick:
resolved conflicts for merge of b9783b49 to honeycomb-plus-aosp

Change-Id: I2a335e03fff219e35c18a7b0089b3a11d636576f
2011-06-06 15:14:25 -07:00
Andy Stadler
3148557c42 Merge "DO NOT MERGE Use unchecked admin lookup for getStorageEncryption()" into honeycomb-mr2 2011-06-03 10:24:27 -07:00
Andy Stadler
237574444b DO NOT MERGE Use unchecked admin lookup for getStorageEncryption()
Due to a copy/paste typo, getStorageEncryption() was protected by
getActiveAdminForCallerLocked(), which made the API unreadable if the
caller is not an admin.  This doesn't match the rest of the DPM API which
allows the "get" calls to be made anonymously.

This fix supercedes the proposed workaround CL in the DPM ApiDemo sample.

Backport of: If1a6237634e97ced09a7c6a8876bb6b0f60c9be9

Change-Id: I728b2d85878b7c73a063c906529f0d973e166b49
2011-06-02 16:37:39 -07:00
Jeff Brown
1a84fd1fb7 Add a preference panel for mouse speed.
Bug: 4124987
Change-Id: I3ce175d268a1d043cf5878481261b1049a15a149
2011-06-02 15:39:21 -07:00
Jeff Brown
19c97d46fb Implement pointer acceleration.
Bug: 4124987
Change-Id: I1f31a28f1594c55302ccabe13fe3ca6d2ff71d50
2011-06-02 14:12:05 -07:00
Dianne Hackborn
e66763516a Work around OpenFeint bug.
Change-Id: Ib8320e50bb63fc56dc0118d5c8e9e328dbd3fcb1
2011-06-01 16:52:36 -07:00
Dianne Hackborn
75d6b3c2a2 Merge "Fix issue #4502672: Wrong xml resources used for homescreen widgets." into honeycomb-mr2 2011-05-31 18:05:26 -07:00
Dianne Hackborn
2f0b17573d Fix issue #4502672: Wrong xml resources used for homescreen widgets.
There was a race in the system process between applying the initial
configuration and executing code in higher-level system services
like the app widget service that relies on the config.  For some
reason it starting showing up more after my code changes; it should
now be completely fixed.

Also fix the activity starting window to run in compatibility mode
if its application is going to be in compatibility mode.

And some various cleanup and small fixes.

Change-Id: I0566933bf1bbb4259c1d99a60c0a3c19af1542e5
2011-05-31 18:04:14 -07:00
Jeff Brown
c272d42794 Merge "Use ViewConfiguration to seed input system configuration." into honeycomb-mr2 2011-05-31 15:42:18 -07:00
Jeff Brown
d854304c2b Merge "Button state should reflect actual buttons. (DO NOT MERGE)" into honeycomb-mr2 2011-05-31 15:42:08 -07:00
Jeff Brown
214eaf4887 Use ViewConfiguration to seed input system configuration.
Fix bug where the pointer presentation would be updated on
any input reader timeout rather than only when a pointer gesture
is in progress.

Bug: 4124987
Change-Id: Ie9bba4a0b3228d55e45e65fa2ede5cd6ba887a08
2011-05-31 15:00:59 -07:00
Jeff Brown
4e3f7206eb Button state should reflect actual buttons. (DO NOT MERGE)
Bug: 4124987
Change-Id: If0585bd1432c8c61ed0c9a6a4f6de4a62e3f6e53
2011-05-31 15:00:58 -07:00
Dianne Hackborn
784707187d Fix various places that were using the wrong display metrics.
Change-Id: I1ac2a0c4a1b7c851dbc99d26f295c7dd49b0bd5c
2011-05-27 17:09:19 -07:00
Dianne Hackborn
8ea5e1d79e Fix compat mode bugs when updating apps.
No longer accidentally puts an app into compatibility mode.

Also various cleanup, freezing screen while switching between modes.

Change-Id: Ic1b3958be7800189a93f68e9dee3c5adfc45fe57
2011-05-27 16:49:29 -07:00
Dianne Hackborn
94250ac69c Merge "Add new supports-screens attributes for declaring the compatible screens." into honeycomb-mr2 2011-05-26 17:07:52 -07:00
Dianne Hackborn
df6e980e3f Add new supports-screens attributes for declaring the compatible screens.
Change-Id: I40d57e4354e48accc1027c9f90916ea73eb5190d
android:requiresSmallestWidthDp provides the smallest supported width.
android:compatibleWidthLimitDp provides the largest compatible width.
2011-05-26 14:48:04 -07:00
Kenny Root
1d8f8819f1 Merge "Break apart queries to getInstalled* API DO NOT MERGE" into honeycomb-mr2 2011-05-26 13:10:23 -07:00
Dianne Hackborn
2a10840380 I am a dummy.
Change-Id: Ie6908a8931954f83ab0e9b905173b576dbf3661d
2011-05-26 11:45:00 -07:00
Dianne Hackborn
81e56d535c Rework how we decide whether to use system or status bar.
The PhoneWindowManager is now responsible for determing this,
since it needs to do this before we can generate the configuration
since we need to take into account the system bar size we will use.

Also the Display should now report the screen height without
including the system bar.

Change-Id: I82dfcc5e327e4d13d82c373c6c870f557a99b757
2011-05-26 10:46:19 -07:00
Kenny Root
1bb6cf18c0 Break apart queries to getInstalled* API DO NOT MERGE
To avoid blowing past the Binder IPC limit, change the
PackageManagerService to have a DB-like interaction where the client
tells the service the last "row" that it read.

The fact that we use a HashMap instead of a TreeMap makes this
problematic. For now we're just making a new ArrayList for the keys and
then sorting them for each call. This can make the API slower for callers
of this, but it's probably greatly overshadowed by the cost of the data
transfer itself.

Bug: 4064282
Change-Id: Ia3a8cdaa94581ed9336f2e05694b8c8a5f757bce
2011-05-26 09:53:24 -07:00
Dianne Hackborn
42f8094c06 Merge "Spiffy new compatibility mode UI." into honeycomb-mr2 2011-05-25 21:18:36 -07:00
Dianne Hackborn
36cd41f8ef Spiffy new compatibility mode UI.
Change-Id: I1207eaafae59a434fcc979ad60a83e2d685288af
2011-05-25 21:08:37 -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
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
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
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