99 Commits

Author SHA1 Message Date
Jeff Brown
51e7fe7545 Rename the locked meta key constants for clarity.
Also added some tests for LED setting.

Change-Id: I3fd86322afd07ae8de52d1ccbc2fae2c6d586641
2010-11-05 13:27:35 -07:00
Jeff Brown
b0418da0e7 Add plumbing for volume mute key.
Full support for the volume mute key will be implemented in a
later change.

Bug: 2912307
Change-Id: I98c27d6360f159c8b7447e04b45f442eff87b38a
2010-11-02 17:31:39 -07:00
Mathias Agopian
49d1735482 am 1b98a9e6: am 5219dd8e: Merge "add format parameter to setBufferGeometry" into gingerbread 2010-10-26 12:23:53 -07:00
Mathias Agopian
3026a1c4e8 add format parameter to setBufferGeometry
Change-Id: I7cc2acdc6e65e9468ecfd5b2f22e6b495a383be9
2010-10-25 15:58:35 -07:00
Dianne Hackborn
6ab84eeb0f am c2f78020: am 23656899: Merge "Fix issue #3126018: No way to specify NativeActivity\'s native method" into gingerbread
Merge commit 'c2f78020d3887539fc90230d96465e4b1dc84d8e'

* commit 'c2f78020d3887539fc90230d96465e4b1dc84d8e':
  Fix issue #3126018: No way to specify NativeActivity's native method
2010-10-24 18:42:12 -07:00
Dianne Hackborn
2365689994 Merge "Fix issue #3126018: No way to specify NativeActivity's native method" into gingerbread 2010-10-24 18:33:36 -07:00
Dianne Hackborn
e21d91c694 Fix issue #3126018: No way to specify NativeActivity's native method
Change-Id: I59de6a543e7f7f45d963a905829a3f56f32bf8cf
2010-10-24 14:56:38 -07:00
Jeff Brown
3ae4ac8538 am 2ef36763: am 860c2df4: Merge "Add unit tests for native input and fix bugs identified." into gingerbread
Merge commit '2ef36763700eff5679d6012e7f078c57f1a4c465'

* commit '2ef36763700eff5679d6012e7f078c57f1a4c465':
  Add unit tests for native input and fix bugs identified.
2010-10-24 14:36:23 -07:00
Jeff Brown
c3db858de9 Add unit tests for native input and fix bugs identified.
Fixed a bug where we would lose the first touch point when swiping out of
the virtual key area.

Fixed a bug where we would not send an ACTION_MOVE event in cases where
individual pointers went down/up and the remaining pointers actually moved.
This is important since many applications do not handle pointer movements
during ACTION_POINTER_DOWN or ACTION_POINTER_UP.  In the case of
ACTION_POINTER_UP the movement was completely lost since all pointers were
dispatched using their old location rather than the new location.

Improved motion event validation to check for duplicate pointer ids.

Added an input source constant that was missing from the NDK api but
defined in the framework api.

Added a timestamp when reporting added/removed devices in EventHub.

Bug: 3070082
Change-Id: I3206a030f43b7616e2f48006e5a9d522c4d92e56
2010-10-23 03:52:57 -07:00
Dianne Hackborn
8fff4bff4d am 4f734cab: am 7ce276b5: Merge "Update script for copying NDK headers/library." into gingerbread 2010-10-22 12:31:09 -07:00
Dianne Hackborn
de5ba5ef72 Update script for copying NDK headers/library.
Change-Id: Ia441ce37123d5b5cd343f2746671495705501fb5
2010-10-21 21:10:26 -07:00
Dianne Hackborn
bff26d156d am 86f1b643: am bf5efba2: Merge "Fix issue #3117918: No way to finish a native activity" into gingerbread
Merge commit '86f1b643d10e0b5b17ae01db3b81020db87b3295'

