summaryrefslogtreecommitdiffstats
path: root/native
Commit message (Collapse)AuthorAgeFilesLines
* Add Java API for writing TTS enginesBjorn Bringert2011-04-151-313/+0
| | | | | | | | | | This removes the old non-public C++ API for TTS engines and replaces it with a Java API. The new API is still @hidden, until it has been approved. Bug: 4148636 Change-Id: I7614ff788e11f897e87052f684f1b4938d539fb7
* ANativeWindow_setBuffersGeometry now returns proper error codesMathias Agopian2011-03-312-2/+4
| | | | Change-Id: Iac59d513fa1d4a55b8378000714d344ef3e2e0a4
* merge libsurfaceflinger_client into libguiMathias Agopian2011-03-251-1/+0
| | | | | | | | | | | | this is the first step in unifying surfacetexture and surface. for this reason the header files were not moved, as most of them will eventually go away. NOTE: currently we keep libsurfaceflinger_client.so as an empty library to workaround prebuilt binaries wrongly linking against it. Change-Id: I130f0de2428e8579033dc41394d093f4e1431a00
* Add MotionEvent.HOVER_ENTER and HOVER_EXIT.Jeff Brown2011-03-241-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | The input dispatcher sends a HOVER_ENTER to a window before dispatching it any HOVER_MOVE events. For compatibility reasons, the window will *also* receive the HOVER_MOVE. When the pointer moves into a different window or the pointer goes down or when events are canceled for some reason, the input dispatcher sends a HOVER_EXIT to the previously hovered window. The view hierarchy behavior is similar. All views under the pointer receive onHoverEvent with HOVER_ENTER followed by any number of HOVER_MOVE events. When the pointer leaves a view, the view receives HOVER_EXIT. Similarly, if a parent view decides to capture hover by returning true from onHoverEvent, the hovered descendants will receive HOVER_EXIT. The default behavior of onHoverEvent is to update the view's hovered state by calling setHovered(true/false). Views can query their current hovered state using isHovered(). For testing purposes, the hovered state is mapped to the pressed drawable state. This will change in a subsequent commit with the introduction of a new hovered drawable state. Change-Id: Ib76a7a90236c8f2c7336e55773acade6346cacbe
* Merge "Fix an incorrect NDK function prototype."Jeff Brown2011-03-181-2/+4
|\
| * Fix an incorrect NDK function prototype.Jeff Brown2011-03-161-2/+4
| | | | | | | | | | | | | | | | | | The function definition includes a history_index parameter but it was missing from the header file. So the function declaration must be fixed. Bug: 4108565 Change-Id: I7bacfacb28fdd51ffc80ae016c1b6ebb51fbd66f
* | Add 3D mode key and others.Jeff Brown2011-03-161-0/+3
|/ | | | | | Related to an AOSP change request. Change-Id: I3f4f84b56a1af626a8783f5ecbb823eb12ba9fbe
* SurfaceTexture: disallow unsupported uses.Jamie Gennis2011-03-151-0/+6
| | | | | | | | | | This change makes the ANativeWindow_lock NDK function error out if it is passed an ANativeWindow with a concrete type that is not Surface. It also makes eglCreateWindowSurface fail if it is passed a SurfaceTextureClient as its 'window' argument. Bug: 4087277 Change-Id: Ie68c50c52d88f72d8a387f6c094908044c83a88c
* Merge "Bug 3515073 Add ANativeWindow_fromSurfaceTexture" into honeycomb-mr1Glenn Kasten2011-03-112-0/+17
|\
| * Bug 3515073 Add ANativeWindow_fromSurfaceTextureGlenn Kasten2011-03-042-0/+17
| | | | | | | | | | | | This is similar to ANativeWindow_fromSurface. Change-Id: Iaadc06a5d0d50685c34876aa89488c16e7cfaa65
* | Joystick tweaks. (DO NOT MERGE)Jeff Brown2011-03-041-0/+5
|/ | | | | | | | | | | | | | | | | | Ensure that the joystick can always reach -1.0, 0.0 and 1.0 positions even when noise filtering is applied. (Bug: 3514510) Add support for a few more standard axes. Add additional mapping modes for axes. Some axes are inverted from standard interpretation or are actually intended to be split into two distict axes such as left/right trigger controls or accelerator/brake. Add key layout file for a G25 racing wheel and XBox 360 controller to tweak behavior. They work fine without them but the axis mappings are not ideal. Change-Id: I0fddd90309af4dc14d35f34fe99ed6e521c0b7c7
* Fade out the mouse pointer after inactivity or other events.Jeff Brown2011-03-021-1/+2
| | | | | | | | | | | | | | Fades out the mouse pointer: - after 15 seconds of inactivity normally - after 3 seconds of inactivity in lights out mode - after a non-modifier key down - after a touch down Extended the native Looper to support enqueuing time delayed messages. This is used by the PointerController to control pointer fade timing. Change-Id: I87792fea7dbe2d9376c78cf354fe3189a484d9da
* Add support for mouse hover and scroll wheel.Jeff Brown2011-02-251-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Dispatch ACTION_HOVER_MOVE and ACTION_SCROLL through the View hierarchy as onGenericTouchEvent. Pointer events dispatched this way are delivered to the view under the pointer. Non-pointer events continue to be delivered to the focused view. Added scroll wheel support to AbsListView, ScrollView, HorizontalScrollView and WebView. Shift+VSCROLL is translated to HSCROLL as appropriate. Added logging of new pointer events in PointerLocationView. Fixed a problem in EventHub when a USB device is removed that resulted in a long stream of ENODEV errors being logged until INotify noticed the device was gone. Note that the new events are not supported by wallpapers at this time because the wallpaper engine only delivers touch events. Make all mouse buttons behave identically. (Effectively we only support one button.) Change-Id: I9ab445ffb63c813fcb07db6693987b02475f3756
* Add new hover move action and scroll wheel plumbing.Jeff Brown2011-02-191-1/+7
| | | | | | | | | | | | Added support for tracking the mouse position even when the mouse button is not pressed. To avoid confusing existing applications, mouse movements are reported using the new ACTION_HOVER_MOVE action when the mouse button is not pressed. Added some more plumbing for the scroll wheel axes. The values are reported to Views but they are not yet handled by the framework. Change-Id: I1706be850d25cf34e5adf880bbed5cc3265cf4b1
* Add new axes for joysticks and mouse wheels.Jeff Brown2011-02-191-0/+30
| | | | | | | | | | | | | | | | | | Added API on InputDevice to query the set of axes available. Added API on KeyEvent and MotionEvent to convert keycodes and axes to symbolic name strings for diagnostic purposes. Added API on KeyEvent to query if a given key code is a gamepad button. Added a new "axis" element to key layout files to specify the mapping between raw absolute axis values and motion axis ids. Expanded the axis bitfield to 64bits to allow for future growth. Modified the Makefile for keyboard prebuilts to run the keymap validation tool during the build. Added layouts for two game controllers. Added default actions for game pad button keys. Added more tests. Fixed a bunch of bugs. Change-Id: I73f9166c3b3c5bcf4970845b58088ad467525525
* Fix a regression with MotionEvent parceling.Jeff Brown2011-02-171-25/+25
| | | | | | Also added some more unit tests. Change-Id: I413654294d1a998eec056884e6df5eaa50f3daf4
* Add support for arbitrary axes in MotionEvents.Jeff Brown2011-02-152-12/+49
| | | | | | | | | | | This change makes it possible to extend the set of axes that are reported in MotionEvents by defining new axis constants. The MotionEvent object is now backed by its C++ counterpart to avoid having to maintain multiple representations of the same data. Change-Id: Ibe93c90d4b390d43c176cce48d558d20869ee608
* Merge "Add joystick support to framework."Jeff Brown2011-01-172-0/+19
|\
| * Add joystick support to framework.Jeff Brown2011-01-172-0/+19
| | | | | | | | Change-Id: I95374436708752e1a9cff3f85c5b9bc3e0987961
* | Add API to get path to OBBs.Dianne Hackborn2011-01-161-0/+7
| | | | | | | | | | | | | | | | | | Also hide the bitmap thumbnail stuff, we can't support it in its current form. And fix some bugs with propagating paths to native code. Yikes! Change-Id: I13ab37ddbdba5c073489cba5eab035117d3c1574
* | Flush Binder commands in ndk looper.Jeff Brown2011-01-161-1/+5
|/ | | | | Bug: 3258183 Change-Id: Id79757d7b5c98333b4d3f39ce79ecc76b7be6941
* Introduce NDK API for 64-bit assetsKenny Root2010-12-132-2/+65
| | | | | | | Assets were switched to using 64-bit all through the system, so switch the NDK to using this new API as well. Change-Id: I2817b11369db3a4dd504b839ef1a3a9780b83533
* Merge "Change assets to use 64-bit API"Kenny Root2010-12-081-1/+1
|\
| * Change assets to use 64-bit APIKenny Root2010-12-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The asset system and supporting libraries were using off_t instead of off64_t to access files larger than 2GB (32-bit signed). This change replaces all off_t with off64_t and lseek64. There is a new utils/Compat.h added for Mac OS compatibility. Also fixed some size-related compiler warnings. Bug: 3205336 Change-Id: I9097b3cb7a602e811fe52f245939d8975da55e9e
* | Add support for fallback keycodes.Jeff Brown2010-12-072-1/+10
|/ | | | | | | | | | | | | | | | | | | | | | | | | | This change enables the framework to synthesize key events to implement default behavior when an application does not handle a key. For example, this change enables numeric keypad keys to perform their associated special function when numlock is off. The application is informed that it is processing a fallback keypress so it can choose to ignore it. Added a new keycode for switching applications. Added ALT key deadkeys. New default key mappings: - ESC -> BACK - Meta+ESC -> HOME - Alt+ESC -> MENU - Meta+Space -> SEARCH - Meta+Tab -> APP_SWITCH Fixed some comments. Fixed some tests. Change-Id: Id7f3b6645f3a350275e624547822f72652f3defe
* Add new keycodes initially used for GoogleTV devices.Jason Bayer2010-11-111-0/+22
| | | | Change-Id: I1b901037d6d401931dd3ec6f7d5e1e6ad165d1c9
* Tell system server whether the app handled input events.Jeff Brown2010-11-081-1/+1
| | | | | | | | | | Refactored ViewRoot, NativeActivity and related classes to tell the dispatcher whether an input event was actually handled by the application. This will be used to move more of the global default key processing into the system server instead of the application. Change-Id: If06b98b6f45c543e5ac5b1eae2b3baf9371fba28
* Rename the locked meta key constants for clarity.Jeff Brown2010-11-051-6/+6
| | | | | | Also added some tests for LED setting. Change-Id: I3fd86322afd07ae8de52d1ccbc2fae2c6d586641
* Add plumbing for volume mute key.Jeff Brown2010-11-021-1/+1
| | | | | | | | Full support for the volume mute key will be implemented in a later change. Bug: 2912307 Change-Id: I98c27d6360f159c8b7447e04b45f442eff87b38a
* am 1b98a9e6: am 5219dd8e: Merge "add format parameter to setBufferGeometry" ↵Mathias Agopian2010-10-262-3/+3
|\ | | | | | | into gingerbread
| * add format parameter to setBufferGeometryMathias Agopian2010-10-252-3/+3
| | | | | | | | Change-Id: I7cc2acdc6e65e9468ecfd5b2f22e6b495a383be9
* | am c2f78020: am 23656899: Merge "Fix issue #3126018: No way to specify ↵Dianne Hackborn2010-10-241-2/+30
|\ \ | |/ | | | | | | | | | | | | | | NativeActivity\'s native method" into gingerbread Merge commit 'c2f78020d3887539fc90230d96465e4b1dc84d8e' * commit 'c2f78020d3887539fc90230d96465e4b1dc84d8e': Fix issue #3126018: No way to specify NativeActivity's native method
| * Merge "Fix issue #3126018: No way to specify NativeActivity's native method" ↵Dianne Hackborn2010-10-241-2/+30
| |\ | | | | | | | | | into gingerbread
| | * Fix issue #3126018: No way to specify NativeActivity's native methodDianne Hackborn2010-10-241-2/+30
| | | | | | | | | | | | Change-Id: I59de6a543e7f7f45d963a905829a3f56f32bf8cf
* | | am 2ef36763: am 860c2df4: Merge "Add unit tests for native input and fix ↵Jeff Brown2010-10-241-0/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | bugs identified." into gingerbread Merge commit '2ef36763700eff5679d6012e7f078c57f1a4c465' * commit '2ef36763700eff5679d6012e7f078c57f1a4c465': Add unit tests for native input and fix bugs identified.
| * | Add unit tests for native input and fix bugs identified.Jeff Brown2010-10-231-0/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | am 4f734cab: am 7ce276b5: Merge "Update script for copying NDK ↵Dianne Hackborn2010-10-221-5/+5
|\ \ | |/ | | | | headers/library." into gingerbread
| * Update script for copying NDK headers/library.Dianne Hackborn2010-10-211-5/+5
| | | | | | | | Change-Id: Ia441ce37123d5b5cd343f2746671495705501fb5
* | am 86f1b643: am bf5efba2: Merge "Fix issue #3117918: No way to finish a ↵Dianne Hackborn2010-10-212-0/+10
|\ \ | |/ | | | | | | | | | | | | | | native activity" into gingerbread Merge commit '86f1b643d10e0b5b17ae01db3b81020db87b3295' * commit '86f1b643d10e0b5b17ae01db3b81020db87b3295': Fix issue #3117918: No way to finish a native activity
| * Fix issue #3117918: No way to finish a native activityDianne Hackborn2010-10-212-0/+10
| | | | | | | | Change-Id: Ic53e712f7ab5412d72a31b96ecba252344b91644
* | Add keycodes and meta-key modifiers to support external keyboards.Jeff Brown2010-10-152-1/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | am 2f98a585: am 49ec3dff: Merge "OBB: Change documentation to reflect ↵Kenny Root2010-10-151-4/+4
|\ \ | |/ | | | | | | | | | | | | | | reality" into gingerbread Merge commit '2f98a585cda066689b1b525322c51fcacbc3770b' * commit '2f98a585cda066689b1b525322c51fcacbc3770b': OBB: Change documentation to reflect reality
| * OBB: Change documentation to reflect realityKenny Root2010-10-131-4/+4
| | | | | | | | | | | | | | | | | | 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
* | resolved conflicts for merge of 8bb7a1df to masterKenny Root2010-10-132-34/+128
|\ \ | |/ | | | | Change-Id: Ieec036f494a54eab74a27b954d1423bf981dd3f9
| * OBB: rearrange to be entirely asynchronousKenny Root2010-10-112-34/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | am 22cb4ef8: am d577cfd7: Merge "Switch Looper back to using poll() instead ↵Jeff Brown2010-10-101-0/+9
|\ \ | |/ | | | | | | | | | | | | | | of epoll()." into gingerbread Merge commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5' * commit '22cb4ef8ce9c4d5536ac5cee5c40b82bfa56ccc5': Switch Looper back to using poll() instead of epoll().
| * Switch Looper back to using poll() instead of epoll().Jeff Brown2010-10-071-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | am c3bc8b7b: am 1bfbf19b: Merge "Fix night/notnight resource folder ↵Dianne Hackborn2010-09-301-2/+2
|\ \ | |/ | | | | | | | | | | | | | | handling." into gingerbread Merge commit 'c3bc8b7b08611c8d86919f4695430990bc6b475d' * commit 'c3bc8b7b08611c8d86919f4695430990bc6b475d': Fix night/notnight resource folder handling.
| * Fix night/notnight resource folder handling.Tobias Haamel2010-09-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | resolved conflicts for merge of d8e8186c to masterKenny Root2010-09-285-15/+149
|\ \ | |/ | | | | Change-Id: Ica3f6cd958717ea7033cab8b4bf9cd3425c1e1c5