summaryrefslogtreecommitdiffstats
path: root/libs/ui
Commit message (Collapse)AuthorAgeFilesLines
* Don't build framework tests for simulator target.Jeff Brown2010-07-141-0/+5
| | | | Change-Id: I70f29c7eb307e4f3ec5702f4eb9d97b4342e2f36
* Remove the YV16 format for simplicity's sake.Mathias Agopian2010-07-141-1/+0
| | | | Change-Id: Iee03d100933ba0c67b13d51e0435be3b4cd953cf
* IME events are now dispatched to native applications.Dianne Hackborn2010-07-131-19/+0
| | | | | | | | | | | | | | | And also: - APIs to show and hide the IME, and control its interaction with the app. - APIs to tell the app when its window resizes and needs to be redrawn. - API to tell the app the content rectangle of its window (to layout around the IME or status bar). There is still a problem with IME interaction -- we need a way for the app to deliver events to the IME before it handles them, so that for example the back key will close the IME instead of finishing the app. Change-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd
* Add initial gamepad support.Jeff Brown2010-07-137-786/+884
| | | | Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
* Add ANativeWindow API for directly drawing to the surface bits.Dianne Hackborn2010-07-091-4/+4
| | | | | | | | | | | Also other cleanup and fixes: - We now properly set the default window format to 565. - New APIs to set the window format and flags from native code. - Tweaked glue for simpler handling of the "destroy" message. - Um, other stuff. Change-Id: Id7790a21a2fa9a19b91854d225324a7c1e7c6ade
* Add new glue code for writing native apps.Dianne Hackborn2010-07-081-1/+1
| | | | | | | | | | | | | | | | | This factors out the boiler-plate code from the sample app to a common glue code that can be used for everyone writing this style of app: a dedicated app thread that takes care of waiting for events and processing them. As part of doing this, ALooper has a new facility to allow registration of fds that cause ALooper_pollOnce() to return the fd that has data, allowing the app to drive the loop without callbacks. Hopefully this makes some people feel better. :) Also do some other cleanup of the ALooper API, plus some actual documentation. Change-Id: Ic53bd56bdf627e3ba28a3c093faa06a92be522b8
* More native input dispatch work.Jeff Brown2010-07-032-56/+79
| | | | | | | | | | Removed old input dispatch code. Refactored the policy callbacks. Pushed a tiny bit of the power manager state down to native. Fixed long press on MENU. Made the virtual key detection and cancelation a bit more precise. Change-Id: I5d8c1062f7ea0ab3b54c6fadb058c4d5f5a9e02e
* remove unused YUV formatsMathias Agopian2010-07-011-5/+2
| | | | Change-Id: Ie84616f842c7e0329d68e67e65a65d510558004b
* Merge "Introduce official public NativeWindow type." into gingerbreadDianne Hackborn2010-06-301-18/+18
|\
| * Introduce official public NativeWindow type.Dianne Hackborn2010-06-301-18/+18
| | | | | | | | | | | | | | Not yet hooked up to anything in the NDK, but requires renaming the existing android_native_window_t type everywhere. Change-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e
* | Merge "fix live wallpapers on Droid" into gingerbreadMathias Agopian2010-06-301-12/+0
|\ \
| * | fix live wallpapers on DroidMathias Agopian2010-06-301-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | On omap3 h/w we force opaque formats to RGB_565 instead of RGBX_8888 because the GL driver doesn't support it. RGBX_8888 is always remapped to RGBA_8888. Change-Id: I0bfabeb98c8d3a399079e6797cf2a0ee95915324
* | | Fix injection of specially intercepted keys like HOME.Jeff Brown2010-06-301-4/+0
| |/ |/| | | | | | | | | | | | | This change mainly unwinds a premature optimization in the dispatch pipeline. To test HOME injection, run 'adb shell input keyevent 3'. Change-Id: I1c4b7377c205da7c898014b8b07fc6dc1d46e4dd
* | Implement default key handling for native code.Dianne Hackborn2010-06-301-0/+64
| | | | | | | | | | | | | | | | | | The native code now maintains a list of all keys that may use default handling. If the app finishes one of these keys without handling it, the key will be passed back off to Java for default treatment. Change-Id: I6a842a0d728eeafa4de7142fae573f8c11099e18
* | Fix native input dispatch in the emulator.Jeff Brown2010-06-292-28/+87
| | | | | | | | | | | | | | | | | | | | Set a default orientation of ROTATION_0. Added some more careful checks based on whether we have valid absolute axis information from the driver. Reset key repeating during configuration changes since the keyboard device may have been removed. Change-Id: I685960828acffcb17595fc5683309e8064a76714
* | Update native activity & event APIs to follow correct conventions.Dianne Hackborn2010-06-291-4/+4
|/ | | | Change-Id: Ie64fb3a9c68bc9c117fa5621b75d1f609e304e0e
* Native input event dispatching.Jeff Brown2010-06-284-41/+108
| | | | | | | | | Target identification is now fully native. Fixed a couple of minor issues related to input injection. Native input enabled by default, can be disabled by setting WindowManagerPolicy.ENABLE_NATIVE_INPUT_DISPATCH to false. Change-Id: I7edf66ed3e987cc9306ad4743ac57a116af452ff
* Remember to initialize timestamps in the dispatch allocatorChristopher Tate2010-06-231-0/+1
| | | | Change-Id: I83a2d353c34ff84a7d130e602c6dedc6a5541944
* First stab at attaching native event dispatching.Dianne Hackborn2010-06-222-163/+19
| | | | | | | | | | | | Provides the basic infrastructure for a NativeActivity's native code to get an object representing its event stream that can be used to read input events. Still work to do, probably some API changes, and reasonable default key handling (so that for example back will still work). Change-Id: I6db891bc35dc9683181d7708eaed552b955a077e
* remove unused YUV formatsMathias Agopian2010-06-211-1/+0
| | | | Change-Id: Id0ae28b1700cf771cdbe0ca27b139d32cab90b2a
* Merge "Added support for the GL_TEXTURE_EXTERNAL target" into gingerbreadMathias Agopian2010-06-211-2/+0
|\
| * Added support for the GL_TEXTURE_EXTERNAL targetMathias Agopian2010-06-151-2/+0
| | | | | | | | | | | | This will allow us to support YUV surfaces. Change-Id: I2d4da75f1006a5285bdc552695d4caeecccf2183
* | More native input event dispatching.Jeff Brown2010-06-213-135/+341
| | | | | | | | | | | | | | | | | | | | | | Added ANRs handling. Added event injection. Fixed a NPE ActivityManagerServer writing ANRs to the drop box. Fixed HOME key interception. Fixed trackball reporting. Fixed pointer rotation in landscape mode. Change-Id: I50340f559f22899ab924e220a78119ffc79469b7
* | Even more native input dispatch work in progress.Jeff Brown2010-06-178-66/+747
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added more tests. Fixed a regression in Vector. Fixed bugs in pointer tracking. Fixed a starvation issue in PollLoop when setting or removing callbacks. Fixed a couple of policy nits. Modified the internal representation of MotionEvent to be more efficient and more consistent. Added code to skip/cancel virtual key processing when there are multiple pointers down. This helps to better disambiguate virtual key presses from stray touches (such as cheek presses). Change-Id: I2a7d2cce0195afb9125b23378baa94fd2fc6671c
* | Merge "More work in progress on native events." into gingerbreadJeff Brown2010-06-153-219/+442
|\ \ | |/ |/|
| * More work in progress on native events.Jeff Brown2010-06-153-219/+442
| | | | | | | | | | | | | | | | Refactored the code to eliminate potential deadlocks due to re-entrant calls from the policy into the dispatcher. Also added some plumbing that will be used to notify the framework about ANRs. Change-Id: Iba7a10de0cb3c56cd7520d6ce716db52fdcc94ff
* | Support for multiple testsJeff Brown2010-06-141-4/+9
|/ | | | | | | The build system enforces some invariants that were being ignored before. Change-Id: Ie7675042af7f961a507386c13b2a0b592b591af8
* Fix include paths.Jeff Brown2010-06-132-3/+0
| | | | Change-Id: Ifda45688f9f02710a74d5d7a7d902bacf1441e2e
* Native input dispatch rewrite work in progress.Jeff Brown2010-06-1311-80/+4361
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old dispatch mechanism has been left in place and continues to be used by default for now. To enable native input dispatch, edit the ENABLE_NATIVE_DISPATCH constant in WindowManagerPolicy. Includes part of the new input event NDK API. Some details TBD. To wire up input dispatch, as the ViewRoot adds a window to the window session it receives an InputChannel object as an output argument. The InputChannel encapsulates the file descriptors for a shared memory region and two pipe end-points. The ViewRoot then provides the InputChannel to the InputQueue. Behind the scenes, InputQueue simply attaches handlers to the native PollLoop object that underlies the MessageQueue. This way MessageQueue doesn't need to know anything about input dispatch per-se, it just exposes (in native code) a PollLoop that other components can use to monitor file descriptor state changes. There can be zero or more targets for any given input event. Each input target is specified by its input channel and some parameters including flags, an X/Y coordinate offset, and the dispatch timeout. An input target can request either synchronous dispatch (for foreground apps) or asynchronous dispatch (fire-and-forget for wallpapers and "outside" targets). Currently, finding the appropriate input targets for an event requires a call back into the WindowManagerServer from native code. In the future this will be refactored to avoid most of these callbacks except as required to handle pending focus transitions. End-to-end event dispatch mostly works! To do: event injection, rate limiting, ANRs, testing, optimization, etc. Change-Id: I8c36b2b9e0a2d27392040ecda0f51b636456de25
* allow re-targetting of surfacesMathias Agopian2010-06-081-0/+3
| | | | | | | | | Surfaces can now be parcelized and sent to remote processes. When a surface crosses a process boundary, it looses its connection with the current process and gets attached to the new one. Change-Id: I39c7b055bcd3ea1162ef2718d3d4b866bf7c81c0
* split surface management from surface's buffers managementMathias Agopian2010-06-041-13/+3
| | | | Change-Id: If3c5655d1231f8f0c49ba68f972b1b20c93b3f87
* fix a bug where fading in/out of opaque 32-bits windows wasn't workingMathias Agopian2010-06-011-3/+12
| | | | | | | | | | | opaque 32-bits windows are now allocated as RGBX_8888 buffers and SurfaceFlinger always uses GL_MODULATE instead of trying to optimize to GL_REPLACE when possible (makes no sense on h/w accelerated GL). we still have a small hack for devices that don't support RGBX_8888 in their gralloc implementation where we revert to RGBA_8888.
* when a zero dimension buffer is allocated, turn the allocation intoMathias Agopian2010-04-151-10/+9
| | | | | | a 1x1 buffer instead of Nx1 (or 1xN) Change-Id: I27eeb15e83e13002dd9405f4e52b54f7dffc0fe7
* fix [2545826] calling into gralloc with external lock heldMathias Agopian2010-03-251-4/+0
| | | | Change-Id: I2d0e017382404c684c768a0dd0423d574213f10a
* implement connect/disconnect in our native_window_t implementationsMathias Agopian2010-03-111-0/+2
| | | | | | | | the framebuffer implementation doesn't do anything special with this but the surfaceflinger implementation makes sure the surface is not used by two APIs simultaneously. Change-Id: Id4ca8ef7093d68846abc2ac814327cc40a64b66b
* Calculate bitmask array sizes correctly in the EventHubChristopher Tate2010-03-041-8/+8
| | | | | | | | | | | We've gotten lucky to date: the previous calculation of bitmask array sizes, (maxval+1)/8 only works properly when 'maxval' is one less than a multiple of 8. Fortunately, this has either been the case for us, or there has been sufficient 'unused' space at the end of the defined max value range that we haven't wound up overreading/overwriting the allocated buffers. Change-Id: I563a93a86644ab9f19489565e06c28e06bb53abc
* Fix #2489986 : The key bitmask needs to cover all possible keysChristopher Tate2010-03-041-1/+1
| | | | Change-Id: Ieebd2f879e6b6fbc0388655dd66f34be89e809a0
* Maybe fix issue #2482201: Paired bluetooth device looks like a qwerty keyboardDianne Hackborn2010-03-021-14/+12
| | | | | | | | We now only consider a device to be a default keyboard if its name has "-keypad". A hack, but whatever. Also add some debug logging for the input state to help identify such issues in the future.
* remove a dependency of GraphicBuffer (libui) on Parcel (libbinder).Mathias Agopian2010-02-211-42/+83
| | | | | | | | | Add a Flattenable interface to libutils which can be used to flatten an object into bytestream + filedescriptor stream. Parcel is modified to handle Flattenable. And GraphicBuffer implements Flattenable. Except for the overlay classes libui is now independent of libbinder.
* Remove a dependency of Region (libui) on Parcel (libbinder).Mathias Agopian2010-02-171-44/+9
|
* fix a bug I introduced recently where YUV formats would crash the systemMathias Agopian2010-02-161-4/+35
|
* get rid off the YUV formats at the libui layerMathias Agopian2010-02-161-3/+0
|
* split libsurfaceflinger_client and libcamera_client out of libuiMathias Agopian2010-02-1114-3742/+1
|
* Merge "Remove some logs."Wu-cheng Li2010-02-102-2/+2
|\
| * Remove some logs.Wu-cheng Li2010-02-102-2/+2
| |
* | Add exposure compensation parameter.Wu-cheng Li2010-02-091-0/+2
|/ | | | bug:2375993
* Add float support for set and get in CameraParameters.Wu-cheng Li2010-01-311-0/+14
| | | | | bug:2375989 bug:2375987
* Add focal length and view angle API.Wu-cheng Li2010-01-301-0/+3
| | | | bug:2375989,2375987
* Merge "Add support for setting camera display orientation."Chih-Chung Chang2010-01-271-20/+0
|\
| * Add support for setting camera display orientation.Chih-Chung Chang2010-01-261-20/+0
| |