5689 Commits

Author SHA1 Message Date
Svetoslav Ganov
736c2756bf Touch exploration feature, event bubling, refactor
1. Added an Input Filter that interprets the touch screen motion
   events to perfrom accessibility exploration. One finger explores.
   Tapping within a given time and distance slop on the last exlopred
   location does click and long press, respectively. Two fingers close
   and in the same diretion drag. Multiple finglers or two fingers in
   different directions or two fingers too far away are delegated to
   the view hierarchy. Non moving fingers "accidentally grabbed the
   device for the scrren" are ignored.

2. Added accessibility events for hover enter, hover exit, touch
   exoloration gesture start, and end. Accessibility hover events
   are fired by the hover pipeline. An accessibility event is
   dispatched up the view tree and the topmost view fires it.
   Thus predecessors can augment the fired event. An accessibility
   event has several records and a predecessor can optionally
   modify, delete, and add such to the event.

3. Added onPopulateAccessibilityEvent and refactored the existing
   accessibility code to use it.

4. Added API for querying the currently enabled accessibility services
   by feedback type.

Change-Id: Iea2258c07ffae9491071825d966dc453b07e5134
2011-04-22 18:30:43 -07:00
Adam Powell
3fb3d7c4e7 Revert "Touch exploration feature, event bubling, refactor"
This reverts commit ac84d3ba81f08036308b17e1ab919e43987a3df5.

There seems to be a problem with this API change. Reverting for now to
fix the build.

Change-Id: Ifa7426b080651b59afbcec2d3ede09a3ec49644c
2011-04-22 17:23:44 -07:00
Svetoslav Ganov
f9fa622cc0 Merge "Touch exploration feature, event bubling, refactor" 2011-04-22 16:29:07 -07:00
Dianne Hackborn
dacea8ce50 Start work on simulating landscape/portrait when orientation is locked.
Not yet working, so turned off.

Also fix a bug where the display size configuration became inconsistent
after a configuration change -- we now figure out everything about the
display size when computing a new configuration.
2011-04-22 11:23:13 -07:00
Svetoslav Ganov
ac84d3ba81 Touch exploration feature, event bubling, refactor
1. Added an Input Filter that interprets the touch screen motion
   events to perfrom accessibility exploration. One finger explores.
   Tapping within a given time and distance slop on the last exlopred
   location does click and long press, respectively. Two fingers close
   and in the same diretion drag. Multiple finglers or two fingers in
   different directions or two fingers too far away are delegated to
   the view hierarchy. Non moving fingers "accidentally grabbed the
   device for the scrren" are ignored.

2. Added accessibility events for hover enter, hover exit, touch
   exoloration gesture start, and end. Accessibility hover events
   are fired by the hover pipeline. An accessibility event is
   dispatched up the view tree and the topmost view fires it.
   Thus predecessors can augment the fired event. An accessibility
   event has several records and a predecessor can optionally
   modify, delete, and add such to the event.

3. Added onPopulateAccessibilityEvent and refactored the existing
   accessibility code to use it.

4. Added API for querying the currently enabled accessibility services
   by feedback type.

Change-Id: Iec03c6c3fe298de3f14cb6efdbb9b198cd531a0c
2011-04-21 18:33:52 -07:00
Dianne Hackborn
9a36549919 Merge "Fix bug in deciding which rotation to use for an orientation." 2011-04-21 17:34:22 -07:00
Dianne Hackborn
9d13264f6b Fix bug in deciding which rotation to use for an orientation.
Change-Id: Icc928c2188a5865035cafcdab2efd5bae3132b1f
2011-04-21 17:27:42 -07:00
Mathias Agopian
5db1314192 Merge "Get rid of the "pid" parameter from createSurface" 2011-04-21 17:14:18 -07:00
Dianne Hackborn
44bc17c6b5 Rework display size access.
Applications now get the display size from the window manager.  No
behavior should be changed yet, this is just prep for some real
changes.