* commit '86f1b643d10e0b5b17ae01db3b81020db87b3295':
  Fix issue #3117918: No way to finish a native activity
2010-10-21 20:27:15 -07:00
Dianne Hackborn
db28a94d49 Fix issue #3117918: No way to finish a native activity
Change-Id: Ic53e712f7ab5412d72a31b96ecba252344b91644
2010-10-21 19:07:37 -07:00
Jeff Brown
497a92cc5b Add keycodes and meta-key modifiers to support external keyboards.
Added new key maps for external keyboards.  These maps are intended to
be shared across devices by inheriting the "keyboards.mk" product
makefile as part of the device's product definition.

One of the trickier changes here was to unwind some code in
MetaKeyKeyListener that assumed that only the low 8 bits of the meta key
state were actually used.  The new code abandons bitshifts in favor
of simple conditionals that are probably easier to read anyways.
The special meta key state constants used by MetaKeyKeyListener
are now (@hide) defined in KeyEvent now so as to make it clearer that they
share the same code space even if those codes are not valid for KeyEvents.

The EventHub now takes care of detecting the appropriate key layout
map and key character map when the device is added and sets system
properties accordingly.  This avoids having duplicate code in
KeyCharacterMap to probe for the appropriate key character map
although the current probing mechanism has been preserved for legacy
reasons just in case.

Added support for tracking caps lock, num lock and scroll lock and
turning their corresponding LEDs on and off as needed.

The key character map format will need to be updated to correctly support
PC style external keyboard semantics related to modifier keys.
That will come in a later change so caps lock doesn't actually do
anything right now except turn the shiny LEDs on and off...

Added a list of symbolic key names to KeyEvent and improved the toString()
output for debug diagnosis.  Having this list in a central place in the
framework also allows us to remove it from Monkey so there is one less
thing to maintain when we add new keycodes.

Bug: 2912307
Change-Id: If8c25e8d50a7c29bbf5d663c94284f5f86de5da4
2010-10-15 16:00:07 -07:00
Kenny Root
733e79c240 am 2f98a585: am 49ec3dff: Merge "OBB: Change documentation to reflect reality" into gingerbread
Merge commit '2f98a585cda066689b1b525322c51fcacbc3770b'

* commit '2f98a585cda066689b1b525322c51fcacbc3770b':
  OBB: Change documentation to reflect reality
2010-10-15 08:32:30 -07:00
Kenny Root
0a9b54e88b resolved conflicts for merge of 8bb7a1df to master
Change-Id: Ieec036f494a54eab74a27b954d1423bf981dd3f9
2010-10-13 15:43:51 -07:00
Kenny Root
19dcd2aeba OBB: Change documentation to reflect reality
We can't reliably detect when the key for an OBB is incorrect, so just
remove the mention in the documentation. It still returns an error, but
just not the most specific error.

Bug: 3091064
Change-Id: I70e506822f2178a0ac5e4617fe545b23ce0026f4
2010-10-13 12:37:18 -07:00
Kenny Root
af9d667ccf OBB: rearrange to be entirely asynchronous
Rearrange structure of MountService handling of OBBs to be entirely
asynchronous so we don't rely on locking as much. We still need the
locking to support dumpsys which has been improved to output all the
data structures for OBBs.

Added more tests to cover more of the error return codes.

Oh and fix a logic inversion bug.

Change-Id: I34f541192dbbb1903b24825889b8fa8f43e6e2a9
2010-10-11 17:22:03 -07:00
Jeff Brown
d5da367024 am 22cb4ef8: am d577cfd7: Merge "Switch Looper back to using poll() instead of epoll()." into gingerbread
Merge commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5'

* commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5':
  Switch Looper back to using poll() instead of epoll().
2010-10-10 12:52:40 -07:00
Jeff Brown
415d8c3819 Switch Looper back to using poll() instead of epoll().
Added a couple of micro-optimizations to avoid calling wake() unnecessarily
and reduce JNI overhead slightly.