Change-Id: I2958a6660895c1cba2b670509600014e55ee9273
2011-04-21 15:17:52 -07:00
Mathias Agopian
9638e5c167 Get rid of the "pid" parameter from createSurface
Change-Id: I28635e3f803e6abe965d79998e305f54a202465d
2011-04-20 14:26:11 -07:00
Jeff Brown
dee1640afa Merge "Add tap/drag touchpad gesture." 2011-04-19 21:28:35 -07:00
Jeff Brown
79ac969d7a Add tap/drag touchpad gesture.
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: Iaa51182edee4378162a66adfd746088e93af2a30
2011-04-19 21:20:10 -07:00
Mathias Agopian
9cc5a4e97c Merge "remove support for console in SurfaceFlinger" 2011-04-19 18:19:15 -07:00
Jeff Brown
3f14891fc9 Merge "Initial checkin of spot presentation for touchpad gestures." 2011-04-19 15:37:32 -07:00
Jeff Brown
2352b978a3 Initial checkin of spot presentation for touchpad gestures.
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: I5126b1e69d95252fda7f2a684c9287e239a57163
2011-04-19 15:35:51 -07:00
Amith Yamasani
25641ca1ac Merge "Plumbing in PackageManager and installd for multi-user support." 2011-04-19 10:41:20 -07:00
Mathias Agopian
1a338b35be remove support for console in SurfaceFlinger
the only supported screen management api now is
/sys/power/wait_for_fb_{sleep|wake}

Change-Id: I6c7d8d54843da4980b1b38ee3d46cf19be275240
2011-04-18 18:09:53 -07:00
Mathias Agopian
f76dc56c33 Merge "fix memory corruption when retriving GL_MAX_VIEWPORT_DIMS" 2011-04-18 16:00:07 -07:00
Mathias Agopian
c94dce521b fix memory corruption when retriving GL_MAX_VIEWPORT_DIMS
Change-Id: I2e0b1eac6dbc6a4ecbbaf31013aa02cf2369fce2
2011-04-18 15:59:24 -07:00
Wink Saville
343c1ad720 am 37677849: am 64c42cae: Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.
* commit '37677849998e6c9a39afe0a730b2f0131a371f3b':
  Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.
2011-04-18 15:28:47 -07:00
Wink Saville
3767784999 am 64c42cae: Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.
* commit '64c42cae4482fe0157e977b8ddd0f2c2436b3f31':
  Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.
2011-04-18 15:24:47 -07:00
Wink Saville
64c42cae44 Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.
Change-Id: Ib4b33894da75f5f156066092fb145b478e52f7d7
2011-04-18 14:55:10 -07:00
Mathias Agopian
644c4f1862 Merge "Fix a GraphicBuffer leak in SurfaceTexture" 2011-04-15 18:15:13 -07:00
Amith Yamasani
0b285499db Plumbing in PackageManager and installd for multi-user support.
- Create /data/user directory and symlink /data/user/0 -> /data/data for
  backward compatibility
- Create data directories for all packages for new user

- Remove data directories when removing a user

- Create data directories for all users when a package is created

- Clear / Remove data for multiple users

- Fixed a bug in verifying the location of a system app

- pm commands for createUser and removeUser (will be disabled later)

- symlink duplicate lib directories to the original lib directory

Change-Id: Id9fdfcf0e62406a8896aa811314dfc08d5f6ed95
2011-04-15 15:15:27 -07:00
satok
68f1b78b7b Add an API to get the last used input method subtype
Bug: 4075039

- Voice input requires to know the last used input method subtype.

Change-Id: I603a4fb88a2af5195e52188adfa6585ad80304fa
2011-04-15 13:49:33 +09:00
Dianne Hackborn
fa32cd1516 am 07a630d2: am 9a03a73a: am f6f87c98: Merge "Fix issue #4291805: Tap Fish crashes on launch" into honeycomb-mr1
* commit '07a630d23ef326f820e6339b5f691df0aafd3574':
  Fix issue #4291805: Tap Fish crashes on launch
2011-04-14 15:43:03 -07:00
Dianne Hackborn
07a630d23e am 9a03a73a: am f6f87c98: Merge "Fix issue #4291805: Tap Fish crashes on launch" into honeycomb-mr1
* commit '9a03a73a44c69706fe2b97a28632928f58b434b1':
  Fix issue #4291805: Tap Fish crashes on launch
2011-04-14 15:40:00 -07:00
Dianne Hackborn
9a03a73a44 am f6f87c98: Merge "Fix issue #4291805: Tap Fish crashes on launch" into honeycomb-mr1
* commit 'f6f87c985989603139b31df663f9f9a90543cacc':
  Fix issue #4291805: Tap Fish crashes on launch
2011-04-14 15:27:32 -07:00
Dianne Hackborn
f6f87c9859 Merge "Fix issue #4291805: Tap Fish crashes on launch" into honeycomb-mr1 2011-04-14 15:10:31 -07:00
Dianne Hackborn
52b0ce0fe3 Fix issue #4291805: Tap Fish crashes on launch
The activity manager got a little too aggressive about argument validation.

Change-Id: I3cca0cd3135b98e5c50d26db778ec4ec28a47ec1
2011-04-14 13:09:32 -07:00
Dianne Hackborn
0ffc988a7f Rewrite battery history storage.
We now write battery history directly into a buffer, instead of
creating objects.  This allows for more efficient storage; later
it can be even better because we can only write deltas.

The old code is still there temporarily for validation.

Change-Id: I9707d4d8ff30855be8ebdc93bc078911040d8e0b
2011-04-14 10:57:22 -07:00
Dianne Hackborn
2432d1bd48 Forgot to add this file.
Change-Id: I7b29785599ab8e4b8b29099a8398ef86df6aef31
2011-04-12 19:12:30 -07:00
Dianne Hackborn
0c5001d776 Add APIs to remove tasks.
You can remove sub-tasks inside of a task, or an entire task.

When removing an entire task, you can have its process killed
as well.

When the process is killed, any running services will get an
onTaskRemoved() callback for them to do cleanup before their
process is killed (and the service possibly restarted).

Or they can set a new android:stopWithTask attribute to just
have the service automatically (cleanly) stopped at this point.

Change-Id: I1891bc2da006fa53b99c52f9040f1145650e6808
2011-04-12 18:28:06 -07:00
Kenny Root
2e3ede527d Merge "Updated system packages retain shared user" 2011-04-12 15:34:42 -07:00
Elliott Hughes
dd66bcbf9d More native code cleanup.
Don't keep unused global references to classes, don't throw exceptions
when an exception is already pending, and fix a (harmless) misunderstanding
about how GetStringChars works.

Change-Id: Ie445036f057daa8a1c76aceb7bad2a84fb81d820
2011-04-12 11:28:59 -07:00
Benoit Goby
316594715d am 2869d171: resolved conflicts for merge of 08c39c6a to honeycomb-LTE
* commit '2869d1715d815ef2b357bf182d384515cdf6f9ab':
  Add support for USB Ethernet adapters
2011-04-11 18:53:57 -07:00
Benoit Goby
2869d1715d resolved conflicts for merge of 08c39c6a to honeycomb-LTE
Change-Id: I79f8ac1dc8ff9f5d0559d37043b850cd26246b92
2011-04-11 18:41:23 -07:00
Brad Fitzpatrick
a944e591fc am 07c25b65: am 4430670f: am ca7ad44a: Merge "audioflinger: Enable ARMv5TE optimized resampler"
* commit '07c25b651216daac884bd503c02b788418165b50':
  audioflinger: Enable ARMv5TE optimized resampler