Fixed a minor issue where we were not clearing the "next" field of Messages
returned by the MessageQueue so the Message would hold on to its successor
and potentially prevent the GC from collecting it if the message were leaked
somehow.

Change-Id: I488d29417ce0cdd7d0e447cda76ec978ef7f811c
2010-10-07 13:26:39 -07:00
Dianne Hackborn
8fc2518776 am c3bc8b7b: am 1bfbf19b: Merge "Fix night/notnight resource folder handling." into gingerbread
Merge commit 'c3bc8b7b08611c8d86919f4695430990bc6b475d'

* commit 'c3bc8b7b08611c8d86919f4695430990bc6b475d':
  Fix night/notnight resource folder handling.
2010-09-30 14:57:23 -07:00
Tobias Haamel
2b9785aa65 Fix night/notnight resource folder handling.
The values for NIGHT_NO / NIGHT_YES are shifted later on in the
ResourceTypes header file to match with the ones specified in the
Configuration class file. This is basically the same as it's done for
the SCREEN_LONG_NO / SCREEN_LONG_YES constants.

Since the values are also masked later on by 0x30 (MASK_UI_MODE_NIGHT)
the system currently recognizes resources specified in night/notnight
folders as if they were resources which can be used for any of both
modes. This results in an error saying that the resources are already
specified somewhere else.

Should fix: http://b/issue?id=3022577

Change-Id: I554b37231ea4c69a8625e519150473fddce7d8ed
2010-09-30 11:26:02 +02:00
Kenny Root
bff405f910 resolved conflicts for merge of d8e8186c to master
Change-Id: Ica3f6cd958717ea7033cab8b4bf9cd3425c1e1c5
2010-09-28 18:16:50 -07:00
Kenny Root
05105f7abe Update OBB API to include callbacks
Add a callback for users of the StorageManager API to be able to receive
notifications when the requested operation completes for mountObb and
unmountObb.

Add NDK API to get to ObbInfo like the Java API has.

Also update the docs for the API and remove the "STOPSHIP" comments.

Change-Id: I23a4409c7f8b74d3169614beba920b4d667990a4
2010-09-28 17:23:26 -07:00
Jeff Brown
707929d6f8 am 61cf67a2: am 24326f72: Merge "Input API review." into gingerbread
Merge commit '61cf67a220ba3205737c646c1c836a92074220de'

* commit '61cf67a220ba3205737c646c1c836a92074220de':
  Input API review.
2010-09-16 13:05:50 -07:00
Jeff Brown
49478536b6 am 14bc6b5d: am 09340a4b: Merge "Replace epoll() with poll() and rename PollLoop to Looper." into gingerbread
Merge commit '14bc6b5d0677e5c454a67775c852f90389bb4567'

* commit '14bc6b5d0677e5c454a67775c852f90389bb4567':
  Replace epoll() with poll() and rename PollLoop to Looper.
2010-09-15 12:32:29 -07:00
Jeff Brown
dc1ab4b5cc Input API review.
Drop currently unsupported input features.
Add documentation comments.

Change-Id: I407d2e1dd90c5ee82983a3ccf177430d35ee7592
2010-09-14 20:46:14 -07:00
Jeff Brown
4fe6c3e51b Replace epoll() with poll() and rename PollLoop to Looper.
As part of this change, consolidated and cleaned up the Looper API so
that there are fewer distinctions between the NDK and non-NDK declarations
(no need for two callback types, etc.).

Removed the dependence on specific constants from sys/poll.h such as
POLLIN.  Instead looper.h defines events like LOOPER_EVENT_INPUT for
the events that it supports.  That should help make any future
under-the-hood implementation changes easier.

Fixed a couple of compiler warnings along the way.