2011-04-11 17:32:37 -07:00
Elliott Hughes
4a1ba21044 Merge "You don't need to poke around inside FileDescriptor manually." 2011-04-11 17:27:53 -07:00
Brad Fitzpatrick
07c25b6512 am 4430670f: am ca7ad44a: Merge "audioflinger: Enable ARMv5TE optimized resampler"
* commit '4430670f48f75661293371dab8db55865f5f56e0':
  audioflinger: Enable ARMv5TE optimized resampler
2011-04-11 17:27:12 -07:00
Elliott Hughes
a3804cf77f You don't need to poke around inside FileDescriptor manually.
We can help you with that.

Note also that getParcelFileDescriptorFD did no such thing. All its callers
were passing in a regular java.io.FileDescriptor and expecting the int. No
ParcelFileDescriptors involved.

Change-Id: Idc233626f20c092e719f152562601f406cc1b64a
2011-04-11 17:04:01 -07:00
Benoit Goby
08c39c6a11 Add support for USB Ethernet adapters
Change-Id: I6ae34a32d0e1b6f21c484b8639c3e7ce086e568d
2011-04-11 16:33:43 -07:00
Jeff Brown
ec7b4b7a8c Merge "Add a sprite controller." 2011-04-11 14:10:56 -07:00
Jeff Brown
5541de9ea3 Add a sprite controller.
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: Ib25d162d577c9b354cb74d5d761c3c9f9f438d42
2011-04-11 14:08:29 -07:00
Amith Yamasani
beb182a494 Merge "Package manager changes to store and update user information." 2011-04-11 12:14:17 -07:00
Amith Yamasani
4b2e934928 Package manager changes to store and update user information.
Some API stubs for managing users and storing their details.
List of users is stored in an xml file.
Each user's properties are stored in a separate xml file.

Some unit tests for modifying the XML files.

Change-Id: If2ce2420723111bd426f6762def3c2afc19a0ae5
2011-04-11 12:12:58 -07:00
Mathias Agopian
5f05f99aae Fix a GraphicBuffer leak in SurfaceTexture
This leak was intentional, it was there to deal with the fact that
some gralloc implementations don't track buffer handles with
file-descriptors so buffers needed to stay alive until there were
registered, which is not guaranteed by binder transactions.

In this new implementation, we use a small BBinder holding a
reference to the buffer, which with tuck into the parcel. This forces
the reference to stay alive until the parcel is destroyed, which
is guaranteed (by construction) to happen after the buffer is
registered.

this allows the public facing API to not expose the previous hack.

Change-Id: I1dd6cd83679a2b7457ad628169e2851acc027143
2011-04-08 19:28:04 -07:00
Dianne Hackborn
bcbab36843 Merge "Rework thumbnails in activity manager." 2011-04-08 18:28:14 -07:00
Dianne Hackborn
f26fd99a7c Rework thumbnails in activity manager.
We now only keep a thumbnail for the task, not for each
activity.  However if you use FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET,
we will make a new secondary thumbnail for that series of
activities.  There is a new API for the app to get these
secondary thumbnails.

Also set a default thumbnail size for non-xlarge screens
so we have thumbnails on phones.  (We need some smarter
code in the platform for computing the actual thumbnail
dimensions of the current device).  And add a test app
to show recent tasks + thumbnails.

Change-Id: Ic36759f6635522118a2cb7f156662229a610c492
2011-04-08 18:16:21 -07:00
Kenny Root
1d1b489376 Updated system packages retain shared user
If a system package was updated that used permissions provided by a
package signed with a different signature, it wouldn't grant
those permissions to the updated system app.

This is because the sharedUser field was not set in the disabled system
package. Therefore it was checking the disabled system package's
individual user permission grants which were empty.

This change populates the sharedUser field for disabled system packages
after reading all the existing shared users from the saved settings
database.

Bug: 4245273
Change-Id: I57c58c4083bd59f45095c184d6ca5a302f79ff6e
2011-04-08 14:25:27 -07:00