Change-Id: I449a7ec780bf061bdd325452f823673e2b39b6ae
2010-09-14 01:59:45 -07:00
Jeff Brown
b380c4d7ed resolved conflicts for merge of a05088c1 to master
Change-Id: I7973f9f28586dec9b9659f8f662f40db7997a521
2010-09-08 13:02:55 -07:00
Jeff Brown
85a3176704 Add support for secure views.
Added the MotionEvent.FLAG_WINDOW_IS_OBSCURED flag which is set by the
input manager whenever another visible window is partly or wholly obscured
the target of a touch event so that applications can filter touches
accordingly.

Added a "filterTouchesWhenObscured" attribute to View which can be used to
enable filtering of touches when the view's window is obscured.

Change-Id: I936d9c85013fd2d77fb296a600528d30a29027d2
2010-09-08 11:50:55 -07:00
Dianne Hackborn
347262622b am a1205f07: am 2d3739d4: Merge "Modify native ALooper to take an explicit ident." into gingerbread
Merge commit 'a1205f07a6f0c745e8f42f16fe38c06af04143c7'

* commit 'a1205f07a6f0c745e8f42f16fe38c06af04143c7':
  Modify native ALooper to take an explicit ident.
2010-09-07 18:52:06 -07:00
Dianne Hackborn
42c03e579a Modify native ALooper to take an explicit ident.
The ALooper API now uses an explicit "identifier" for the integer
that is returned rather than implicitly using the fd.  This allows
the APIs that had the fd to be a little more sane.

Change-Id: I8507f535ad484c0bdc4a1bd016d87bb09acd7ff0
2010-09-07 15:46:55 -07:00
Jeff Brown
ee6d676c5b am df02df11: am 307ed31c: Merge "Remove incomplete input device enumeration NDK API." into gingerbread
Merge commit 'df02df115a594553b3ebaa95a0a7f7185a8787d3'

* commit 'df02df115a594553b3ebaa95a0a7f7185a8787d3':
  Remove incomplete input device enumeration NDK API.
2010-08-31 15:53:17 -07:00
Jeff Brown
5fad2675e8 Remove incomplete input device enumeration NDK API.
Change-Id: I32de74ff5fcf0e29179a2aee03ddabd22fa485bb
2010-08-31 15:24:55 -07:00
Jeff Brown
22f5ee9374 am 36f0cb26: am 8d60866e: Input device calibration and capabilities.
Merge commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030'

* commit '36f0cb26cbb4ef62995ff2e5a540cf8814e7f030':
  Input device calibration and capabilities.
2010-08-30 18:29:12 -07:00
Jeff Brown
8d60866e21 Input device calibration and capabilities.
Finished the input device capability API.
Added a mechanism for calibrating touch devices to obtain more
accurate information about the touch contact area.
Improved pointer location to show new coordinates and capabilities.
Optimized pointer location display and formatting to avoid allocating large
numbers of temporary objects.  The GC churn was causing the application to
stutter very badly when more than a couple of fingers were down).
Added more diagnostics.

Change-Id: Ie25380278ed6f16c5b04cd9df848015850383498
2010-08-30 18:16:43 -07:00
Kenny Root
53e75ea847 resolved conflicts for merge of 485de781 to master
Change-Id: I483cb81596f09b024b1aea7fc55960183f38b24f
2010-08-24 09:57:33 -07:00
Kenny Root
086d084dd9 Add AStorageManager API to NDK
AStorageManager allows users of the NDK to access OBBs for now.

Change-Id: I8a25757901a175aa90a9f3e8c2a5db7873e8615e
2010-08-20 13:27:31 -07:00
Dianne Hackborn
7b6d0d99b6 am 679ac09a: am a5ae50cd: Merge "More native work." into gingerbread
Merge commit '679ac09a5c22175354f3a04b28456b323839530e'

* commit '679ac09a5c22175354f3a04b28456b323839530e':
  More native work.
2010-08-11 00:50:56 -07:00
Dianne Hackborn
08d5b8fad8 More native work.
Implement save/restore of state, and add native APIs for
configuration information.

Change-Id: I2a3ddc2ba605db58d7c8b2b31b9215fb323f90b5
2010-08-11 00:29:59 -07:00
Mathias Agopian
ce49d03aa4 resolved conflicts for merge of 02513855 to master
Change-Id: Ie33d57798d3d5b800edde753dac86de062bc270c
2010-07-29 22:06:44 -07:00
Mathias Agopian
050b56244f Added SensorManager.getMinDelay()
Exposed the new "min delay" sensor property through native and
java sensor apis. This allows the caller to know what is the
maximum rate at which a sensor can return events, or, if a sensor
works in "update" mode (events returned only when the value changes).

Also augmented SensorManager.regusterSensorEvent() so that it can
accept a value in microsecond in addition to the 4 constants already
defined.

Change-Id: If425e9979892666df8c989d7de3c362230fa19e0
2010-07-29 18:18:00 -07:00
Kenny Root
48555f8f09 am 31a0b956: am 3de27d5a: Merge "Add stdint.h to fix sim-eng" into gingerbread
Merge commit '31a0b956396e417bdbfee97554afb5b52d68a8ba'

* commit '31a0b956396e417bdbfee97554afb5b52d68a8ba':
  Add stdint.h to fix sim-eng
2010-07-28 16:44:56 -07:00
Kenny Root
e30de4e6a3 Add stdint.h to fix sim-eng
Change-Id: I82cebe3e769aa4db99bd758bd2f182b0d462de6f
2010-07-28 16:41:02 -07:00
Jeff Brown
2279971b6f am 9795a25d: am 6d0fec2d: Refactor input reader to support new device types more easily.
Merge commit '9795a25da060f9a7df87da8ab43fb1086d4322a5'

* commit '9795a25da060f9a7df87da8ab43fb1086d4322a5':
  Refactor input reader to support new device types more easily.
2010-07-28 14:27:55 -07:00
Jeff Brown
6d0fec2de3 Refactor input reader to support new device types more easily.
Refactored the input reader so that each raw input protocol is handled
by a separate subclass of the new InputMapper type.  This way, behaviors
pertaining to keyboard, trackballs, touchscreens, switches and other
devices are clearly distinguished for improved maintainability.

Added partial support for describing capabilities of input devices
(incomplete and untested for now, will be fleshed out in later commits).

Simplified EventHub interface somewhat since InputReader is taking over
more of the work.

Cleaned up some of the interactions between InputManager and
WindowManagerService related to reading input state.

Fixed swiping finger from screen edge into display area.

Added logging of device information to 'dumpsys window'.

Change-Id: I17faffc33e3aec3a0f33f0b37e81a70609378612
2010-07-28 14:16:15 -07:00
Mathias Agopian
50558b9561 resolved conflicts for merge of bc54e63c to master
Change-Id: I4245b15b4cda6963d735442c0c6a04a0477ff5e1
2010-07-21 18:10:22 -07:00
Mathias Agopian
1bf797857e new SensorService
remove old sensor service and implement SensorManager
on top of the new (native) SensorManger API.

Change-Id: Iddb77d498755da3e11646473a44d651f12f40281
2010-07-19 17:57:29 -07:00
Dianne Hackborn
781d347479 am 9c37e5ad: am 75a91389: Merge "Implement native key pre-dispatching to IMEs." into gingerbread
Merge commit '9c37e5add9d7678a29b4e0d1e178fe78a13db961'

* commit '9c37e5add9d7678a29b4e0d1e178fe78a13db961':
  Implement native key pre-dispatching to IMEs.
2010-07-16 09:12:29 -07:00
Jeff Brown
b75fa30aaf resolved conflicts for merge of aca672ba to master
Change-Id: I7ae11fca0acdbf513a4870226d0d3e3cafbe9a08
2010-07-15 23:47:29 -07:00