f53f9c6d3668490f6c68f5c094c28f645c1b3da3 |
11-Dec-2012 |
Jamie Gennis <jgennis@google.com> |
[DO NOT MERGE] GraphicBufferAllocator: stall alloc for async frees This change makes GraphicBufferAllocator::alloc wait for pending async frees to complete before attempting to allocate a gralloc buffer if there are more than 8 pending async frees. Bug: 7696861 Change-Id: I1fae86e13edefcaa153b8ce9fd057f335716059e
raphicBufferAllocator.cpp
|
2e59d2c3fdc0bcfedbe9c5d04d7acadc3eff8887 |
07-Dec-2012 |
Jamie Gennis <jgennis@google.com> |
DO NOT MERGE GraphicBufferAllocator: make frees async This change makes GraphicBufferAllocator::free queue a job to another thread to perform the actual free operation. This prevents potentially slow free operations from blocking rendering. Bug: 7675940 Change-Id: Id61099d66bb4c3949d04184e0d7f192ac18076b4
raphicBufferAllocator.cpp
|
b5c9dcdf3bdab1862047060b8e18c9d1831db8bb |
09-Oct-2012 |
Mathias Agopian <mathias@google.com> |
Fence didn't manager sync_wait error codes properly error codes are returned in errno, this caused ::waitForwever() to only wait for 1 second and return improper error code (-1). needed to help debugging 7316632 Bug: 7316632 Change-Id: Ie144f614a88393393972a3a770c6b4b0581f961a
ence.cpp
|
ba607d53c6a94ea8c4c12571980c4ad159af308b |
01-Oct-2012 |
Jesse Hall <jessehall@google.com> |
Add Fence::waitForever which logs a warning timeout, and use it Bug: 7217641 Change-Id: If0c1a613ead307c4045a47824174bf40c72bc7d7
ence.cpp
|
4803b74e2a12a508f7bbfde6f6a962fe3299c61c |
25-Sep-2012 |
Andy McFadden <fadden@android.com> |
Show build config in dumpsys SurfaceFlinger This adds a line to the "dumpsys SurfaceFlinger" output that shows build-time configuration values. Example: Build configuration: [sf HAS_CONTEXT_PRIORITY] [libui] \ [libgui USE_FENCE_SYNC] Bug 7206633 Change-Id: Ibe1856b459d34a4be6ee83a4ebfd2807e6cc68a0
ndroid.mk
iConfig.cpp
|
9ca6491bb701919a3f88fa7c43da284b13822ed6 |
13-Sep-2012 |
Mathias Agopian <mathias@google.com> |
Region::validate() cannot be called from addRectUnchecked() addRectUnchecked() is allowed to be in an invalid state temporarily. Change-Id: I6f5162b5c49f378978c070a77abba35023fe918c
egion.cpp
|
068d47f29dfead847999a7b33b4217ee9514152b |
12-Sep-2012 |
Mathias Agopian <mathias@google.com> |
strengthen region validation Change-Id: I75ee7bc4dd7a2f5357ac8994a23bc8b8bfb6eb44
egion.cpp
|
2401ead70099c982796ecc3ec63ec8a5570948fc |
01-Sep-2012 |
Mathias Agopian <mathias@google.com> |
Add a way to retrieve a Region as a SharedBuffer Change-Id: Ia53cb905fbc88f899521658545f990fb9217b1e1
egion.cpp
|
3ab68558fa5a4b8f792a54965a010f03385bd271 |
31-Aug-2012 |
Mathias Agopian <mathias@google.com> |
change how we store Region data internally We used to keep the bounds of the region as a separate rectangle. Instead we now store it as the last element of the Vector<> of Rects. This has the benefit of being slightly more efficient when copying regions and reduces the overhead of small regions, but more importantly will allow us to export the underlaying SharedBuffer (eventually). Change-Id: I80790e4fb1a09a747a5616000cfef852ac4ce9e9
egion.cpp
|
4c0a170585d5c8a1f3508ac55f799ebaf86e91db |
31-Aug-2012 |
Mathias Agopian <mathias@google.com> |
don't generate a new Region when translating by 0,0 since regions are copy-on-write, this prevents to duplicate the region entirely and offseting by 0,0 is fairly common. Change-Id: I9b8c286315a2e00dda01c2456397d72b5e12006b
egion.cpp
|
d69097f936d9780957a51ce77335ae409b32aaa3 |
30-Aug-2012 |
Jamie Gennis <jgennis@google.com> |
libgui: add some error checks This change adds a few error checks both in the framework and in some tests. Change-Id: I2baf2676942a0dc15866e75852a775a0091ed16d
raphicBuffer.cpp
|
8683fca395d01734ec7946e9f0595ec5d7b754c6 |
13-Aug-2012 |
Mathias Agopian <mathias@google.com> |
improve [un]marshalling of non-binder objects this change introduces a new class LightFlattenable<> which is a protocol to flatten simple objects that don't require binders or file descriptors; the benefit of this protocol is that it doesn't require the objects to have a virtual table and give us a consitant way of doing this. we also introduce an implementation of this protocol for POD structures, LightFlattenablePod<>. Parcel has been update to handle this protocol automatically. Sensor, Rect, Point and Region now use this new protocol. Change-Id: Icb3ce7fa1d785249eb666f39c2129f2fc143ea4a
egion.cpp
|
e21facef01b2e8d2558e4561639eaf9ff135e312 |
31-Jul-2012 |
Mathias Agopian <mathias@google.com> |
Merge "log more info on fence sync_merge error" into jb-mr1-dev
|
d83d67b5d5e98b7f0bdf54b68f6ea28fa4905a33 |
31-Jul-2012 |
Mathias Agopian <mathias@google.com> |
log more info on fence sync_merge error also fix a typo where the wrong value was passed to sterror. Change-Id: I4df2abe582e14c8f816b65818f4593a6bd3c23ea
ence.cpp
|
747c480b0e3cf9401ff53421be6a82b23fdc04c2 |
28-Jul-2012 |
Ed Heyl <ed@google.com> |
Merge remote-tracking branch 'goog/jb-dev-mako' into jb-mr1-dev Conflicts: include/media/hardware/CryptoAPI.h Change-Id: I84bf34edbef000558f088bbf1d1e5b55d6217d2e
|
0bc64be3f5198f8dda1ced21bbc957a1d76efbb7 |
29-Jun-2012 |
Naseer Ahmed <naseer@codeaurora.org> |
libs/ui: Add support for triple framebuffers Change-Id: I90dd38deeeda9a3785b87286cc7d252c6f948750
ramebufferNativeWindow.cpp
|
c777b0b3b9b0ea5d8e378fccde6935765e28e329 |
28-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Pass fences with buffers from SurfaceTextureClient Change-Id: I09b49433788d01e8b2b3684bb4d0112be29538d3
ence.cpp
|
f9783af225aa3b41ec0af36f90941a714269abb7 |
25-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Return fence to client in dequeuBuffer Change-Id: Ic19750793ad993f0e85391f3cabd743ba565d4c9
ence.cpp
|
ef19414bd8b77a26f5751f3845be79025a8263fe |
14-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Transfer HWC release fences to BufferQueue After a HWC set, each SurfaceFlinger Layer retrieves the release fence HWC returned and gives it to the layer's SurfaceTexture. The SurfaceTexture accumulates the fences into a merged fence until the next updateTexImage, then passes the merged fence to the BufferQueue in releaseBuffer. In a follow-on change, BufferQueue will return the fence along with the buffer slot in dequeueBuffer. For now, dequeueBuffer waits for the fence to signal before returning. The releaseFence default value for BufferQueue::releaseBuffer() is temporary to avoid transient build breaks with a multi-project checkin. It'll disappear in the next change. Change-Id: Iaa9a0d5775235585d9cbf453d3a64623d08013d9
ence.cpp
|
a74cbc06493ed941a8a54f2f1d0074f03fc9aafb |
21-Jun-2012 |
Jesse Hall <jessehall@google.com> |
Move remaining bits of lockBuffer to dequeueBuffer FramebufferNativeWindow::dequeueBuffer now waits for the next buffer to be non-front in addition to being free. Change-Id: I991f154958cc6b488b1241aba83d1f95a0513b3c
ramebufferNativeWindow.cpp
|
d8e812ce6fe9ae0388e98b08456e1d18b9498239 |
14-Jun-2012 |
Jamie Gennis <jgennis@google.com> |
Update ANativeWindow clients for sync This change updates the uses of ANativeWindow to use the new ANW functions that accept and return Sync HAL fence file descriptors. Change-Id: I3ca648b6ac33f7360e86754f924aa072f95242f6
ndroid.mk
ramebufferNativeWindow.cpp
|
f25e183a70bd631f75dce51e85b7d568472a0cdb |
14-Jun-2012 |
Jamie Gennis <jgennis@google.com> |
libui: add the Fence class This change adds the Fence class to libui for to wrap the libsync functionality. Change-Id: I93a31baeee608b93c14da807a32013dabf783f84
ence.cpp
|
f15a83f5814219c167f87cb8aaea622fc8493499 |
11-May-2012 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: add a crop to the layer state This change adds a crop rectangle specified in window coordinates to the layer state. The all window pixels outside this crop rectangle are treated as though they were fully transparent. This change also adds the plumbing necessary for WindowManager to set that crop. Change-Id: I582bc445dc8c97d4c943d4db8d582a6ef5a66081
ect.cpp
|
59332804306c054082a39e9b004146bd03ae1d30 |
07-May-2012 |
Jamie Gennis <jgennis@google.com> |
libui: add the Rect::transform method This change adds a method to Rect to transform a rectangle by a graphics HAL transform. Change-Id: Ic0d0988e731bdb5662faee41a5927b1242891658 Bug: 6299171
ect.cpp
|
6b8bef64f7ed94a45c1b03f65f4bffb9eba86889 |
25-Apr-2012 |
Mathias Agopian <mathias@google.com> |
PixelFormat.UNKNOWN should return an error when queried Bug: 6294260 Change-Id: Iad6f7bcbdda0a684abca6d9584da611a8b28f7ab
ixelFormat.cpp
|
3aecbb0715cb6928e0530ff1e4caa9c0993cc371 |
17-Apr-2012 |
Mathias Agopian <mathias@google.com> |
fix Region const_iterator. - it returned an empty rect when the region was empty, instead of returning an empty list of rect. - also fixed an infinite loop when boolean_operation was given an empty list of rects Change-Id: I62225c7dcd2832025bb8f12e6cb3762f2a7b36cb
egion.cpp
|
cf56319d4deb2215e5274f321f7fee71caa1ada1 |
01-Mar-2012 |
Mathias Agopian <mathias@google.com> |
add more tracing for buffer allocation Change-Id: I8408850d0625985992ef2e2cd0c9f300b1fca293
raphicBufferAllocator.cpp
raphicBufferMapper.cpp
|
5f2165f9455d4893b581b73a67c5431f4344b47e |
25-Feb-2012 |
Mathias Agopian <mathias@google.com> |
remove dependency on android_native{s_priv|buffer}.h Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
ramebufferNativeWindow.cpp
raphicBuffer.cpp
|
870b8aa15cb5c722b5d8eb7726eaa5f1a7c23d69 |
25-Feb-2012 |
Mathias Agopian <mathias@google.com> |
remove libui dependency on libEGL Change-Id: I1194f04085637d5c384e134967249430cc43b6ee
ndroid.mk
GLUtils.cpp
|
ff615cc7a1cceedd705b0623b058c54669b29596 |
24-Feb-2012 |
Mathias Agopian <mathias@google.com> |
deprecate L_8, LA_88 and RGB_332 in sdk re-add support for pixelformats L_8, LA_88 and RGB_332 in libui for backward compatibility. This may or may not fix 6058926 Bug: 6049685 Change-Id: Ic1b8b4cc994522f7fe664da64c0ef76b98bc6d53
ixelFormat.cpp
|
20b05f91926aba1097191318a37693ca606b0367 |
23-Feb-2012 |
Dima Zavin <dima@android.com> |
Merge "libui: add ability to force a framebuffer format for EGL's use"
|
c6cd27cbf3ddec77cca97e5bd2b257f80ea99706 |
22-Feb-2012 |
Dima Zavin <dima@android.com> |
libui: add ability to force a framebuffer format for EGL's use This does not actually change the framebuffer format. It merely fakes this format to surfaceflinger so that when it creates framebuffer surfaces it will use this format. It's really a giant HACK to allow interworking with buggy gralloc+GPU driver implementations. You should *NEVER* need to set this for shipping devices. Change-Id: I03eeb5b4d72838ef219df386ecc489fc20ab9cc7 Signed-off-by: Dima Zavin <dima@android.com>
ndroid.mk
ramebufferNativeWindow.cpp
|
42e2458144778596281ea2c4a98ad671053234e0 |
22-Feb-2012 |
Mathias Agopian <mathias@google.com> |
remove libui's dependency on libpixelflinger this also remove support for unused pixelformats. Change-Id: I2c759a6d2daa740f3786ed62095def8047ae933d
ndroid.mk
ixelFormat.cpp
|
4f4c10104e8fbeed5dfeefb542e0bc5392daf9a5 |
21-Feb-2012 |
Mathias Agopian <mathias@google.com> |
frameworks/base refactoring create the new libandroidfw from parts of libui and libutils Change-Id: I1584995616fff5d527a2aba63921b682a6194d58
ndroid.mk
nput.cpp
nputTransport.cpp
eyCharacterMap.cpp
eyLayoutMap.cpp
eyboard.cpp
irtualKeyMap.cpp
ests/Android.mk
ests/InputChannel_test.cpp
ests/InputEvent_test.cpp
ests/InputPublisherAndConsumer_test.cpp
|
80c39180425d6053ca536f68351bee3c5a351cc4 |
18-Feb-2012 |
Mathias Agopian <mathias@google.com> |
frameworks/base refactoring. First step. Move libui includes to their new home: androidfw. Change-Id: Ic042b52fdba72f30edc3cc6339bf30b4c1b99662
nput.cpp
nputTransport.cpp
eyCharacterMap.cpp
eyLayoutMap.cpp
eyboard.cpp
irtualKeyMap.cpp
ests/InputChannel_test.cpp
ests/InputEvent_test.cpp
ests/InputPublisherAndConsumer_test.cpp
|
a18829ab231384858456a8a67b06a3f1e37d2794 |
13-Feb-2012 |
Jeff Brown <jeffbrown@google.com> |
Accurately track the sequence numbers of batched events. Instead of sending finished signals immediately when appending to a batch, record the chain of sequence numbers that were part of the batch and then send finished signals all at once when done. This change helps the dispatcher keep track of the true state of the application and can improve ANR detection slightly. This is part of a series of changes to improve input system pipelining. Bug: 5963420 Change-Id: I463c2221e2aa8fdf1c3d670c18e39e59ab69b0db
nputTransport.cpp
|
0a63adaff2ffa945f5e105ee39aec9dcf22954e7 |
13-Feb-2012 |
Jeff Brown <jeffbrown@google.com> |
Enable deferred input messages to be batched. This is part of a series of changes to improve input system pipelining. Bug: 5963420 Change-Id: I6874d2128e880a35c6c33890c858cc6ee22af0fd
nputTransport.cpp
|
f0490c94d01aa7536e4fd3bdf6a888099ba9a5c6 |
07-Feb-2012 |
Jeff Brown <jeffbrown@google.com> |
Implement batching of input events on the consumer side. To support this feature, the input dispatcher now allows input events to be acknowledged out-of-order. As a result, the consumer can choose to defer handling an input event from one device (because it is building a big batch) while continuing to handle input events from other devices. The InputEventReceiver now sends a notification when a batch is pending. The ViewRoot handles this notification by scheduling a draw on the next sync. When the draw happens, the InputEventReceiver is instructed to consume all pending batched input events, the input event queue is fully processed (as much as possible), and then the ViewRoot performs traversals as usual. With these changes in place, the input dispatch latency is consistently less than one frame as long as the application itself isn't stalled. Input events are delivered to the application as soon as possible and are handled as soon as possible. In practice, it is no longer possible for an application to build up a huge backlog of touch events. This is part of a series of changes to improve input system pipelining. Bug: 5963420 Change-Id: I42c01117eca78f12d66d49a736c1c122346ccd1d
nputTransport.cpp
ests/InputChannel_test.cpp
ests/InputPublisherAndConsumer_test.cpp
|
cd50850d4825e597b48ff2ad88a8ac33f74ac6cf |
07-Feb-2012 |
Jeff Brown <jeffbrown@google.com> |
Dispatch multiple touch events in parallel. This change enables the input dispatcher to send multiple touch events to an application without waiting for them to be acknowledged. Essentially this is a variation on the old streaming optimization but it is much more comprehensive. Event dispatch will stall as soon as 0.5sec of unacknowledged events are accumulated or a focused event (such as a key event) needs to be delivered. Streaming input events makes a tremendous difference in application performance. The next step will be to enable batching of input events on the client side once again. This is part of a series of changes to improve input system pipelining. Bug: 5963420 Change-Id: I025df90c06165d719fcca7f63eed322a5cce4a78
nputTransport.cpp
|
6cdee9831d8d2bf8393c2d130cbdc2eced125e15 |
04-Feb-2012 |
Jeff Brown <jeffbrown@google.com> |
Rewrite input transport using sockets. Since we will not longer be modifying events in place, we don't need to use an ashmem region for input. Simplified the code to instead use a socket of type SOCK_SEQPACKET. This is part of a series of changes to improve input system pipelining. Bug: 5963420 Change-Id: I05909075ed8b61b93900913e44c6db84857340d8
nputTransport.cpp
ests/InputChannel_test.cpp
ests/InputPublisherAndConsumer_test.cpp
|
b8a2e98cd7edbe7513543670c94f6b5efa74462f |
08-Feb-2012 |
Romain Guy <romainguy@google.com> |
Preliminary support for clipRect(Rect, Op) This adds basic support for clip regions. It is currently disabled at compile time. Enabling clip regions will require setting up a stencil buffer. Change-Id: I638616a972276e38737f8ac0633692c3845eaa74
egion.cpp
|
55ef343331f5efbfe3e01bc9993d94faea236048 |
07-Jan-2012 |
Mathias Agopian <mathias@google.com> |
remove dead/usnused code Change-Id: I6fa2bc6ee01790abd2c1533f043d61a5e5c8d26e
ndroid.mk
ramebufferNativeWindow.cpp
raphicLog.cpp
|
e6f43ddce78d6846af12550ff9193c5c6fe5844b |
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
ramebufferNativeWindow.cpp
raphicBuffer.cpp
raphicBufferAllocator.cpp
raphicBufferMapper.cpp
nputTransport.cpp
eyCharacterMap.cpp
eyLayoutMap.cpp
eyboard.cpp
egion.cpp
irtualKeyMap.cpp
|
32397c1cd3327905173b36baa6fd1c579bc328ff |
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
raphicBufferAllocator.cpp
raphicBufferMapper.cpp
nput.cpp
|
9d4536835248525f32f1504a3d28d5bbfa0a2910 |
20-Dec-2011 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
raphicBufferAllocator.cpp
nput.cpp
nputTransport.cpp
eyCharacterMap.cpp
eyLayoutMap.cpp
egion.cpp
irtualKeyMap.cpp
ests/region/region.cpp
|
882b0a59d834be5b595713079f31a2389c32fdda |
16-Nov-2011 |
Jeff Brown <jeffbrown@google.com> |
Eliminate hw.keyboards system properties. Stop using system properties to publish information about the key character map path. Instead, we can retrieve it on demand by asking the window manager. It was possible to exhaust the supply of system properties when repeatedly adding and removing input devices. Bug: 5532806 Change-Id: Idd361a24ad7db2edc185c8546db7fb05f9c28669
eyCharacterMap.cpp
eyboard.cpp
|
0857c8f7f1905008b285a5473c906639fdd0288b |
27-Sep-2011 |
Mathias Agopian <mathias@google.com> |
Region cannot handle malformed Rects. Abort the Region op in that case. Bug: 5331198, 5334829 Change-Id: Ib1fdbf6fb291e7f1191ccfe16b5ff29d73e7a474
egion.cpp
|
0450452e8c6ea48341d57d8bc51d56252e9806b8 |
20-Sep-2011 |
Mathias Agopian <mathias@google.com> |
Make sure Region handles invalid rectangles the boolean operation code assumes rects are valid and could go into an infinite loop if not. make sure we abort before that happens. Bug: 5331198, 5334829 Change-Id: Iee4e3b838ecf504ef21f7447fd2e34a56e7dc3f8
egion.cpp
|
df9440f62fa09773e0b5bd1ecf7815e8f7fb844c |
17-Sep-2011 |
Jeff Brown <jeffbrown@google.com> |
Can't stop the fling! Bug: 5335420 Fixed a bug in VelocityTracker where the output velocity was not being set to zero when not available. Added a condition to ensure that the velocity is at least the minimum fling velocity before continuing. If not, then the user is trying to stop the fling and scroll more precisely. Change-Id: I36634b0c3f7a9a09cf20c33f71d41163a8e33eed
nput.cpp
|
73aaf0d8d22fa18e9336bdfcb97a01a242d17a23 |
14-Sep-2011 |
Jeff Brown <jeffbrown@google.com> |
Velocity Tracker II: The Revenge of Velocity Tracker Bug: 5265529 Rewrote the velocity tracker to fit a polynomial curve to pointer movements using least squares linear regression. The velocity is simply the first derivative of this polynomial. Clients can also obtain an Estimator that describes the complete terms of the estimating polynomial including the coefficient of determination which provides a measure of the quality of the fit (confidence). Enhanced PointerLocation to display the movement curve predicted by the estimator in addition to the velocity vector. By default, the algorithm computes a 2nd degree (quadratic) polynomial based on a 100ms recent history horizon. Change-Id: Id377bef44117fce68fee2c41f90134ce3224d3a1
nput.cpp
|
137c3c549504a1bf52b85aa983c97f10533c7083 |
10-Sep-2011 |
Jeff Brown <jeffbrown@google.com> |
Tweak VelocityTracker. Bug: 5265529 Calculate the velocity using the most recent touch sample as the point of reference instead of the oldest. This change more heavily weights recent touch samples and reduces the sample time window used for calculation. This significantly improves the accuracy of fling gesture detection. Change-Id: Ib1940933e786e5f6a731552a99bcd9400741d55f
nput.cpp
|
f9606df42b7b43a6eaa4abd989fef4b7c27a6eae |
16-Aug-2011 |
Mathias Agopian <mathias@google.com> |
revert last change to EGLUtils::selectConfigForPixelFormat EGLUtils::selectConfigForPixelFormat is only used by command line tests and it simply selects a config based on the EGL_NATIVE_VISUAL_ID.
GLUtils.cpp
|
ecc0e1014f1181873773b958770129903dda750d |
02-Aug-2011 |
Jeff Brown <jeffbrown@google.com> |
Merge "Refactor input reader to add stylus support. Bug: 5064702"
|
d05b34a07940f3d6009b90b3eda067a2d0a35d2c |
02-Aug-2011 |
Mathias Agopian <mathias@google.com> |
Merge "connect/disconnect is now called from our EGL wrapper"
|
81a63350527cafce6929309533c58586878f10b5 |
30-Jul-2011 |
Mathias Agopian <mathias@google.com> |
connect/disconnect is now called from our EGL wrapper the original connect/disconnect hooks are deprecated and replace by api_connect/api_disconnect. the original hooks are no no-ops. api_connect/api_disconnect is now only called from the android framework. Bug: 5057915 Change-Id: I8ca64cd1acd6cabf915bf54689ec2e5f6dfa495a
ramebufferNativeWindow.cpp
|
5873ce46adc9e98efd6e5acbe21639a0a4d25c69 |
28-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Refactor input reader to add stylus support. Bug: 5064702 Introduced the concept of an InputListener to further decouple the InputReader from the InputDispatcher. The InputListener exposes just the minimum interface that the InputReader needs to communicate with the outside world. The InputReader passes arguments to the InputListener by reference, which makes it easy to queue them up. Consolidated all of the InputReader locks into one simple global Mutex. The reason this wasn't done before was due to potential re-entrance in outbound calls to the InputDispatcher. To fix this, the InputReader now queues up all of the events it wants to send using a QueuedInputListener, then flushes them outside of the critical section after all of the event processing is finished. Removing all of the InputMapper locks greatly simplifies the implementation. Added tests for new stylus features such as buttons, tool types, and hovering. Added some helpers to BitSet32 to handle common code patterns like finding the first marked bit and clearing it. Fixed a bug in VelocityTracker where the wrong pointer trace could get cleared when handling ACTION_POINTER_DOWN. Oops. Changed PointerCoords so it no longer stores useless zero axis values. Removed editAxisValue because it is not very useful when all zero value axes are absent and therefore cannot be edited in place. Added dispatch of stylus hover events. Added support for distance and tool types. Change-Id: I4cf14d134fcb1db7d10be5f2af7b37deef8f8468
nput.cpp
ests/InputEvent_test.cpp
|
a947de88e7863859e6d7e825b1d45abb596a08e5 |
30-Jul-2011 |
Mathias Agopian <mathias@google.com> |
improve GraphicAllocator dump method GraphicAllocator debugging cannot deal with custom HAL formats. make this more obvious in the log. Change-Id: I202e58a7f213f32e725aa4eac62cdf6e50ca5894
raphicBufferAllocator.cpp
|
0a1fdd7d508a472b6c348a3ab6a9f180eb95b31f |
28-Jul-2011 |
Ying Wang <wangying@google.com> |
Fix uses of all-subdir-makefiles We should use all-makefiles-under instead. all-subdir-makefiles can be used only before any "include" statement. Before this change, both subdirs were actually not included. Change-Id: I6bf35d07f294a5012c9322096f999ac26e37432f
ests/Android.mk
|
bb66c9b5a9c16dee93559eb738746a2d0a9b2db3 |
21-Jul-2011 |
Mathias Agopian <mathias@google.com> |
Fix a few issues with NATIVE_WINDOW_TRANSFORM_HINT - fixed uninitialized variable - set hint to indentity when transform is too complex - make sure FrameBufferNativeWindow doesn't fail on needed perform commands Bug: 4487161 Change-Id: I7cb2b0869b72404732eca7cb2d145ff669e2ed9b
ramebufferNativeWindow.cpp
|
97c602c5af5f3ffd69009bf496d86347b71a2b4c |
20-Jul-2011 |
Mathias Agopian <mathias@google.com> |
implement: "Add an ANativeWindow API for SurfaceFlinger to suggest an optimal buffer orientation" Bug: 4487161 Change-Id: I883f34efe542c2a566d04966f873374f40c50092
ramebufferNativeWindow.cpp
|
7734ebfe47f42f980c1b44c1f284a91d8ad1d6c7 |
14-Jul-2011 |
Mathias Agopian <mathias@google.com> |
Add set_scaling_mode() to ANativeWindow. This allows to specify the scaling mode independently from the buffer size. Change-Id: Iaa2baa660445531a97d3fac192e580f4929c5d3b
ramebufferNativeWindow.cpp
|
8f9dbf9e13b927de2524116c30544f7dfbbbf56c |
14-Jul-2011 |
Mathias Agopian <mathias@google.com> |
move lock/unlock implementaion outside of Surface into SurfaceTextureClient This makes ANativeWindow_lock/ANativeWindow_unlockAndPost work with ANativeWindows implemented by Surface and SurfaceTextureClient. Also, Surface now inherits directly from SurfaceTextureClient. Bug: 5003724 Change-Id: I9f285877c7bae9a262e9a7af91c2bae78804b2ef
ramebufferNativeWindow.cpp
|
8a1d693e592ba872024f7bce647024c4e167836e |
14-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Provide more descriptive name for InputChannel ashmem. Change-Id: I4307de9f717ac4810b1b91ee0c1a3899325acf71
nputTransport.cpp
|
71753982479b9a68e36d43fbb58de0331ea5797c |
12-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Merge "Remove the simulator target from all makefiles. Bug: 5010576"
|
baa44b89ec159fd65230cbb8ebab62d63a513b0b |
12-Jul-2011 |
Jeff Brown <jeffbrown@google.com> |
Remove the simulator target from all makefiles. Bug: 5010576 Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
ndroid.mk
ests/Android.mk
|
bee205fd58a27c10a0895de5339e76025d429d2b |
01-Jul-2011 |
Jamie Gennis <jgennis@google.com> |
EGL: fix the ANativeWindow size/fmt override This change fixes how the Android EGL layer overrides the size and format of an ANativeWindow in eglCreateWindowSurface. The new behavior is to leave the size untouched when overriding the format. The previous behavior was to reset the ANativeWindow to use the default size set by the ANativeWindow implementation. It also adds two new 'perform' methods to the ANativeWindow interface: set_buffers_dimensions and set_buffers_format, and redefines the behavior of set_buffers_geometry to be the combination of these two new methods. Additionally, this change adds an error check for the return value of the new native_window_set_buffers_format call, which required adding a (stub) handler for to FramebufferNativeWindow. Change-Id: I805c7ccd8d4730dfb132d10d8bc3fb058a0b9df1
ramebufferNativeWindow.cpp
|
6163091a2c366f8311fc3ee627dc7deb9681236e |
07-Jul-2011 |
Mathias Agopian <mathias@google.com> |
Fix EGLUtils::selectConfigForPixelFormat() - renderscript now calls EGL directly instead of relying on this function - surfaceflinger also does its own EGLConfig selection - selectConfigForPixelFormat stays for legacy reason (many tests use it) but it now only tries to match the alpha channel of the format rather than the format itself. this will allow implementations who don't support the exact formats defined in the HAL to work properly. Bug: 4998223 Change-Id: Ic664dfc14d5072a514b6f77a115d1521bfc1578f
GLUtils.cpp
|
771e5828e88dd10b56a9ca83bf66127b7a0287ed |
29-Jun-2011 |
Jeff Brown <jeffbrown@google.com> |
Merge "Improve input event consistency invariants."
|
7832080b5aa548602bdf01287ef67b88de5be58c |
29-Jun-2011 |
Jeff Brown <jeffbrown@google.com> |
Improve input event consistency invariants. Fixed some issues where inconsistent streams of events could be generated by the dispatcher, particularly when switching from hovering with one device to hovering with another. Fixed a bug where the touch pad would fail to generate a new HOVER_MOVE following a tap event. As a result, the hover event stream would not resume until the user touched the touch pad again. Change-Id: I444dce84641fb12e56a0af84c931520771d6c493
nputTransport.cpp
|
bae6579eb2690498528dfbc9381419badc8be733 |
27-Jun-2011 |
Andy McFadden <fadden@android.com> |
Remove native EventRecurrence parser Switch over to the new parser. Bug 4575374 Change-Id: If78d8042fb266182900398f7fc464a048c779966
ndroid.mk
ventRecurrence.cpp
|
5d99f17e827a927938e450076857f4cf145074c2 |
08-Jun-2011 |
Jeff Brown <jeffbrown@android.com> |
am 61220e88: am bbbab26e: am 2c180499: Merge "Revert velocity damping. Bug: 4364920" into honeycomb-mr2 * commit '61220e880ac4d9d76b7fd50744439e68e929c697': Revert velocity damping. Bug: 4364920
|
7ca7ba2064d4be0989b310907f5ddca218b58556 |
07-Jun-2011 |
Jeff Brown <jeffbrown@android.com> |
Revert velocity damping. Bug: 4364920 Velocity damping proved to be a bad idea because it would cause a significant ramp in velocity at the beginning of a gesture, instead of the desired smooth behavior. Oh well. Change-Id: Ie631946f47ef2492bd71fbed1ab44bbb39a875a8
nput.cpp
|
36f49c133ec0d9d14ba3a06039f9db435e4731ea |
04-Jun-2011 |
Jeff Brown <jeffbrown@android.com> |
am 56503b8d: am 8186a5f0: am 10c3f367: Merge "Implement pointer acceleration." into honeycomb-mr2 * commit '56503b8ddfe5c82407da32e18061e725f668432d': Implement pointer acceleration.
|
adab62038365be512aa9c21cf64df642dd075704 |
01-Jun-2011 |
Jeff Brown <jeffbrown@android.com> |
Implement pointer acceleration. Bug: 4124987 Change-Id: I1f31a28f1594c55302ccabe13fe3ca6d2ff71d50
nput.cpp
|
d3e6d3e763544511a870b354f657600d25c42b91 |
13-Apr-2011 |
Jeff Brown <jeffbrown@google.com> |
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
nput.cpp
|
fa785531f7510e3dee799dd4b37279e1e04f4a81 |
24-May-2011 |
Jeff Brown <jeffbrown@android.com> |
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
nputTransport.cpp
|
c5982b7bee75467f50d681ad54120eadc7a8d88e |
15-Mar-2011 |
Jeff Brown <jeffbrown@google.com> |
Improve VelocityTracker numerical stability. (DO NOT MERGE) Replaced VelocityTracker with a faster and more accurate native implementation. This avoids the duplicate maintenance overhead of having two implementations. The new algorithm requires that the sample duration be at least 10ms in order to contribute to the velocity calculation. This ensures that the velocity is not severely overestimated when samples arrive in bursts. The new algorithm computes the exponentially weighted moving average using weights based on the relative duration of successive sample periods. The new algorithm is also more careful about how it handles individual pointers going down or up and their effects on the collected movement traces. The intent is to preserve the last known velocity of pointers as they go up while also ensuring that other motion samples do not count twice in that case. Bug: 4086785 Change-Id: I95054102397c4b6a9076dc6a0fc841b4beec7920
nput.cpp
|
247da72a5bb1e762c73723fd2d495c9a6c4f1c68 |
10-Mar-2011 |
Jeff Brown <jeffbrown@google.com> |
Use touch pad gestures to manipulate the pointer. (DO NOT MERGE) 1. Single finger tap performs a click. 2. Single finger movement moves the pointer (hovers). 3. Button press plus movement performs click or drag. While dragging, the pointer follows the finger that is moving fastest. This is important if there are additional fingers down on the touch pad for the purpose of applying force to an integrated button underneath. 4. Two fingers near each other moving in the same direction are coalesced as a swipe gesture under the pointer. 5. Two or more fingers moving in arbitrary directions are transformed into touches in the vicinity of the pointer. This makes scale/zoom and rotate gestures possible. Added a native VelocityTracker implementation to enable intelligent switching of the active pointer during drags. Change-Id: I7b7ddacc724fb1306e1590dbaebb740d3130d7cd
nput.cpp
nputTransport.cpp
|
e959ed2533bdc37da99fd34dafa26d1967a6b4c9 |
07-May-2011 |
Jeff Brown <jeffbrown@google.com> |
Add initial API for stylus and mouse buttons. Added the concept of pointer properties in a MotionEvent. This is currently used to track the pointer tool type to enable applications to distinguish finger touches from a stylus. Button states are also reported to application as part of touch events. There are no new actions for detecting changes in button states. The application should instead query the button state from the MotionEvent and take appropriate action as needed. A good time to check the button state is on ACTION_DOWN. As a side-effect, applications that do not support multiple buttons will treat primary, secondary and tertiary buttons identically for all touch events. The back button on the mouse is mapped to KEYCODE_BACK and the forward button is mapped to KEYCODE_FORWARD. Added basic plumbing for the secondary mouse button to invoke the context menu, particularly in lists. Added clamp and split methods on MotionEvent to take care of common filtering operations so we don't have them scattered in multiple places across the framework. Bug: 4260011 Change-Id: Ie992b4d4e00c8f2e76b961da0a902145b27f6d83
nput.cpp
nputTransport.cpp
ests/InputEvent_test.cpp
ests/InputPublisherAndConsumer_test.cpp
|
db05e228a4d170e644f27adc2d946558db53eb4e |
10-May-2011 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of 05be6d6f to master Change-Id: Ic6a6c5bb300f6f1d43f9ed550b284282b4f16212
|
16fe3c2c1fac36507ec7190537c95944943b0cb2 |
28-Apr-2011 |
Dianne Hackborn <hackbod@google.com> |
Better compat mode part one: start scaling windows. First step of improving app screen size compatibility mode. When running in compat mode, an application's windows are scaled up on the screen rather than being small with 1:1 pixels. Currently we scale the application to fill the entire screen, so don't use an even pixel scaling. Though this may have some negative impact on the appearance (it looks okay to me), it has a big benefit of allowing us to now treat these apps as normal full-screens apps and do the normal transition animations as you move in and out and around in them. This introduces fun stuff in the input system to take care of modifying pointer coordinates to account for the app window surface scaling. The input dispatcher is told about the scale that is being applied to each window and, when there is one, adjusts pointer events appropriately as they are being sent to the transport. Also modified is CompatibilityInfo, which has been greatly simplified to not be so insane and incomprehendible. It is now simple -- when constructed it determines if the given app is compatible with the current screen size and density, and that is that. There are new APIs on ActivityManagerService to put applications that we would traditionally consider compatible with larger screens in compatibility mode. This is the start of a facility to have a UI affordance for a user to switch apps in and out of compatibility. To test switching of modes, there is a new variation of the "am" command to do this: am screen-compat [on|off] [package] This mode switching has the fundamentals of restarting activities when it is changed, though the state still needs to be persisted and the overall mode switch cleaned up. For the few small apps I have tested, things mostly seem to be working well. I know of one problem with the text selection handles being drawn at the wrong position because at some point the window offset is being scaled incorrectly. There are probably other similar issues around the interaction between two windows because the different window coordinate spaces are done in a hacky way instead of being formally integrated into the window manager layout process. Change-Id: Ie038e3746b448135117bd860859d74e360938557
nput.cpp
|
697526bc9e44ce61c88614f98387ae8bbf0a187e |
01-May-2011 |
Iliyan Malchev <malchev@google.com> |
frameworks/base: android_native_buffer_t -> ANativeWindowBuffer Change-Id: Idc2eabaa805bb6d308ebb315872623f28d428417 Signed-off-by: Iliyan Malchev <malchev@google.com>
ramebufferNativeWindow.cpp
raphicBuffer.cpp
|
41abd67302b52aefadc2b3dea42226f16bf6d9ba |
15-Apr-2011 |
Iliyan Malchev <malchev@google.com> |
frameworks/base: make the ANativeWindow query() method const query() does not modify the object's data, so it needs to be a const method Change-Id: I67c40a3c865461e6f1cc2193fd2d74286ff6ac8f Signed-off-by: Iliyan Malchev <malchev@google.com>
ramebufferNativeWindow.cpp
|
4815f2a6ada7941680b29581d5cf5a5ed168f618 |
13-Apr-2011 |
Jeff Brown <jeffbrown@google.com> |
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
nput.cpp
|
4e394b18bae923eb49e32c68dc77ee02637a10ea |
07-Apr-2011 |
Jeff Brown <jeffbrown@google.com> |
Coalesce input events that arrive faster than 333Hz. 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. Added logging code to help measure input dispatch and drawing latency issues in the view hierarchy. See ViewDebug.DEBUG_LATENCY. Change-Id: Ia5898f781f19901d2225c529a910c32bdf4f504f
nputTransport.cpp
|
23e0c8c1a17e57ea98219087aa68750c72257f6c |
02-Apr-2011 |
Jeff Brown <jeffbrown@google.com> |
Fix dispatcher crash when input monitoring enabled. Also ensure that we actually log assertion failures. Bug: 4203092 Change-Id: I5c14bc41b2255f876858121f5572e2de75cabcc3
nput.cpp
|
939fee8819ac714af6f99b1d8e0bd2ff6626a356 |
17-Mar-2011 |
Mathias Agopian <mathias@google.com> |
am e22aa623: am 25594e19: am f40e638e: fix [4093196] Device lock up - log spam with SharedBufferStack: waitForCondition(LockCondition) timed out * commit 'e22aa62362a3007ee59ac62d4b5969e216987995': fix [4093196] Device lock up - log spam with SharedBufferStack: waitForCondition(LockCondition) timed out
|
d0b55c011a311b677493ba72804bf1bc4df68224 |
17-Mar-2011 |
Mathias Agopian <mathias@google.com> |
fix [4093196] Device lock up - log spam with SharedBufferStack: waitForCondition(LockCondition) timed out a memory corruption happned when the buffer pool was resized (like when playing a video or using camera) and there was no current active buffer. In this case, the faulty code would index into an array at position -1 which corrupted 24 bytes of data. also improved region validation code (ifdef'ed out by default) Bug: 4093196 Change-Id: I915c581d131148959d720e00e3892e9186ab733d
egion.cpp
|
e3d4a68f2d09098bda8c6ca6c3826877365c7267 |
16-Mar-2011 |
Jeff Brown <jeffbrown@google.com> |
Merge "Improve VelocityTracker numerical stability."
|
1593354388f622f189063314e97389f148a30b7f |
15-Mar-2011 |
Jeff Brown <jeffbrown@google.com> |
Improve VelocityTracker numerical stability. Replaced VelocityTracker with a faster and more accurate native implementation. This avoids the duplicate maintenance overhead of having two implementations. The new algorithm requires that the sample duration be at least 10ms in order to contribute to the velocity calculation. This ensures that the velocity is not severely overestimated when samples arrive in bursts. The new algorithm computes the exponentially weighted moving average using weights based on the relative duration of successive sample periods. The new algorithm is also more careful about how it handles individual pointers going down or up and their effects on the collected movement traces. The intent is to preserve the last known velocity of pointers as they go up while also ensuring that other motion samples do not count twice in that case. Bug: 4086785 Change-Id: I2632321232c64d6b8faacdb929e33f60e64dcdd3
nput.cpp
|
cefc876234dcbbc3f973862c8c8bbdf4dc18296e |
15-Mar-2011 |
Jamie Gennis <jgennis@google.com> |
am ceb7cb14: am 02805a40: Merge "ANativeWindow: add query for the concrete type." into honeycomb-mr1 * commit 'ceb7cb1460484eda1a3cb9cd271d7caf3a3dcbd1': ANativeWindow: add query for the concrete type.
|
391bbe2246a7547dbf3460c231b3c5ba691d4eb1 |
14-Mar-2011 |
Jamie Gennis <jgennis@google.com> |
ANativeWindow: add query for the concrete type. This change adds a query to the ANativeWindow interface for getting the concrete type of the ANativeWindow. Bug: 4086509 Change-Id: I64aa86d72fbca3b52a98e1fc35608737781a3178
ramebufferNativeWindow.cpp
|
fa773aa745325263745202f822335dfeec0e4c67 |
10-Mar-2011 |
Jeff Brown <jeffbrown@google.com> |
Use touch pad gestures to manipulate the pointer. 1. Single finger tap performs a click. 2. Single finger movement moves the pointer (hovers). 3. Button press plus movement performs click or drag. While dragging, the pointer follows the finger that is moving fastest. This is important if there are additional fingers down on the touch pad for the purpose of applying force to an integrated button underneath. 4. Two fingers near each other moving in the same direction are coalesced as a swipe gesture under the pointer. 5. Two or more fingers moving in arbitrary directions are transformed into touches in the vicinity of the pointer. This makes scale/zoom and rotate gestures possible. Added a native VelocityTracker implementation to enable intelligent switching of the active pointer during drags. Change-Id: I5ada57e7f2bdb9b0a791843eb354a8c706b365dc
nput.cpp
nputTransport.cpp
|
46689da7ee29902f2ebebd6224f566c4deccc274 |
09-Mar-2011 |
Jeff Brown <jeffbrown@google.com> |
Input improvements and bug fixes. Associate each motion axis with the source from which it comes. It is possible for multiple sources of the same device to define the same axis. This fixes new API that was introduced in MR1. (Bug: 4066146) Fixed a bug that might cause a segfault when using a trackball. Only fade out the mouse pointer when touching the touch screen, ignore other touch pads. Changed the plural "sources" to "source" in several places in the InputReader where we intend to refer to a particular source rather than to a combination of sources. Improved the batching code to support batching events from different sources of the same device in parallel. (Bug: 3391564) Change-Id: I0189e18e464338f126f7bf94370b928e1b1695f2
nput.cpp
|
e89d1041ddc81a85c73f00f94a978e32597afa68 |
04-Mar-2011 |
Jeff Brown <jeffbrown@google.com> |
Joystick tweaks. (DO NOT MERGE) 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
eyLayoutMap.cpp
|
d5ed285606a9f28d2102e086aaee5c9d1cb819b9 |
03-Mar-2011 |
Jeff Brown <jeffbrown@google.com> |
Wake screen from external HID peripherals. Added some plumbing to enable the policy to intercept motion events when the screen is off to handle wakeup if needed. Added a basic concept of an external device to limit the scope of the wakeup policy to external devices only. The wakeup policy for internal devices should be based on explicit rules such as policy flags in key layout files. Moved isTouchEvent to native. Ensure the dispatcher sends the right event type to userActivity for non-touch pointer events like HOVER_MOVE and SCROLL. Bug: 3193114 Change-Id: I15dbd48a16810dfaf226ff7ad117d46908ca4f86
nput.cpp
|
80f3e7cc1506bbb4bec458e15629805a7c1df7ee |
02-Mar-2011 |
Jeff Brown <jeffbrown@google.com> |
Fade out the mouse pointer after inactivity or other events. 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
eyboard.cpp
|
25943a83f255569738cc9f557544e8bafcf6a602 |
19-Feb-2011 |
Jeff Brown <jeffbrown@google.com> |
Add new hover move action and scroll wheel plumbing. 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
nputTransport.cpp
|
3ea4de826d95c580c28d854c677ded0d15d220a8 |
19-Feb-2011 |
Jeff Brown <jeffbrown@google.com> |
Add new axes for joysticks and mouse wheels. 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
nput.cpp
eyLayoutMap.cpp
eyboard.cpp
ests/InputEvent_test.cpp
|
b2d4435dfa44531ee6025563571cfd77cd1b4f97 |
17-Feb-2011 |
Jeff Brown <jeffbrown@google.com> |
Fix a regression with MotionEvent parceling. Also added some more unit tests. Change-Id: I413654294d1a998eec056884e6df5eaa50f3daf4
nput.cpp
ests/Android.mk
ests/InputChannel_test.cpp
ests/InputEvent_test.cpp
ests/InputPublisherAndConsumer_test.cpp
|
3e3414636c71948e3f4b162b4e5b773c77d37098 |
15-Feb-2011 |
Jeff Brown <jeffbrown@google.com> |
Add support for arbitrary axes in MotionEvents. 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
ndroid.mk
nput.cpp
ests/InputPublisherAndConsumer_test.cpp
|
d5ea3db6a3049d6b66a619be08002e90aa38f99f |
17-Jan-2011 |
Mathias Agopian <mathias@google.com> |
Use EGL_NATIVE_VISUAL_ID to select EGLConfig EGLUtils::selectConfigForPixelFormat() now uses EGL_NATIVE_VISUAL_ID to select a config with the proper format. this is more robust and future proof. Change-Id: I7245d904adab1e339f062b9b498ddd9324cfe7a4
GLUtils.cpp
|
48b888aab9fdcfba250722dffbdffe61f11c64f3 |
20-Jan-2011 |
Mathias Agopian <mathias@google.com> |
improve SurfaceFlinger 'dumpsys' log list the purgatory, which shows windows that have been closed, but for which the client still has references. Change-Id: I5168bb88cb328d5d77d71d0871deb9190f493126
raphicBufferAllocator.cpp
|
93466435774892925cb09a83209a023c23f931b9 |
15-Jan-2011 |
Jeff Brown <jeffbrown@google.com> |
Make getFallbackAction return false when there is none. Change-Id: Id17c0f7269e4a228f4e5f11c54614fec508222a2
eyCharacterMap.cpp
|
41250361577ce85d30b29ef530cfb7bea7d0604d |
03-Jan-2011 |
Jeff Brown <jeffbrown@google.com> |
Mouse pointer integration. Added support for loading the pointer icon from a resource. Moved the system server related bits of the input manager out of libui and into libinput since they do not need to be linked into applications. Change-Id: Iec11e0725b3add2b905c51f8ea2c3b4b0d1a2d67
ndroid.mk
ventHub.cpp
nputDispatcher.cpp
nputManager.cpp
nputReader.cpp
ests/Android.mk
ests/InputDispatcher_test.cpp
ests/InputReader_test.cpp
|
4c501a42173bfc0c7c9ee32312db392c59b67e13 |
24-Dec-2010 |
Jeff Brown <jeffbrown@google.com> |
Add initial support for cursor-based pointing devices. Some parts stubbed out but you can plug in a mouse and move a green cursor around to interact with the UI. Change-Id: I80d597a7f11d3bd92041890f74b3c77326975e6e
ventHub.cpp
nputDispatcher.cpp
nputReader.cpp
ests/InputReader_test.cpp
|
7999039b77f0e42fdb589e831dc368ebeee2aadb |
10-Dec-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix race condition in fallback key processing. Need to ensure that the channel is still valid before proceeding. Bug: 3271482 Change-Id: Ia6863cbedd9b53cbc5c9c8815e9ea90bef3d2218
nputDispatcher.cpp
|
0a757814f3e4ca4db772144e85b687fe89a7fba5 |
09-Dec-2010 |
Mathias Agopian <mathias@google.com> |
fix [3259708] Graphic Buffer Mapper does not support YV12 remove a bunch of a code that was there only to support broken gralloc implementations Change-Id: I3c1a9172224cbcc283601abfbbd695a20815451f
raphicBufferAllocator.cpp
raphicBufferMapper.cpp
|
a5529c8778c2f407f482fc12165aeb76c0f505c2 |
08-Dec-2010 |
Mathias Agopian <mathias@google.com> |
remove support for PUSH_BUFFER surfaces and overlays the same functionality is now supported through the h/w composer HAL, and YUV support in the GPU. Change-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf
ndroid.mk
Overlay.cpp
verlay.cpp
|
1d21a9cafc534c34a2f28c985c4c7aa176d0e67b |
02-Dec-2010 |
Erik Gilling <konkers@android.com> |
surfaceflinger: add support for gralloc dump hooks Change-Id: Ib6f539ed0132b70d040d653c03d52cc04249ac3c
ramebufferNativeWindow.cpp
raphicBufferAllocator.cpp
|
02d85b5021dc3e9c042e1e3426fae2f0a903595b |
07-Dec-2010 |
Jeff Brown <jeffbrown@google.com> |
Add support for fallback keycodes. 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
nputDispatcher.cpp
nputReader.cpp
nputTransport.cpp
eyCharacterMap.cpp
ests/InputDispatcher_test.cpp
ests/InputPublisherAndConsumer_test.cpp
ests/InputReader_test.cpp
|
b5a00fcb71426492f248ed49a0514a9b8d385065 |
08-Dec-2010 |
Mathias Agopian <mathias@google.com> |
am 48f42f8c: am 4153bf3a: Merge "[3171580] don\'t automatically log GraphicBuffer allocation failures" into gingerbread * commit '48f42f8c3fbd33b2f46c6290ff5963dd58938cf9': [3171580] don't automatically log GraphicBuffer allocation failures
|
372c56e98b93647b7050e518c285057a8a72bc74 |
07-Dec-2010 |
Mathias Agopian <mathias@google.com> |
am 4153bf3a: Merge "[3171580] don\'t automatically log GraphicBuffer allocation failures" into gingerbread * commit '4153bf3a259624a2f2dc497b77b225a1fb517abc': [3171580] don't automatically log GraphicBuffer allocation failures
|
678bdd6349344df254cc0c3377a40fd99e216635 |
04-Dec-2010 |
Mathias Agopian <mathias@google.com> |
[3171580] don't automatically log GraphicBuffer allocation failures some of these failures are not fatal and even expected in some cases so they should not emit a dump in the log in those cases. Change-Id: Idcfa252e3bfa9d74e27fe4ad8f8623aa01aa9c5e
raphicBuffer.cpp
raphicBufferAllocator.cpp
|
db360642ed7a48eb3b3607a791bbe449cc6529bb |
02-Dec-2010 |
Jeff Brown <jeffbrown@google.com> |
Improve support for external keyboards. Use Vendor ID, Product ID and optionally the Version to locate keymaps and configuration files for external devices. Moved virtual key definition parsing to native code so that EventHub can identify touch screens with virtual keys and load the appropriate key layout file. Cleaned up a lot of old code in EventHub. Fixed a regression in ViewRoot's fallback event handling. Fixed a minor bug in FileMap that caused it to try to munmap or close invalid handled when released if the attempt to map the file failed. Added a couple of new String8 conveniences for formatting strings. Modified Tokenizer to fall back to open+read when mmap fails since we can't mmap sysfs files as needed to open the virtual key definition files in /sys/board_properties/. Change-Id: I6ca5e5f9547619fd082ddac47e87ce185da69ee6
ndroid.mk
ventHub.cpp
nput.cpp
nputDispatcher.cpp
nputReader.cpp
eyboard.cpp
irtualKeyMap.cpp
ests/InputReader_test.cpp
|
53c16642e2f8176b26f61b98328051f6dd1234ae |
19-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
Ensure the ShortcutManager uses the correct key character map. The ShortcutManager used to only receive the key code of the key event that triggered the shortcut. This change now provides the shortcut manager with the whole key event so it can look up the associated character using the correct key character map. To make this more efficient, added a mechanism for recycling key events. At the moment it is only used by key events owned by the system process, since clients of the existing API (such as Views) might continue to hold on to key events after dispatch has finished so they would break if the key event were recycled by the framework. Deprecated KeyCharacterMap.BUILT_IN_KEYBOARD. Change-Id: I4313725dd63f2be01c350c005a41c7fde9bc67e8
ventHub.cpp
nputDispatcher.cpp
nputReader.cpp
ests/InputDispatcher_test.cpp
|
6688837ff6a959b4f59d9a4249aac1504f590a4b |
30-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
Support non-orientation aware keyboards and other devices. Fixed a bug with dpad keys on external keyboards being rotated according to the display orientation by adding a new input device configuration property called "keyboard.orientationAware". Added a mechanism for overriding the key layout and key character map in the input device configuration file using the new "keyboard.layout" and "keyboard.characterMap" properties. Also added "trackball.orientationAware", "touch.orientationAware" and "touch.deviceType" configuration properties. Rewrote the configuration property reading code in native code so that it can be used by EventHub and other components. Added basic support for installable idc, kl, and kcm files in /data/system/devices. However, there is no provision for copying files there yet. Disabled long-press character pickers on full keyboards so that key repeating works as expected. Change-Id: I1bd9f0c3d344421db444e7d271eb09bc8bab4791
ventHub.cpp
nput.cpp
nputReader.cpp
eyboard.cpp
ests/InputReader_test.cpp
|
44a2a171e11287286714bcc0926ec1bb073aead3 |
24-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
Merge "Port Emulator keymaps."
|
d5fdf7d74b1ff47ed457ecdb0e0c4310ff7d031f |
19-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
Port Emulator keymaps. Also added a validation tool for keymaps (not currently integrated into the build system but getting there). This change brings back Android.mk with the intent that it will be used to validate keymaps in a later change. Added some missing keys that are present on phones. Bug: 3215210 Bug: 3225421 Change-Id: Id817c6e2215164616942c51a42752915d9ceacd3
ndroid.mk
eyCharacterMap.cpp
|
ffb0795daf64dac9f5c73ab7861b702e5b1169a1 |
23-Nov-2010 |
Jean-Baptiste Queru <jbq@google.com> |
am 9df7f313: am f0f6c54b: Merge "frameworks/base: Destroy the overlay even if there is an error" * commit '9df7f31359866a77a47c9fab3171c71715fd0056': frameworks/base: Destroy the overlay even if there is an error
|
ec756056abceb3c5ffe77174cf38328b9fcc1b75 |
23-Nov-2010 |
Jean-Baptiste Queru <jbq@google.com> |
am f0f6c54b: Merge "frameworks/base: Destroy the overlay even if there is an error" * commit 'f0f6c54b13831b11bd7a3bd7a01dc49b7505e56e': frameworks/base: Destroy the overlay even if there is an error
|
29a73ba845b846cd0bcb9112179f78a54aea94b2 |
18-Nov-2010 |
Naomi Luis <nluis@codeaurora.org> |
frameworks/base: Destroy the overlay even if there is an error Allow the overlay object to be destroyed whenever the destroy is invoked. Currently the destroy call returns if there is an error encountered, which results in open data and control channels. Change-Id: I1f2ef4ebb5fb1dcabf05ab50b5bbf6e5e240a63a
verlay.cpp
|
46aabb3f51dafd87bbfb713d4690665114524be8 |
18-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
am b27b8c0c: Fix a key repeating bug. (DO NOT MERGE) * commit 'b27b8c0caf8ff23d10eea655085769f314050427': Fix a key repeating bug. (DO NOT MERGE)
|
0b7b1960e7e6b39e62bbb2ff0bac22154c07e0fa |
18-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
am bfc1cc2d: Fix stuck keys when released out of order. (DO NOT MERGE) * commit 'bfc1cc2d1ea85cc754e63b422eb8cef8ae6a3667': Fix stuck keys when released out of order. (DO NOT MERGE)
|
a3477c862a5debcac7dfb076749059406ec59512 |
11-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
Added support for full PC-style keyboards. BREAKING CHANGE: Redesigned the key character map format to accomodate full keyboards with more comprehensive suite of modifiers. Old key character maps will not work anymore and must be updated. The new format is plain text only and it not compiled to a binary file (so the "kcm" tool will be removed in a subsequent check-in). Added FULL keyboard type to support full PC-style keyboards. Added SPECIAL_FUNCTION keyboard type to support special function keypads that do not have any printable keys suitable for typing and only have keys like HOME and POWER Added a special VIRTUAL_KEYBOARD device id convention that maps to a virtual keyboard with a fixed known layout. This is designed to work around issues injecting input events on devices whose built-in keyboard does not have a useful key character map (ie. when the built-in keyboard is a special function keyboard only.) Modified several places where events were being synthesized to use the virtual keyboard. Removed support for the "qwerty" default layout. The new default layout is "Generic". For the most part "qwerty" was being used as a backstop in case the built-in keyboard did not have a key character map (probably because it was a special function keypad) and the framework needed to be able to inject key events anyways. The latter issue is resolved by using the special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD. Added the concept of a key modifier behavior so that MetaKeyKeyListener can distinguish between keyboards that use chorded vs. toggled modifiers. Wrote more robust key layout and key character map parsers to enable support for new keyboard features and user installable key maps. Fixed a bug in InputReader generating key ups when keys are released out of sequence. Updated tons of documentation. Currently QwertyKeyListener is being used for full keyboards with autotext and capitalization disabled. This mostly works but causes some problems with character pickers, etc. These issues will be resolved in subsequent changes. Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
ndroid.mk
ventHub.cpp
nputReader.cpp
eyCharacterMap.cpp
eyLayoutMap.cpp
eyLayoutMap.h
eyboard.cpp
|
9cf416cbcf3be071fb6d89ae253c7f80b579de09 |
03-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix a key repeating bug. (DO NOT MERGE) This change fixes a bug in the dispatcher where the window manager policy would incorrectly receive a key repeat count of 0 in the case where the key repeat was generated by the hardware or driver. Long-press on HOME was broken as a result. Repeating keys could also get stuck down. Bug: 3159581 Bug: 3208156 Change-Id: I1145487cfcc41a7850dba4cafc63c4a5951ace5b
nputDispatcher.cpp
|
9bb3ef2e78879e4ec02821fbdb07ba9f9e9521a1 |
18-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix stuck keys when released out of order. (DO NOT MERGE) Bug: 3208156 Change-Id: I14e4d54f4912de5e2fabcd8638120623aa2d16e0
nputReader.cpp
|
3f02b88af646eb950edb44e584b6a82be06c709a |
18-Nov-2010 |
Jean-Baptiste Queru <jbq@google.com> |
am 5e069074: am a15e4886: Merge "Framebuffer: Support variable number of framebuffers in the UI" * commit '5e0690745a45f99d12d940dd4aaae814b00a429e': Framebuffer: Support variable number of framebuffers in the UI
|
af1097658321bfdfaf0cc65214a94bfcdee372ce |
18-Nov-2010 |
Jean-Baptiste Queru <jbq@google.com> |
am a15e4886: Merge "Framebuffer: Support variable number of framebuffers in the UI" * commit 'a15e4886de8f75f3cb137f51743d330414c910e8': Framebuffer: Support variable number of framebuffers in the UI
|
e33a9ecc25b91d98ea75e3c14fd24c0c7fce5089 |
11-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
Enable touch splitting for all windows by default. New default only applies to applications with targetSdkVersion >= HONEYCOMB. Old applications default to no touch splitting for their windows. In addition, enabled split touch for various system windows. Bug: 3049580 Change-Id: Idc8da9baa2cd8e1e4e76af8967d7b6a5ccb94427
nputDispatcher.cpp
|
a2b1b7f71da2ad22b7c88e3c1839b1ce05aa65e6 |
08-Nov-2010 |
Mathias Agopian <mathias@google.com> |
Merge "fix [3148312] Region can access data out of bounds" into gingerbread
|
d94206c41dfbac8340b86864d9e05cdc3a3a87ba |
08-Nov-2010 |
Joe Onorato <joeo@google.com> |
The CHEEK_TOUCH stuff never worked. Remove it. Bug: 3104906 Change-Id: Ia37236ba1775fc3ec8c111e2e0b85b105e0dea6a
nputDispatcher.cpp
|
81499912348194a9432841398a0d337fa4079c98 |
05-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
Tell system server whether the app handled input events. 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
nputDispatcher.cpp
nputTransport.cpp
ests/InputDispatcher_test.cpp
ests/InputPublisherAndConsumer_test.cpp
|
d4ecee931322b9832b729f2fcbaed21c35edd3bf |
30-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Rename the locked meta key constants for clarity. Also added some tests for LED setting. Change-Id: I3fd86322afd07ae8de52d1ccbc2fae2c6d586641
nputReader.cpp
ests/InputReader_test.cpp
|
71484f2f76457287a1fbf5791f530c2b2459aa0c |
03-Nov-2010 |
Rodrigo Obregon <robregon@ti.com> |
Framebuffer: Support variable number of framebuffers in the UI This change defines a macro NUM_FRAME_BUFFERS to set the desired number of framebuffers to be used by the UI, instead of hard-coding 2 framebuffers. Aditional logic has been added to handle the initialization and destruction of NUM_FRAME_BUFFERS buffers. Change-Id: I3a4bfec3e0f453432f2ffebf084c00f574d3be46 Signed-off-by: Rodrigo Obregon <robregon@ti.com>
ramebufferNativeWindow.cpp
|
92988aab48d973dc3f8a5e90e370f2d5a7ae7566 |
03-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix a key repeating bug. This change fixes a bug in the dispatcher where the window manager policy would incorrectly receive a key repeat count of 0 in the case where the key repeat was generated by the hardware or driver. Long-press on HOME was broken as a result. Bug: 3159581 Change-Id: If0f02662313f5b879a4e566fbb461389e274a550
nputDispatcher.cpp
|
b0bb949f094a11057ebe1d265576cdf4eccfe34e |
03-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
Merge "Add plumbing for volume mute key."
|
7e5660f3e28b4a8321745e013a6a66db95c2bb3e |
01-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
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
nput.cpp
|
e113710ebd10c254ed54171b64e8557298ded34e |
03-Nov-2010 |
Romain Guy <romainguy@google.com> |
Merge "Optimize FBO drawing with regions. This optimization is currently disabled until Launcher is modified to take advantage of it. The optimization can be enabled by turning on RENDER_LAYERS_AS_REGIONS in the OpenGLRenderer.h file."
|
b801624dc4f03c930ec35f406f07fa5fd8f65dd9 |
28-Oct-2010 |
Romain Guy <romainguy@google.com> |
Optimize FBO drawing with regions. This optimization is currently disabled until Launcher is modified to take advantage of it. The optimization can be enabled by turning on RENDER_LAYERS_AS_REGIONS in the OpenGLRenderer.h file. Change-Id: I2fdf59d0f4dc690a3d7f712173ab8db3848b27b1
egion.cpp
|
2d283a68e4f45a3405caeda0254d45edbe3b6abf |
02-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
am 7ab5d2d9: am a87ea46c: Fix bugs related to cheek event suppression. * commit '7ab5d2d951792c9b1a1e7cfb279280c2d076506f': Fix bugs related to cheek event suppression.
|
f6149c3229529ed2ea1334e6bab6e1df2c86a4ba |
02-Nov-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix bugs related to cheek event suppression. Two issues: 1. First, due to an inverted conditional in the input dispatcher, we were reporting touches as long touches and vice-versa to the power manager. 2. Power manager user activity cheek event suppression also suppresses touch events (but not long touch or up events). As a result, if cheek event suppression was enabled, touches would not poke the user activity timer. However due to the above logic inversion, this actually affected long touches. Net result, if cheek suppression was enabled in the power manager and you held your thumb on the screen long enough, the phone would go to sleep! Cheek event suppression is commonly turned on when making a phone call. Interestingly, it does not seem to get turned off afterward... This change fixes the logic inversion and exempts touches from the cheek suppression. The reason we do the latter is because the old behavior was actually harmful in other ways too: a touch down would be suppressed but not a long touch or the touch up. This would cause bizarre behavior if you touched the screen while it was dimmed. Instead of brightening immediately, it would brighten either when you lifted your finger or 300ms later, whichever came first. Bug: 3154895 Change-Id: Ied9ccec6718fbe86506322ff47a4e3eb58f81834
nputDispatcher.cpp
|
fd749c63b039da0c40b146c6eea13ce6072d26c4 |
30-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix policy issues when screen is off. Rewrote interceptKeyBeforeQueueing to make the handling more systematic. Behavior should be identical except: - We never pass keys to applications when the screen is off and the keyguard is not showing (the proximity sensor turned off the screen). Previously we passed all non-wake keys through in this case which caused a bug on Crespo where the screen would come back on if a soft key was held at the time of power off because the resulting key up event would sneak in just before the keyguard was shown. It would then be passed through to the dispatcher which would poke user activity and wake up the screen. - We propagate the key flags when broadcasting media keys which ensures that recipients can tell when the key is canceled. - We ignore endcall or power if canceled (shouldn't happen anyways). Changed the input dispatcher to not poke user activity for canceled events since they are synthetic and should not wake the device. Changed the lock screen so that it does not poke the wake lock when the grab handle is released. This fixes a bug where the screen would come back on immediately if the power went off while the user was holding one of the grab handles because the sliding tab would receive an up event after screen turned off and release the grab handles. Fixed a couple of issues where media keys were being handled inconsistently or not at all, particularly in the case of the new PAUSE, PLAY and RECORD keys. Bug: 3144874 Change-Id: Ie630f5fb6f128cfdf94845f9428067045f42892c
nputDispatcher.cpp
|
0cc0399b6bc9044942db282514fba42b5d2a1d09 |
30-Oct-2010 |
Mathias Agopian <mathias@google.com> |
fix [3148312] Region can access data out of bounds Change-Id: Ic46f31d40943f405e37da21a50b55edd5a2c4124
egion.cpp
|
4c766ccea57ebc82ce08d66bc7c5e2ee871e88ea |
28-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
resolved conflicts for merge of df3cccf3 to master Change-Id: I425496a9fc4e9cbc50ad6938e9dccb14827d9558
|
fef5b04203b0efcbd6dc5d279083d57b77f3391b |
28-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Drop all dispatcher state when dispatcher is disabled. This patch makes the dispatcher drop all of its state when it is disabled (when the screen turns off). This ensures that the dispatcher does not get stuck thinking a pointer is still down if the screen turned off while the user was touching the display (such as a fat touch while hitting the power button). Bug: 3098344 Change-Id: If50ef5804870aa1acd3179fd4b40e3cda58dd39d
nputDispatcher.cpp
|
53f291e55f0a1693ce0648796d49d3f915c2b304 |
26-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Tweak log messages a bit. Change-Id: Ifadf78c1ab8db49106216c70086f98860795c65f
nputDispatcher.cpp
|
5e871b47ef9b252e24a9acdedd79b90dfbf65529 |
25-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Add test stubs for newly added methods. Change-Id: I44139adebbbed1358f613fbcbfcddac6617ef5bd
ests/InputReader_test.cpp
|
bc9f0531564e3c090ae14175d77091820945aa8b |
24-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
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.
|
3c3cc62e243a7796f5c1e88773d34e2054cc26c6 |
21-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
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
ventHub.cpp
nputDispatcher.cpp
nputReader.cpp
ests/Android.mk
ests/InputDispatcher_test.cpp
ests/InputReader_test.cpp
|
a209aa866e5f1101064896c618e5d36cbce48470 |
22-Oct-2010 |
Kenny Root <kroot@google.com> |
am d7cd560a: am 1d79a9d9: Use correct size of GAMEPAD_KEYCODES Merge commit 'd7cd560af506f75d07034c136bea09b409b4d408' * commit 'd7cd560af506f75d07034c136bea09b409b4d408': Use correct size of GAMEPAD_KEYCODES
|
bc9c82fb7960b99d6c21839b337360fbf6f8d9a5 |
22-Oct-2010 |
Kenny Root <kroot@google.com> |
Use correct size of GAMEPAD_KEYCODES Compute the actual number of indices in the GAMEPAD_KEYCODES instead of the pure size in bytes. Bug: 3121536 Change-Id: I71edbd8bf6eff2c8cc0ea5c6845362b3d1e06466
ventHub.cpp
|
2659f40403a7927ff421cf084f3b8e8b3e763ce9 |
19-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
am f2c40603: am 7689dd49: Merge "Fix bug where home presses were not poking user activity." into gingerbread Merge commit 'f2c406030874b355ca9e4e67cc0e3aff6103c23e' * commit 'f2c406030874b355ca9e4e67cc0e3aff6103c23e': Fix bug where home presses were not poking user activity.
|
60b5776c8795b6f52d1dddf89453c42c085da50f |
18-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Add support for calibrating touch position. Useful for tweaking touch screen alignment without having to modify the kernel device driver x/y axis bounds. Change-Id: I6ca43d3c138548f9dfb76aa33150a0c853698fb6
nputReader.cpp
|
ef3a8234824cc9f7c3464dd05f9aeca8ea77ebd9 |
18-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix bug where home presses were not poking user activity. We now poke user activity twice: once upon dequeueing an event for dispatch and then again just before we dispatch it. The second poke is to compensate for the fact that it can take a few seconds to identify the dispatch target (if the application is responding slowly) but we want to keep the display from going to sleep for X amount of time after the app gets a chance to actually receive the event. This mirrors pre-Gingerbread behavior. Removed some unnecessary code that filters user activity pokes when sending events to KeyGuard. We don't need this because KeyGuard already tells the power manager to disable user activity. Bug: 3101397 Change-Id: I8c3a77601fdef8f584e84cfdd11aa79da0ff51db
nputDispatcher.cpp
|
ace3dc4f7cda6b7211b3bab4f33dff8948477791 |
18-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
am 9e0e0543: am 36e65ffd: Merge "Fix a native crash in input dispatcher when windows are removed." into gingerbread Merge commit '9e0e054388689fd618c84a283c28ee484477b44d' * commit '9e0e054388689fd618c84a283c28ee484477b44d': Fix a native crash in input dispatcher when windows are removed.
|
7d8733fc7a100c6bcb1d5375e0ea067d907955d2 |
16-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
am 5f0cbfce: am c1e7b218: Merge "Improve input device calibration format." into gingerbread Merge commit '5f0cbfcecc4db20f897507c826296b3aac70c592' * commit '5f0cbfcecc4db20f897507c826296b3aac70c592': Improve input device calibration format.
|
e68d9e0be41ac93bd802579c012aca22086f6f9e |
15-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Add support for secure system overlays. Manual merge from Gingerbread. This change adds a new window type for secure system overlays created by the system itself from non-secure system overlays that might be created by applications that have the system alert permission. Secure views ignore the presence of secure system overlays. Bug: 3098519 Change-Id: Id876736fd8bf332ff9a5428bde59f5268aa49c3a
nputDispatcher.cpp
|
b13d7b5cf0738a79bb7acdda3060f390deaa58cd |
16-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix a native crash in input dispatcher when windows are removed. Bug: 3101826 Change-Id: I040838600a6105c8d9f3235025dc0a7b5b27da2e
nputDispatcher.cpp
|
d9dd44d867315478bbebfbe69bb952ea8138ac4e |
15-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Add support for secure system overlays. (DO NOT MERGE) This change adds a new window type for secure system overlays created by the system itself from non-secure system overlays that might be created by applications that have the system alert permission. Secure views ignore the presence of secure system overlays. Bug: 3098519 Change-Id: I8f8398f4fdeb0469e5d71124c21bedf121bd8c07
nputDispatcher.cpp
|
6a817e22e4b09a982ba17c1aff57f9fcb735c950 |
13-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
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
ventHub.cpp
nputReader.cpp
eyCharacterMap.cpp
|
28699cce02504c427064edcc64695c9aa2b81b99 |
15-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
am 567db077: am 2d441e14: Merge "Make sure EventHub reports added/removed devices immediately." into gingerbread Merge commit '567db07702f851f2e7fb1fb0021ce2871469183e' * commit '567db07702f851f2e7fb1fb0021ce2871469183e': Make sure EventHub reports added/removed devices immediately.
|
6b337e74f024fdd9e8ed3fdd3414bde3e1a3306e |
15-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Improve input device calibration format. Added support for calibrating touch size for devices that report size as an area measurement rather than as a width. Fixed some bugs. Bug: 3096045 Change-Id: I30a12e73752883516ed054f8af407204bca45814
nputReader.cpp
|
7e40f36237b2432b74812a6396326115ae10f9a3 |
14-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Make sure EventHub reports added/removed devices immediately. Fixed a bug where EventHub would not report changes in devices until the next event. Bug: 3096147 Change-Id: Ie4c3e1d14d0ad806cfaa212611ce06034d1b94d4
ventHub.cpp
|
29ba9b8d3e12018ee7b0dbf11b7fed769bc555c5 |
14-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
am 4b255a23: am 03aa28fb: Merge "Improve the input policy handling a bit." into gingerbread Merge commit '4b255a23041225103a6870e77a236f78c2816eda' * commit '4b255a23041225103a6870e77a236f78c2816eda': Improve the input policy handling a bit.
|
5d0d23dba94b3ff7b3202451abcb0a963aaddad7 |
14-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
am b05632aa: am a28d5aff: Merge "Fix a bug synthesizing cancelation events for motions." into gingerbread Merge commit 'b05632aae37ea3a3573aabf10e6868733546de96' * commit 'b05632aae37ea3a3573aabf10e6868733546de96': Fix a bug synthesizing cancelation events for motions.
|
a8ed856a8ae8fb5fd4c4fea520b53f3fe5251e47 |
12-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Improve the input policy handling a bit. Fixed some issues with Monkeys turning off their own screens. Ook ook! Added some more comments to explain what's going on. Change-Id: Id2bc0466161a642a73ef7ef97725d1c81e984b12
nputDispatcher.cpp
|
b6702e59726d7719d9bc644834938c180797deee |
12-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Track input state when transferring touch focus. Copies the input state to the destination window and sends synthesic cancelation events to the source window. Change-Id: Ia75820b0d756ed5d6cd22dce7830251ac85141ed
nputDispatcher.cpp
|
316237d554bc9422274209d2a51fe43a3d5950b5 |
12-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix a bug synthesizing cancelation events for motions. Change-Id: I881c0fa16c1d22c4b1b6cca24deb0105405ff5b0
nputDispatcher.cpp
|
33d54ce97d4ac84ce0e1a84e2710b45de5e1d41d |
11-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix an event injection bug when the policy is bypassed. Added the concept of a "trusted" event to distinguish between events from attached input devices or trusted injectors vs. other applications. This change enables us to move certain policy decisions out of the dispatcher and into the policy itself where they can be handled more systematically. Cherry pick of b931a1b4 from gingerbread into master. Change-Id: I700a5f07b8b227878cea9437a289a45a245c0424
nputDispatcher.cpp
|
d129348647325c2040190f88378c1ac39cc3151c |
12-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
am 41aabeb5: am 1e6a3a53: Merge "Added more robust tracking and cancelation of events." into gingerbread Merge commit '41aabeb51305d19747687f246080f44fc2a74435' * commit '41aabeb51305d19747687f246080f44fc2a74435': Added more robust tracking and cancelation of events.
|
1fe6dec0975d0cf7faf367f6bcb30c67d2025a47 |
11-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix an event injection bug when the policy is bypassed. Added the concept of a "trusted" event to distinguish between events from attached input devices or trusted injectors vs. other applications. This change enables us to move certain policy decisions out of the dispatcher and into the policy itself where they can be handled more systematically. Change-Id: I4d56fdcdd31aaa675d452088af39a70c4e039970
nputDispatcher.cpp
|
90f0cee685f9b13e6bac7793717a9d15de8eafe8 |
09-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Added more robust tracking and cancelation of events. This change fixes several issues where events would be dropped in the input dispatch pipeline in such a way that the dispatcher could not accurately track the state of the input device. Given more robust tracking, we can now also provide robust cancelation of input events in cases where an application might otherwise become out of sync with the event stream due to ANR, app switch, policy decisions, or forced focus transitions. Pruned some of the input dispatcher log output. Moved the responsibility for calling intercept*BeforeQueueing into the input dispatcher instead of the input reader and added support for early interception of injected events for events coming from trusted sources. This enables behaviors like injection of media keys while the screen is off, haptic feedback of injected virtual keys, so injected events become more "first class" in a way. Change-Id: Iec6ff1dd21e5f3c7feb80ea4feb5382bd090dbd9
nputDispatcher.cpp
nputReader.cpp
|
fe2987d865bd59114c2ddabbcc82f6225e7165fe |
10-Oct-2010 |
Jamie Gennis <jgennis@google.com> |
Merge "Move binder magic from the Surface class to GraphicBuffer."
|
309d3bb2f902163356f9d40b6d45c11b435d77a9 |
07-Oct-2010 |
Jamie Gennis <jgennis@google.com> |
Move binder magic from the Surface class to GraphicBuffer. - Register buffers with Gralloc when unflattening a GraphicBuffer (rather than doing it in the Surface class). - Add support for a GraphicBuffer that wraps an android_native_window_t*. Change-Id: I029ac086111bbac800e5ca37eb505f558b718cd8
raphicBuffer.cpp
|
26c336a468226fa0555c9f15abf01238110dac27 |
10-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
am f10929fb: am a1bf0a06: Merge "Minor fix for InputReader support for non-touchscreen devices." into gingerbread Merge commit 'f10929fb350395c21edd2cba7641479afe75e750' * commit 'f10929fb350395c21edd2cba7641479afe75e750': Minor fix for InputReader support for non-touchscreen devices.
|
77e26fce8e5160163d041740ac0bd6f34728373c |
07-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Minor fix for InputReader support for non-touchscreen devices. Change-Id: I2256e37dd1c6f3836f82786aae14ee5d0c98f4c6
nputReader.cpp
|
6d462b1221e98a9203d84bc33b402e4fcd3f4b94 |
07-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
am 56364bcd: am 78d15acf: Merge "Make secure views tolerate IME overlays." into gingerbread Merge commit '56364bcd0d1a1b064db3e83fdb64f948ce5c2ad7' * commit '56364bcd0d1a1b064db3e83fdb64f948ce5c2ad7': Make secure views tolerate IME overlays.
|
35cf0e9854886c7d1a76be7c64ba9d78dfca649c |
05-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Make secure views tolerate IME overlays. Change-Id: I3cf09b9d91045f4d9c558b4aace482a7b0bbd3d8
nputDispatcher.cpp
|
c0242197eab18a837c374b152a7450f26c22f974 |
02-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
am ea58d1ba: am e951ef07: Merge "Wait for initial device scan to finish before updating config." into gingerbread Merge commit 'ea58d1bac2960c1794f048bfa5d1a60b1a3d23a1' * commit 'ea58d1bac2960c1794f048bfa5d1a60b1a3d23a1': Wait for initial device scan to finish before updating config.
|
76025e44e45881a089a853dbb08b1f09abb30fb1 |
02-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
am e11b76d3: am f6295b35: Merge "Minor logging changes to input dispatcher to help with debugging." into gingerbread Merge commit 'e11b76d3efb056edea301d53a354d0730adf3520' * commit 'e11b76d3efb056edea301d53a354d0730adf3520': Minor logging changes to input dispatcher to help with debugging.
|
1ad00e96fe0d10c4fa9b870b42f3ea90b17a2d7f |
02-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Wait for initial device scan to finish before updating config. This change narrows the opportunity for a race condition setting the resource Configuration while devices are being updated. Change-Id: I58efa563f4129ab0fce7108511d16a99dff7e451
ventHub.cpp
nputReader.cpp
|
2806e381cf08ef3073634b1fdd1f656c1750a7eb |
02-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Minor logging changes to input dispatcher to help with debugging. Added dumpsys reporting to EventHub. Made the formatting a bit clearer. Added 'Locked' suffix to some internal methods of EventHub. Change-Id: Ic449560bcce378f6361895d27c66854e9724abb0
ventHub.cpp
nputDispatcher.cpp
nputReader.cpp
|
4adce423e481c50b0dad1d1e2bb52c909bb5bd89 |
02-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
am 57fa3e8b: am 9e32a438: Merge "Support haptic feedback for virtual keys defined in key layout." into gingerbread Merge commit '57fa3e8b4c94125ddb5be015dd7fbde4a458894f' * commit '57fa3e8b4c94125ddb5be015dd7fbde4a458894f': Support haptic feedback for virtual keys defined in key layout.
|
956c0fb2386cb0cf92e08b199c706ed3a044ad1b |
01-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
Support haptic feedback for virtual keys defined in key layout. Change-Id: I83e4108a87332692e03791dc066206becbc7941f
nputReader.cpp
|
3f0fd1897cf93dcdc910003bba613a8f02a3cd58 |
01-Oct-2010 |
Jeff Brown <jeffbrown@google.com> |
am 5d3cef8a: am e0c12c88: Merge "Move verbose logging of device capabilities to dumpsys." into gingerbread Merge commit '5d3cef8a6d1baec29512764b9e0ba240ccd7fcfe' * commit '5d3cef8a6d1baec29512764b9e0ba240ccd7fcfe': Move verbose logging of device capabilities to dumpsys.
|
26c94ff615ffceee586c52f33954122d877f6c85 |
30-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Move verbose logging of device capabilities to dumpsys. Change-Id: I5d55eaebfdf049bd1ac1e7bab2758886cfefc9d7
nputReader.cpp
|
3c2450fbfb32b4dc5425920d5396c46b7e890822 |
28-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix bug in split touches. Cherry-picked down to master. Change-Id: I786761bd6aecc021ae22d8c9a022324f3a9980d1
nputDispatcher.cpp
|
1c322584439f00722ad091777404f2c022390a53 |
28-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix bug in split touches. Change-Id: I808c2201a06938f82817058059f4ddcc9b1a9ae2
nputDispatcher.cpp
|
2341fd66b9284fd1ad7958740a66c4eab87fb8e2 |
28-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
am 26d5786f: am 9c37447e: Merge "Fix pointer index when splitting secondary pointers." into gingerbread Merge commit '26d5786fb1a43d82b40fa908e1220a018b748c93' * commit '26d5786fb1a43d82b40fa908e1220a018b748c93': Fix pointer index when splitting secondary pointers.
|
ffb16d601b81c0a7559f601c4df8dbaea5947016 |
28-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix pointer index when splitting secondary pointers. Change-Id: Ib01e810ea5b64501b1303000bbef0f0a1db2114e
nputDispatcher.cpp
|
744c559ac78ecfa62d8809915a816bdbf3f87a09 |
27-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Add support for transferring touch focus. Prerequisite for drag and drop. Change-Id: Iedbe93ed0f3e1c4083130fe66b4ba06d416afce0
nputDispatcher.cpp
|
d1b0a2bfe50e61241fab6a571941c207232d9212 |
27-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Add suuport for splitting touch events across windows. This feature is currently used to enable dragging the start and end selection handles of a TextView at the same time. Could be used for other things later. Deleted some dead code in ArrowKeyMovementMethod and CursorControllers. Change-Id: I930accd97ca1ca1917aab8a807db2c950fc7b409
nputDispatcher.cpp
nputReader.cpp
|
ce802e33d498c5a87f7abc904d2741c8257d80ac |
17-Sep-2010 |
Brian Carlstrom <bdc@google.com> |
Merge "Fix sim-eng build on Hardy" into gingerbread
|
3b6dda9e19cf7c9073f52da2c25ef79ee80a83a6 |
17-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Merge "Ensure input dispatcher and native looper handles EINTR." into gingerbread
|
f67f29903680e7a33af020dbeb80697ad619b26e |
17-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Ensure input dispatcher and native looper handles EINTR. Change-Id: I0a42db5f273b9bfe4ab174e4ee65d5d852f9f6bc
nputTransport.cpp
|
d8816c3c4cd99cf51108f2a892c7a01b0de24057 |
16-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix app switch latency optimization. This optimization was broken due to recent changes in how ANRs are handled. Change-Id: Ic99248a12755fadac8d4893e7d305b773e038d3d
nputDispatcher.cpp
|
17563f9fb30dc5d2ad85878c436eabf7f1296a3e |
17-Sep-2010 |
Brian Carlstrom <bdc@google.com> |
Fix sim-eng build on Hardy Older glibc version do not include BSD htole32 and htole64 which are present in bionic. This worksaround a sim-eng build issue by only using htole32/htole64 if the host is not little endian. Change-Id: Ia8d0d36285f3c34c51a331790458e52a21c2925f
raphicLog.cpp
|
128e33421b7744126a69226d7acea717e9b6e652 |
16-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Merge "Input API review." into gingerbread
|
405a1d32e9ae90bc7e4e252528bd80a9ea0a5d6c |
16-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix input dispatcher regression on launcher drag&drop. Change-Id: I40e937bd712cd2ed6cceac95dfd1b8c8e070724f
nputDispatcher.cpp
|
40ad4706434b40fa466b23c6e9f03f6dcc32c0c4 |
16-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix NPE when handling certain kinds of ANRs. Change-Id: Iccef1852e52c84f6f49d30c491431460a10b33d3
nputDispatcher.cpp
|
53a415e6d1661d3d6278542c960f8d0cf62f6f42 |
16-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Make input dispatcher only ANR for foreground windows. Redesigned the input dispatcher's ANR timeout mechanism so it is much closer to Froyo's policy. ANR is only ever signalled if the dispatcher is waiting on a window to finish processing its previous event(s) and there is new pending input. In the old code, we tracked the dispatch timeout separately for each input channel. This was somewhat complicated and also resulted in the situation where applications could ANR long after the user had pushed them into the background. Change-Id: I666ecada0952d4b95f1d67b9f733842b745c7f4b
nputDispatcher.cpp
|
b5764e066c3ba60261c2719b4f447904605bf779 |
15-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Input API review. Drop currently unsupported input features. Add documentation comments. Change-Id: I407d2e1dd90c5ee82983a3ccf177430d35ee7592
nputReader.cpp
|
b06cca6228aec6acfefbfae7edd768d7de4c7057 |
15-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Merge "Replace epoll() with poll() and rename PollLoop to Looper." into gingerbread
|
59abe7e0909bf4b7bf7b9601e1e40a05f6d4fd8a |
14-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
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
nputDispatcher.cpp
|
35b48d10bc9e064201d3d54d2d476314684a7a05 |
14-Sep-2010 |
Mathias Agopian <mathias@google.com> |
Add logging of various important graphics events There are 16 events logged in the event log: SF_APP_DEQUEUE_BEFORE SF_APP_DEQUEUE_AFTER SF_APP_LOCK_BEFORE SF_APP_LOCK_AFTER SF_APP_QUEUE SF_REPAINT SF_COMPOSITION_COMPLETE SF_UNLOCK_CLIENTS SF_SWAP_BUFFERS SF_REPAINT_DONE SF_FB_POST_BEFORE SF_FB_POST_AFTER SF_FB_DEQUEUE_BEFORE SF_FB_DEQUEUE_AFTER SF_FB_LOCK_BEFORE SF_FB_LOCK_AFTER all events log the buffer conserned and a timestamp in microseconds. by default the logging is not enabled, to turn it on: adb shell service call SurfaceFlinger 1006 i31 1 adb shell setprop debug.graphic_log 1 The effect is immediate in SurfaceFlinger, but applications need to be restarted. Change-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1
ndroid.mk
ramebufferNativeWindow.cpp
raphicLog.cpp
|
a665ca805c7ecda89ef95658f4d1c09ba6bd7f2e |
08-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Input dispatcher ANR handling enhancements. This change is essentially a rewrite of the main input dispatcher loop with the target identification folded in. Since the input dispatcher now has all of the window state, it can make better decisions about when to ANR. Added a .5 second deadline for processing app switch keys. This behavior predates Gingerbread but had not previously been ported. Fixed some timing inaccuracies in the ANR accounting that could cause applications to ANR sooner than they should have. Added a mechanism for tracking key and motion events that have been dispatched to a window so that appropriate cancelation events can be synthesized when recovering from ANR. This change helps to keep applications in sync so they don't end up with stuck buttons upon recovery from ANRs. Added more comments to describe the tricky parts of PollLoop. Change-Id: I13dffca27acb436fc383980db536abc4d8b9e6f1
nputDispatcher.cpp
nputManager.cpp
nputReader.cpp
|
61ce3982e1e5fd31f6e5b2be4d238b048a58f760 |
07-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix key repeat delay. Change-Id: I6216e082324ee29bf50e37acc673350ca5417c4d
nputDispatcher.cpp
|
af30ff6020990427e0e0e73e4ac4a85a6f26a8ff |
02-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
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
nput.cpp
nputDispatcher.cpp
nputReader.cpp
nputTransport.cpp
ests/InputPublisherAndConsumer_test.cpp
|
774cf1baa17eeb76d4ad969266686df9b6248aaf |
01-Sep-2010 |
Jeff Brown <jeffbrown@google.com> |
Remove incomplete input device enumeration NDK API. Change-Id: I32de74ff5fcf0e29179a2aee03ddabd22fa485bb
nput.cpp
|
38a7fabd96566a229a276e7066ac1caf5157e127 |
30-Aug-2010 |
Jeff Brown <jeffbrown@google.com> |
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
ventHub.cpp
nputDispatcher.cpp
nputReader.cpp
|
39f04ee5cfe996337971f7a393d430449ee72e03 |
23-Jun-2010 |
Sean McNeil <sean.mcneil@windriver.com> |
Only monitor recognized uevent devices. system_server can potentially monitor uevent devices that are of no use to it. For instance, an accelerometer implementation as uevents. This would cause the process to be busy when unnecessary. If a device cannot be classified, don't monitor it. Change-Id: I489cc453bdce7cb376102cba67a9ea470e13292d
ventHub.cpp
|
385648ba93bf37b0b70c7e5de8b054f500b9d893 |
19-Aug-2010 |
Mathias Agopian <mathias@google.com> |
Merge "remove unused pixel format" into gingerbread
|
869347fc62bcb1f1e5ccdd403c952b21bc9b1ab7 |
19-Aug-2010 |
Jeff Brown <jeffbrown@google.com> |
Make the throttling more sensitive to end-to-end latency. The code now takes into account the time when the event was generated. So with a 60Hz throttling rate, it ensures that a motion event will not be delayed due to throttling by any more than 1/60th of second past the time it was generated. Change-Id: Iaea1d4f76e79036b4a18873485230731c3cd63c3
nputDispatcher.cpp
|
c04cffd5703607f31356c26016b6e3ec971f6511 |
19-Aug-2010 |
Mathias Agopian <mathias@google.com> |
remove unused pixel format Change-Id: I55bc3cc41385743c07f7e4de06335c922f746f73
ixelFormat.cpp
|
542412c8c96ee369e7bdc197a79a2d37c7f8e020 |
19-Aug-2010 |
Jeff Brown <jeffbrown@google.com> |
Add support for throttling motion events. Change-Id: I24b3a17753e91ecda60a60fe5cd2e6b3260e033d
nputDispatcher.cpp
|
2e7a530242f56eaeb640a1ae83cf4ad256bf81dd |
23-Jun-2010 |
Sean McNeil <sean.mcneil@windriver.com> |
Only monitor recognized uevent devices. system_server can potentially monitor uevent devices that are of no use to it. For instance, an accelerometer implementation as uevents. This would cause the process to be busy when unnecessary. If a device cannot be classified, don't monitor it. Change-Id: Ib2c93105e7d746d9c1a7414bea8bab3fb8c0b70a
ventHub.cpp
|
36cb115c771d8724a49512d5f4def534c731992b |
18-Aug-2010 |
Jeff Brown <jeffbrown@google.com> |
Merge "Fix some input device mapping bugs with certain drivers." into gingerbread
|
d64c855821457515d1da78dfac65af8306b53343 |
18-Aug-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix some input device mapping bugs with certain drivers. On single-touch devices, pointer up/down is signalled by a BTN_TOUCH key event. Previously we handled BTN_TOUCH immediately but some drivers may produce the sequence BTN_TOUCH, ABS_X, ABS_Y, SYN_REPORT on pointer down which caused us to emit a bad initial pointer down location. Now we wait for SYN_REPORT before reporting the up or down. On multi-touch devices, pointer up can be signalled by as little as the sequence SYN_MT_REPORT, SYN_REPORT. This change ensures that we handle this case. Added support for reading ABS_MT_PRESSURE when available. Corrected mapping of touchMajor/touchMinor on single touch devices. Minor code cleanup. Change-Id: Ic7ec4811241ed85a06e59b8a839ca05180d491d4
nputReader.cpp
|
7dcaa584969253e32aec19d5bd40062704aaf95b |
22-Jun-2010 |
Jens Gulin <jens.gulin@sonyericsson.com> |
Keep track of remaining fd when devices are removed Sometimes the wrong fd was accessed when the device was addressed by device id. The earlier implementation assumed that two arrays were in sync but one of them was compacted when devices were removed. Instead of that dependency the device now keeps track of it's file descriptor. Change-Id: Ib0f320603aafb07ded354bc3687de9759c9068f2
ventHub.cpp
|
827630744a5bf05d25c2fa1fb7c53b9ab2b94a69 |
18-Aug-2010 |
Jeff Brown <jeffbrown@google.com> |
Optimize EventHub reads. Change-Id: Id7d09c0a6e5c741c1e29becd2b6560772c5ff372
ventHub.cpp
|
0cacb87f022cc2bfa6c3b40217f9b230628f3fd7 |
18-Aug-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix possible race conditions during channel unregistration. Previously, the input dispatcher assumed that the input channel's receive pipe file descriptor was a sufficiently unique identifier for looking up input channels in its various tables. However, it can happen that an input channel is disposed and then a new input channel is immediately created that reuses the same file descriptor. Ordinarily this is not a problem, however there is a small opportunity for a race to arise in InputQueue. When InputQueue receives an input event from the dispatcher, it generates a finishedToken that encodes the channel's receive pipe fd, and a sequence number. The finishedToken is used by the ViewRoot as a handle for the event so that it can tell the InputQueue when the event has finished being processed. Here is the race: 1. InputQueue receives an input event, assigns a new finishedToken. 2. ViewRoot begins processing the input event. 3. During processing, ViewRoot unregisters the InputChannel. 4. A new InputChannel is created and is registered with the Input Queue. This InputChannel happens to have the same receive pipe fd as the one previously registered. 5. ViewRoot tells the InputQueue that it has finished processing the input event, passing along the original finishedToken. 6. InputQueue throws an exception because the finishedToken's receive pipe fd is registered but the sequence number is incorrect so it assumes that the client has called finish spuriously. The fix is to include a unique connection id within the finishedToken so that the InputQueue can accurately confirm that the token belongs to the currently registered InputChannel rather than to an old one that happened to have the same receive pipe fd. When it notices this, it ignores the spurious finish. I've also made a couple of other small changes to avoid similar races elsewhere. This patch set also includes a fix to synthesize a finished signal when the input channel is unregistered on the client side to help keep the server and client in sync. Bug: 2834068 Change-Id: I1de34a36249ab74c359c2c67a57e333543400f7b
nputDispatcher.cpp
|
8d4dfd25f7329d0cdcc8dda8bdfadd7ebec3b3a4 |
11-Aug-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix safe mode and KeyEvent.getMaxKeyCode(). Bug: 2901731 Change-Id: I78617c1b9dee3790fc590e5af4b5083368873184
nputReader.cpp
|
b51719b9ae719615d5ce66ad8a81395388ef9a5b |
30-Jul-2010 |
Jeff Brown <jeffbrown@google.com> |
Improve thread safety of input mappers. Also fixed bug where old touch screen size could be reported by getMotionRange if an orientation change occurred but the user has not yet touched the screen. Bug: 2877345 Change-Id: I7878f47458f310ed6ebe6a5d1b2c9bec2c598ab9
nputReader.cpp
|
82de2fcdd021f0bc2b1c3239601333b8796631ca |
29-Jul-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix touch input in landscape mode. Change-Id: I7d47e9b02e6443ed604a6bf842028a5db934d90d
nputReader.cpp
|
f67c53eee33d2a2296f269a504e11c90904b3d39 |
29-Jul-2010 |
Jeff Brown <jeffbrown@google.com> |
DO NOT MERGE: Fix input event injection ANRs on UI thread. Added a new asynchronous injection mode and made the existing synchronization mechanism more robust. Change-Id: Ia4aa04fd9b75ea2461a844c5b7933c831c1027e6
nputDispatcher.cpp
nputManager.cpp
|
e57e8950804b08c80fb69df184b2f5af84ae103c |
24-Jul-2010 |
Jeff Brown <jeffbrown@google.com> |
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
ndroid.mk
ventHub.cpp
nput.cpp
nputDevice.cpp
nputManager.cpp
nputReader.cpp
|
f26db0d6c55ff572f8772498c5d845ade7c6e8b8 |
17-Jul-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix trackball down and movement bugs. Bug: 2823788 Change-Id: Icb0c392b58f7e735614460b5eb87439cb73ac4f2
nputDispatcher.cpp
nputReader.cpp
|
3cf1c9b8443f8db238b0214a97defc09b7e6fc98 |
17-Jul-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix individual pointer id up/down reporting. Fix a minor threading bug in InputManager dump. Change-Id: Ic2eecf7df5a8dc9f40561fcb03ebe58a2c073778
nputReader.cpp
|
0e8852766d2cc0ef82ed0846a4cae55ead01fdbf |
16-Jul-2010 |
Dianne Hackborn <hackbod@google.com> |
Implement native key pre-dispatching to IMEs. This significantly re-works the native key dispatching code to allow events to be pre-dispatched to the current IME before being processed by native code. It introduces one new public API, which must be called after retrieving an event if the app wishes for it to be pre-dispatched. Currently the native code will only do pre-dispatching of system keys, to avoid significant overhead for gaming input. This should be improved to be smarted, filtering for only keys that the IME is interested in. Unfortunately IMEs don't currently provide this information. :p Change-Id: Ic1c7aeec8b348164957f2cd88119eb5bd85c2a9f
nput.cpp
|
5c1ed84a2dec7efe914d0d1abb6834f8543fb9f1 |
15-Jul-2010 |
Jeff Brown <jeffbrown@google.com> |
Add support for new input sources. Added several new coordinate values to MotionEvents to capture touch major/minor area, tool major/minor area and orientation. Renamed NDK input constants per convention. Added InputDevice class in Java which will eventually provide useful information about available input devices. Added APIs for manufacturing new MotionEvent objects with multiple pointers and all necessary coordinate data. Fixed a bug in the input dispatcher where it could get stuck with a pointer down forever. Fixed a bug in the WindowManager where the input window list could end up containing stale removed windows. Fixed a bug in the WindowManager where the input channel was being removed only after the final animation transition had taken place which caused spurious WINDOW DIED log messages to be printed. Change-Id: Ie55084da319b20aad29b28a0499b8dd98bb5da68
ventHub.cpp
nput.cpp
nputDevice.cpp
nputDispatcher.cpp
nputReader.cpp
nputTransport.cpp
ests/InputPublisherAndConsumer_test.cpp
|
a50ee3ecb377c69758254a0af9542bb64ecc5b71 |
15-Jul-2010 |
Jeff Brown <jeffbrown@google.com> |
Don't build framework tests for simulator target. Change-Id: I70f29c7eb307e4f3ec5702f4eb9d97b4342e2f36
ests/Android.mk
|
48c347637124339a34aff53df40bbcb5b044ee6d |
07-Jul-2010 |
Mathias Agopian <mathias@google.com> |
Remove the YV16 format for simplicity's sake. Change-Id: Iee03d100933ba0c67b13d51e0435be3b4cd953cf
ixelFormat.cpp
|
ce838a265d9da5b4bd3a0c833b01db6dbaa623f5 |
14-Jul-2010 |
Dianne Hackborn <hackbod@google.com> |
IME events are now dispatched to native applications. 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
nputTransport.cpp
|
8575a87b0d61d21c286321afdf193f4fac53d681 |
01-Jul-2010 |
Jeff Brown <jeffbrown@google.com> |
Add initial gamepad support. Change-Id: I0439648f6eb5405f200e4223c915eb3a418b32b9
ndroid.mk
ventHub.cpp
nput.cpp
nputDevice.cpp
nputDispatcher.cpp
nputReader.cpp
ests/InputPublisherAndConsumer_test.cpp
|
9147d11a5f1d50496908bb1f49996e3ad23e19cc |
09-Jul-2010 |
Dianne Hackborn <hackbod@google.com> |
Add ANativeWindow API for directly drawing to the surface bits. 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
ect.cpp
|
3c5d125ed796dbecdd80fa2c03e04ff9b1d752e4 |
07-Jul-2010 |
Dianne Hackborn <hackbod@google.com> |
Add new glue code for writing native apps. 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
nputDispatcher.cpp
|
f16c26dec9651628b0c130e2504e2cc911393aea |
03-Jul-2010 |
Jeff Brown <jeffbrown@google.com> |
More native input dispatch work. 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
nputDispatcher.cpp
nputReader.cpp
|
1764c73b5532c86648f01f0b2275410e78753b5a |
02-Jul-2010 |
Mathias Agopian <mathias@google.com> |
remove unused YUV formats Change-Id: Ie84616f842c7e0329d68e67e65a65d510558004b
ixelFormat.cpp
|
e12e3d7692cf370b8cbdb848da5201bfa0410afb |
01-Jul-2010 |
Dianne Hackborn <hackbod@google.com> |
Merge "Introduce official public NativeWindow type." into gingerbread
|
05dedd17ec753ce8a791679c59504a33ad667f3c |
01-Jul-2010 |
Mathias Agopian <mathias@google.com> |
Merge "fix live wallpapers on Droid" into gingerbread
|
a8f3e4e53cad835d0d57b85a6ce1b7416e95ba73 |
01-Jul-2010 |
Mathias Agopian <mathias@google.com> |
fix live wallpapers on Droid 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
raphicBuffer.cpp
|
4b5e91e4820f03dba7dcc36e4b148331bc964b4b |
30-Jun-2010 |
Dianne Hackborn <hackbod@google.com> |
Introduce official public NativeWindow type. Not yet hooked up to anything in the NDK, but requires renaming the existing android_native_window_t type everywhere. Change-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e
ramebufferNativeWindow.cpp
|
c393eb6cf5f5685d4dc1ddaa04136475536acccf |
30-Jun-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix injection of specially intercepted keys like HOME. This change mainly unwinds a premature optimization in the dispatch pipeline. To test HOME injection, run 'adb shell input keyevent 3'. Change-Id: I1c4b7377c205da7c898014b8b07fc6dc1d46e4dd
nputReader.cpp
|
189ed23c1002054fdc06893e99d34a3617f24108 |
30-Jun-2010 |
Dianne Hackborn <hackbod@google.com> |
Implement default key handling for native code. 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
nput.cpp
|
4036f7f2b44351a8d964b5cdfdf7b787795cf041 |
30-Jun-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix native input dispatch in the emulator. 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
nputDispatcher.cpp
nputReader.cpp
|
9c7f8186aea675628894b8f3844f83e791870859 |
29-Jun-2010 |
Dianne Hackborn <hackbod@google.com> |
Update native activity & event APIs to follow correct conventions. Change-Id: Ie64fb3a9c68bc9c117fa5621b75d1f609e304e0e
nputTransport.cpp
|
50de30a5230dd15326f8bcbb4beaf617bca265e2 |
22-Jun-2010 |
Jeff Brown <jeffbrown@google.com> |
Native input event dispatching. 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
nputDispatcher.cpp
nputManager.cpp
nputReader.cpp
nputTransport.cpp
|
af997c49621558dc697247040b47c3bc10ca7094 |
22-Jun-2010 |
Jens Gulin <jens.gulin@sonyericsson.com> |
Keep track of remaining fd when devices are removed Sometimes the wrong fd was accessed when the device was addressed by device id. The earlier implementation assumed that two arrays were in sync but one of them was compacted when devices were removed. Instead of that dependency the device now keeps track of it's file descriptor. Change-Id: I2b8a793d76b89ab464ae830482b309fe86031671
ventHub.cpp
|
d974e0069778693234e3499eabc435d9045bb068 |
24-Jun-2010 |
Christopher Tate <ctate@google.com> |
Remember to initialize timestamps in the dispatch allocator Change-Id: I83a2d353c34ff84a7d130e602c6dedc6a5541944
nputDispatcher.cpp
|
4d96bb6ae38466a04acfbcce61cb202786239927 |
19-Jun-2010 |
Dianne Hackborn <hackbod@google.com> |
First stab at attaching native event dispatching. 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
nput.cpp
nputTransport.cpp
|
3f3a74a53af9401ee3812e0faa37189467d81af8 |
22-Jun-2010 |
Mathias Agopian <mathias@google.com> |
remove unused YUV formats Change-Id: Id0ae28b1700cf771cdbe0ca27b139d32cab90b2a
ixelFormat.cpp
|
b16fa651ddbd6189409aa053ff1ae73383ae5157 |
22-Jun-2010 |
Mathias Agopian <mathias@google.com> |
Merge "Added support for the GL_TEXTURE_EXTERNAL target" into gingerbread
|
51d45a710eff6da1749ae66ce9cab218144c388b |
18-Jun-2010 |
Jeff Brown <jeffbrown@google.com> |
More native input event dispatching. 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
nputDispatcher.cpp
nputManager.cpp
nputReader.cpp
|
f4a4ec2063dfd28e04bbfe712f67acee4bdc8e37 |
16-Jun-2010 |
Jeff Brown <jeffbrown@google.com> |
Even more native input dispatch work in progress. 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
nput.cpp
nputDispatcher.cpp
nputReader.cpp
nputTransport.cpp
ests/Android.mk
ests/InputChannel_test.cpp
ests/InputDispatcher_test.cpp
ests/InputPublisherAndConsumer_test.cpp
|
0a91775c4df380d6a5b7f3ccad5127388ac01306 |
15-Jun-2010 |
Mathias Agopian <mathias@google.com> |
Added support for the GL_TEXTURE_EXTERNAL target This will allow us to support YUV surfaces. Change-Id: I2d4da75f1006a5285bdc552695d4caeecccf2183
ixelFormat.cpp
|
c10612c77abfb7755624970f99ae27c5910ca0fc |
16-Jun-2010 |
Jeff Brown <jeffbrown@google.com> |
Merge "More work in progress on native events." into gingerbread
|
54bc281639e5ff6955d7a86104f6f21624941aca |
15-Jun-2010 |
Jeff Brown <jeffbrown@google.com> |
More work in progress on native events. 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
nputDispatcher.cpp
nputManager.cpp
nputReader.cpp
|
f69280ef72f1adfcdb7bfef001e4935344c410c0 |
15-Jun-2010 |
Jeff Brown <jeffbrown@google.com> |
Support for multiple tests The build system enforces some invariants that were being ignored before. Change-Id: Ie7675042af7f961a507386c13b2a0b592b591af8
ests/Android.mk
|
66d9df50dac51940156f121768aaeb9a25ef2179 |
14-Jun-2010 |
Jeff Brown <jeffbrown@google.com> |
Fix include paths. Change-Id: Ifda45688f9f02710a74d5d7a7d902bacf1441e2e
nputDispatcher.cpp
nputReader.cpp
|
e839a589bf582568cf220c1040ed93b948e6e362 |
23-Apr-2010 |
Jeff Brown <jeffbrown@google.com> |
Native input dispatch rewrite work in progress. 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
ndroid.mk
ventHub.cpp
nput.cpp
nputDispatcher.cpp
nputManager.cpp
nputReader.cpp
nputTransport.cpp
ests/Android.mk
ests/InputDispatcher_test.cpp
ests/region.cpp
ests/region/Android.mk
ests/region/region.cpp
|
579b3f88d03d06b897b778bd11818f5104677d1d |
09-Jun-2010 |
Mathias Agopian <mathias@google.com> |
allow re-targetting of surfaces 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
raphicBuffer.cpp
|
b7e930db175c192464cebdeb49eb56cf6dd60114 |
02-Jun-2010 |
Mathias Agopian <mathias@google.com> |
split surface management from surface's buffers management Change-Id: If3c5655d1231f8f0c49ba68f972b1b20c93b3f87
raphicBuffer.cpp
|
49753266d2219d2fbf5c33dc4626f299dffcdd76 |
13-Apr-2010 |
Mathias Agopian <mathias@google.com> |
fix a bug where fading in/out of opaque 32-bits windows wasn't working 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.
raphicBuffer.cpp
|
5629eb167638a9ebfa5059177d227c7ac67db46f |
15-Apr-2010 |
Mathias Agopian <mathias@google.com> |
when a zero dimension buffer is allocated, turn the allocation into a 1x1 buffer instead of Nx1 (or 1xN) Change-Id: I27eeb15e83e13002dd9405f4e52b54f7dffc0fe7
raphicBufferAllocator.cpp
|
c8620b60d67390d2bd0fa0ce53cc63fc18c50244 |
25-Mar-2010 |
Mathias Agopian <mathias@google.com> |
fix [2545826] calling into gralloc with external lock held Change-Id: I2d0e017382404c684c768a0dd0423d574213f10a
raphicBufferAllocator.cpp
|
55fa25161a7626ae6a15bc2cc46e22771455ed80 |
12-Mar-2010 |
Mathias Agopian <mathias@google.com> |
implement connect/disconnect in our native_window_t implementations 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
ramebufferNativeWindow.cpp
|
9855a0575efe1fbd5df662aee465b4c9a09c3871 |
05-Mar-2010 |
Christopher Tate <ctate@google.com> |
Calculate bitmask array sizes correctly in the EventHub 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
ventHub.cpp
|
2032f98f8c6176be7819bd3bc4459a05542c5b85 |
05-Mar-2010 |
Christopher Tate <ctate@google.com> |
Fix #2489986 : The key bitmask needs to cover all possible keys Change-Id: Ieebd2f879e6b6fbc0388655dd66f34be89e809a0
ventHub.cpp
|
71c3eb2a389ce405ea3286271422e2da52e828de |
03-Mar-2010 |
Dianne Hackborn <hackbod@google.com> |
Maybe fix issue #2482201: Paired bluetooth device looks like a qwerty keyboard 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.
ventHub.cpp
|
98e71ddaede9a0bfb681fd237bec1f66c6c53193 |
12-Feb-2010 |
Mathias Agopian <mathias@google.com> |
remove a dependency of GraphicBuffer (libui) on Parcel (libbinder). 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.
raphicBuffer.cpp
|
b6121422ef641dc7317d1c3bf1d38b7d73922250 |
18-Feb-2010 |
Mathias Agopian <mathias@google.com> |
Remove a dependency of Region (libui) on Parcel (libbinder).
egion.cpp
|
3db21640519541141137166ce55627cf76e1974b |
17-Feb-2010 |
Mathias Agopian <mathias@google.com> |
fix a bug I introduced recently where YUV formats would crash the system
ixelFormat.cpp
|
54ed4f6282bdea251455f39b978626026affdbef |
17-Feb-2010 |
Mathias Agopian <mathias@google.com> |
get rid off the YUV formats at the libui layer
ixelFormat.cpp
|
9cce325fae8adcf7560a28eef394489f09bad74d |
10-Feb-2010 |
Mathias Agopian <mathias@google.com> |
split libsurfaceflinger_client and libcamera_client out of libui
ndroid.mk
amera.cpp
ameraParameters.cpp
ramebufferNativeWindow.cpp
Camera.cpp
CameraClient.cpp
CameraService.cpp
Surface.cpp
SurfaceComposer.cpp
SurfaceFlingerClient.cpp
ayerState.cpp
haredBufferStack.cpp
urface.cpp
urfaceComposerClient.cpp
|
1776e77c68971a72ca81b720c2074bae342d3f0a |
10-Feb-2010 |
Wu-cheng Li <wuchengli@google.com> |
Merge "Remove some logs."
|
d5a4f1ff5bd519cf9b53af5c0a687f156bdf302a |
10-Feb-2010 |
Wu-cheng Li <wuchengli@google.com> |
Remove some logs.
amera.cpp
Camera.cpp
|
a05c8227046081b2648b8150c1a716040eb08121 |
09-Feb-2010 |
Wu-cheng Li <wuchengli@google.com> |
Add exposure compensation parameter. bug:2375993
ameraParameters.cpp
|
391f3f8b5e8f97e002cbbc6a7535cfd73a8d16b3 |
31-Jan-2010 |
Wu-cheng Li <wuchengli@google.com> |
Add float support for set and get in CameraParameters. bug:2375989 bug:2375987
ameraParameters.cpp
|
077c40fee35f483df961c6a0746ee78b9d1c5a8f |
27-Jan-2010 |
Wu-cheng Li <wuchengli@google.com> |
Add focal length and view angle API. bug:2375989,2375987
ameraParameters.cpp
|
556a6fed124adf9494bd7e1702ce0f665220e998 |
27-Jan-2010 |
Chih-Chung Chang <chihchung@google.com> |
Merge "Add support for setting camera display orientation."
|
f091e833d339d344fbc4815bcc87ce97d8535cd8 |
23-Jan-2010 |
Chih-Chung Chang <chihchung@google.com> |
Add support for setting camera display orientation.
ameraParameters.cpp
|
1b5cf329eaecdcbf734feec3336ff029b2b8a264 |
26-Jan-2010 |
Nick Pelly <npelly@google.com> |
Revert "Fix failure to open AVRCP input device due to EPERM." This reverts commit e6b1bbd8acca3f6e174c24cf4eb23a66db2d08a2.
ventHub.cpp
|
2b2c2e3a35287fdd9a292ab981d5708e2bbfe07c |
26-Jan-2010 |
Nick Pelly <npelly@google.com> |
am 425324e9: am e834722f: Merge "Fix failure to open AVRCP input device due to EPERM." into eclair Merge commit '425324e97bba75cd69bb6c81de6248529540e6fe' * commit '425324e97bba75cd69bb6c81de6248529540e6fe': Fix failure to open AVRCP input device due to EPERM.
|
88eeff5270991df178ee09ffda7ce5076c9a1e59 |
25-Jan-2010 |
Wu-cheng Li <wuchengli@google.com> |
Change key to KEY_SUPPORTED_JPEG_THUMBNAIL_SIZES for consistency. bug:2375986
ameraParameters.cpp
|
519f29f5d8e097b3a35a650d92ed0ad07773c9e2 |
22-Jan-2010 |
Mathias Agopian <mathias@google.com> |
Merge "return an error when Surface::lock() is called while the surface is already locked."
|
9014726d8954a003323d65ba639b2544f8ecea2e |
22-Jan-2010 |
Mathias Agopian <mathias@google.com> |
return an error when Surface::lock() is called while the surface is already locked.
urface.cpp
|
52e7200b6e020bba978c36e3a928493a3f2c8a92 |
22-Jan-2010 |
Chih-Chung Chang <chihchung@google.com> |
Add an orientation parameter for overlay, so we can do camera preview in portrait mode.
Surface.cpp
|
c81bb207c67e82f25c8ec15a533dbdc2435d83f7 |
21-Jan-2010 |
Nick Pelly <npelly@google.com> |
Fix failure to open AVRCP input device due to EPERM. Sleep for 100us and try to open the input device again if it fails, with a maximum of 10 attempts. We need the retry logic because setting permissions on a new input device is racy. The init process watches for new input device (via uevent) and sets the permission on them in devices.c:make_device(). However at the same time EventHub.cpp watches for new input devices from the system_server process, and immediately tries to open them. I can't see a simple way to avoid this race condition. As best as I can tell this race condition has always exisited. There must have been some timing change that happened recently that causes us to hit this race condition much more often. See repro notes in referenced bug. Bug: 2375632
ventHub.cpp
|
963abad79ae64dae9bf4c32bfb110d9e6314c857 |
14-Nov-2009 |
Mathias Agopian <mathias@google.com> |
fix some aspects of [2258746] native crash in launcher2 Surface::validate() could sometimes dereference a null pointer before checking it wasn't null. This will prevent the application to crash when given bad parameters or used incorrectly. However, the bug above probably has another cause.
urface.cpp
|
092fa4beaf6ca214d88f657a8b233ad0f3fd6a10 |
06-Nov-2009 |
Romain Guy <romainguy@android.com> |
Revert change incorrectly submitted as part of change #32153. Change-Id: I31c52beff03c0d038a257fc151eff3b8da60eddc
ramebufferNativeWindow.cpp
|
471afca7fce7db8dfb4b59d10f9e699a6b951cb5 |
05-Nov-2009 |
Romain Guy <romainguy@android.com> |
Prevent crash in Home when using widgets whose ids collide with Home's resources. Bug #2228943. Approved by mcleron, triaged by ryanpc. Change-Id: Idf40f3b09502ae5d0d3b9a6a72c265a2de2ffca2
ramebufferNativeWindow.cpp
|
6fee064809068fe1a7da63d55678d9a222b0be15 |
03-Nov-2009 |
Mathias Agopian <mathias@google.com> |
fix[2228133] pixelflinger ignores the "vertical stride" leading to artifacts when playing back video we lost the concept of vertical stride when moving video playback to EGLImage. Here we bring it back in a somewhat hacky-way that will work only for the softgl/mdp backend.
raphicBuffer.cpp
|
54ba51dff21de666c5ae3bf3abd4f0634ebb0676 |
27-Oct-2009 |
Mathias Agopian <mathias@google.com> |
fix [2143798] Need to figure out how to do video Use EGLImageKHR instead of copybit directly. We now have the basis to use streaming YUV textures (well, in fact we already are). When/if we use the GPU instead of the MDP we'll need to make sure it supports the appropriate YUV format. Also make sure we compile if EGL_ANDROID_image_native_buffer is not supported
raphicBuffer.cpp
|
38a7fa2ae37236952e5fb0186fddb4f6da5990d8 |
16-Oct-2009 |
Mathias Agopian <mathias@google.com> |
fix [2182249] [MR1] valgrind error in surface flinger
ests/region.cpp
|
d3144beec6acb37702629799a2adbeccc72ca222 |
07-Oct-2009 |
Mathias Agopian <mathias@google.com> |
fix [2170283] SurfaceFlinger crashes on OOM. when running out of memory, a null handle is returned but the error code may not be set. In that case we need to return NO_MEMORY instead of NO_ERROR, so that the calling code won't try to dereference the null pointer.
urface.cpp
|
e700501d0e888ead9ac6456c0a6fd74d634aa5fb |
08-Oct-2009 |
Mathias Agopian <mathias@google.com> |
fix [2170319] gmail bulk operation checkbox latency on passion This also fixes [2152536] ANR in browser When SF is enqueuing buffers faster than SF dequeues them. The update flag in SF is not counted and under some situations SF will only dequeue the first buffer. The state at this point is not technically corrupted, it's valid, but just delayed by one buffer. In the case of the Browser ANR, because the last enqueued buffer was delayed the resizing of the current buffer couldn't happen. The system would always fall back onto its feet if anything -else- in tried to draw, because the "late" buffer would be picked up then.
ndroid.mk
haredBufferStack.cpp
urfaceComposerClient.cpp
urfaceFlingerSynchro.cpp
|
9ec430adaea1cb88eaa1e78c7f759cd42ab6cf7a |
07-Oct-2009 |
Mathias Agopian <mathias@google.com> |
fix [2152536] ANR in browser A window is created and the browser is about to render into it the very first time, at that point it does an IPC to SF to request a new buffer. Meanwhile, the window manager removes that window from the list and the shared memory block it uses is marked as invalid. However, at that point, another window is created and is given the same index (that just go freed), but a different identity and resets the "invalid" bit in the shared block. When we go back to the buffer allocation code, we're stuck because the surface we're allocating for is gone and we don't detect it's invalid because the invalid bit has been reset. It is not sufficient to check for the invalid bit, I should also check that identities match.
haredBufferStack.cpp
urface.cpp
|
b26af23744fa73e8bc142b1eb98772fde5970c10 |
06-Oct-2009 |
Mathias Agopian <mathias@google.com> |
fix [2168531] have software-only gralloc buffer side-step the HAL
raphicBufferAllocator.cpp
raphicBufferMapper.cpp
|
3330b203039dea366d4981db1408a460134b2d2c |
06-Oct-2009 |
Mathias Agopian <mathias@google.com> |
fix [2167050] glTexImage2D code path buggy in SurfaceFlinger When EGLImage extension is not available, SurfaceFlinger will fallback to using glTexImage2D and glTexSubImage2D instead, which requires 50% more memory and an extra copy. However this code path has never been exercised and had some bugs which this patch fix. Mainly the scale factor wasn't computed right when falling back on glDrawElements. We also fallback to this mode of operation if a buffer doesn't have the adequate usage bits for EGLImage usage. This changes only code that is currently not executed. Some refactoring was needed to keep the change clean. This doesn't change anything functionaly.
ndroid.mk
ufferMapper.cpp
raphicBuffer.cpp
raphicBufferAllocator.cpp
raphicBufferMapper.cpp
Surface.cpp
urface.cpp
urfaceBuffer.cpp
|
e6a550d02ff02f465d7dbb6e862671462866f024 |
29-Sep-2009 |
Wu-cheng Li <wuchengli@google.com> |
Add zoom functions and sendCommand. b2060030
amera.cpp
Camera.cpp
|
0b3ad46a26dc3717260fa9347c77f673f3198606 |
03-Oct-2009 |
Mathias Agopian <mathias@google.com> |
Attempt to fix [2152536] ANR in browser The ANR is caused by SurfaceFlinger waiting for buffers of a removed surface to become availlable. When it is removed from the current list, a Surface is marked as NO_INIT, which causes SF to return immediately in the above case. For some reason, the surface here wasn't marked as NO_INIT. This change makes the code more robust by always (irregadless or errors) setting the NO_INIT status in all code paths where a surface is removed from the list. Additionaly added more information in the logs, should this happen again.
haredBufferStack.cpp
urface.cpp
|
eb16a09f59022f9fd3f1d633204049bc4e96b0f9 |
28-Sep-2009 |
Wu-cheng Li <wuchengli@google.com> |
Change FLASH_MODE_VIDEO_LIGHT to FLASH_MODE_TORCH.
ameraParameters.cpp
|
cc6ce203be6784130c73e6f253981c7236cdcb68 |
23-Sep-2009 |
Wu-cheng Li <wuchengli@google.com> |
Add camera parameter key constants and documentation.
ameraParameters.cpp
|
dd3423c6247965bf67ea30c75e484a6f5d72b1a2 |
24-Sep-2009 |
Mathias Agopian <mathias@google.com> |
fix [2132563] stuck in boot animation (framebuffer_device_open: Failed to create flip chain)
urfaceComposerClient.cpp
|
a455793a8d068a06ae65e1e04170eb24851c0eb1 |
23-Sep-2009 |
Marco Nelissen <marcone@google.com> |
fbDev wasn't initialized of hw_get_module failed, but was then used anyway.
ramebufferNativeWindow.cpp
|
74faca212e2675aa55a30235c77cb6403471a4b9 |
18-Sep-2009 |
Mathias Agopian <mathias@google.com> |
Android side of the fix for [2121211] Sholes has stutter during animations a new method, compostionComplete() is added to the framebuffer hal, it is used by surfaceflinger to signal the driver that the composition is complete, BEFORE it releases its client. This gives a chance to the driver to
ramebufferNativeWindow.cpp
|
86f7329080cbb6f70d56278b005c820f0360d84b |
17-Sep-2009 |
Mathias Agopian <mathias@google.com> |
add basic time stats for surfaces lock time
haredBufferStack.cpp
|
68a6afeb26002961387573dd64dd0ea3816bdc91 |
16-Sep-2009 |
Mathias Agopian <mathias@google.com> |
fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer Take 2. We needed to check that the usage flags are "good enough" as opposed to "the same". This reverts commit 8f17a762fe9e9f31e4e86cb60ff2bfb6b10fdee6.
urface.cpp
|
3910f5467a344c54b3c39c45b820c184e31b449c |
16-Sep-2009 |
Mathias Agopian <mathias@google.com> |
Revert "fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer" This reverts commit 486aa963b63e20b7910e1004cebb4f0afabbd80f.
urface.cpp
|
d18afab9d6a89d14c5c583a7d976665af4765a6b |
16-Sep-2009 |
Mathias Agopian <mathias@google.com> |
fix [2122448] android_native_window_t::setUsage() only reallocates the first buffer
urface.cpp
|
00900eb35473530a5fc77f7bd3ac306b6dcf19cb |
15-Sep-2009 |
Chih-Chung Chang <chihchung@google.com> |
Fix 2083478: Camera needs an auto-focus cancel API Change-Id: I13bda991b32aee47e82b5cf9d43b3021c416a9a2
amera.cpp
Camera.cpp
|
c7d56010815b0e7104dfc1d4bba6d16cdcbffec4 |
15-Sep-2009 |
Mathias Agopian <mathias@google.com> |
make sure to update the tail pointer when undoing a dequeue
haredBufferStack.cpp
|
40d57996224a5c72fedfa80b6deb8f5a4935dc9a |
12-Sep-2009 |
Mathias Agopian <mathias@google.com> |
fix [2111536] [FAST BLOCKER] Device is soft rebooted after ending the call through voice dialer
haredBufferStack.cpp
|
48d819a1315f7d1b5abfec9d4fd34fb5aed27b1d |
11-Sep-2009 |
Mathias Agopian <mathias@google.com> |
fix [2112575] stuck on DequeueCondition for a surface that doesn't exist anymore this also fixes part of [2111536] Device is soft rebooted after ending the call through voice dialer
haredBufferStack.cpp
|
b58b5d72d6877300fe39b2a30b4742c6f962833f |
11-Sep-2009 |
Mathias Agopian <mathias@google.com> |
make sure conditions will return when the status of a surface is not NO_ERROR
haredBufferStack.cpp
|
e0a963b72ed7babf1ab21ffdfd9e2b93ae4fe63e |
09-Sep-2009 |
Andy McFadden <fadden@android.com> |
Fix sim-eng build. Appears to have been broken by: commit 9779b221e999583ff89e0dfc40e56398737adbb3 Author: Mathias Agopian <mathias@google.com> Date: Mon Sep 7 16:32:45 2009 -0700 fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properly For some reason we don't like to have "-lpthread" globally -- it's a no-op on device builds, but required for many host tools and all sim binaries -- so adding the use of pthread calls requires adding the library explicitly.
ndroid.mk
|
cbb288bfe89f585bf48371bd31b2d4aafa32f32e |
08-Sep-2009 |
Mathias Agopian <mathias@google.com> |
fix [2068105] implement queueBuffer/lockBuffer/dequeueBuffer properly Rewrote SurfaceFlinger's buffer management from the ground-up. The design now support an arbitrary number of buffers per surface, however the current implementation is limited to four. Currently only 2 buffers are used in practice. The main new feature is to be able to dequeue all buffers at once (very important when there are only two). A client can dequeue all buffers until there are none available, it can lock all buffers except the last one that is used for composition. The client will block then, until a new buffer is enqueued. The current implementation requires that buffers are locked in the same order they are dequeued and enqueued in the same order they are locked. Only one buffer can be locked at a time. eg. Allowed sequence: DQ, DQ, LOCK, Q, LOCK, Q eg. Forbidden sequence: DQ, DQ, LOCK, LOCK, Q, Q
ndroid.mk
Surface.cpp
haredBufferStack.cpp
urface.cpp
urfaceBuffer.cpp
urfaceComposerClient.cpp
|
39bf918e21d8fd13ce5015517fabac255b01f409 |
02-Sep-2009 |
Dianne Hackborn <hackbod@google.com> |
Work on issue #2079167: Flickering issue across multiple UI This addresses a few parts of the bug: - There was a small issue in the window manager where we could show a window too early before the transition animation starts, which was introduced by the recent wallpaper work. This was the cause of the flicker when starting the dialer for the first time. - There was a much larger problem that has existing forever where moving an application token to the front or back was not synchronized with the application animation transaction. This was the cause of the flicker when hanging up (now that the in-call screen moves to the back instead of closing and we always have a wallpaper visible). The approach to solving this is to have the window manager go ahead and move the app tokens (it must in order to keep in sync with the activity manager), but to delay the actual window movement: perform the movement to front when the animation starts, and to back when it ends. Actually, when the animation ends, we just go and completely rebuild the window list to ensure it is correct, because there can be ways people can add windows while in this intermediate state where they could end up at the wrong place once we do the delayed movement to the front or back. And it is simply reasuring to know that every time we finish a full app transition, we re-evaluate the world and put everything in its proper place. Also included in this change are a few little tweaks to the input system, to perform better logging, and completely ignore input devices that do not have any of our input classes. There is also a little cleanup of evaluating configuration changes to not do more work than needed when an input devices appears or disappears, and to only log a config change message when the config is truly changing. Change-Id: Ifb2db77f8867435121722a6abeb946ec7c3ea9d3
ventHub.cpp
|
07549f984d0088a5580caefeb5d40d0a39abcd0a |
28-Aug-2009 |
Mike Lockwood <lockwood@android.com> |
EventHub: Fix file descriptor leak. Signed-off-by: Mike Lockwood <lockwood@android.com>
ventHub.cpp
|
04bc12bd4316e2928134037cd0f81c6d8b2adcc8 |
22-Aug-2009 |
Mathias Agopian <mathias@google.com> |
fix [2070341] [FAST BLOCKER] can't successfully setup erc52
urface.cpp
|
1c97d2ebe1f035beabd90089bfc78326b73d7864 |
20-Aug-2009 |
Mathias Agopian <mathias@google.com> |
fix a bug that caused the PixelFormat viewed by Surface to be wrong. what happened is that the efective pixel format is calculated by SF but Surface nevew had access to it directly. in particular this caused query(FORMAT) to return the requested format instead of the effective format.
SurfaceFlingerClient.cpp
urface.cpp
|
50517543d84446fc91fa65c60eda6d2e2724de10 |
20-Aug-2009 |
Mathias Agopian <mathias@google.com> |
fix [2063336] Surface.lockSurface throws IllegalArgumentException when out of memory
urface.cpp
|
ba5972ffdc7179dd9a387f22032eb18666d97917 |
15-Aug-2009 |
Mathias Agopian <mathias@google.com> |
make sure to update a surface's usage bits when it changes, instead of only the first time. also fixed a few locking issues in Surface and commented how each member is protected.
urface.cpp
|
5221271375f361b84a6eeec3d7086f223997fbb3 |
12-Aug-2009 |
Mathias Agopian <mathias@google.com> |
second take, hopefully this time it doesn't break one of the builds: "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything."
ramebufferNativeWindow.cpp
Surface.cpp
urface.cpp
|
b2fd4665e66fe81969f1f07fd724c6f68dd8f7f1 |
12-Aug-2009 |
Fred Quintana <fredq@google.com> |
Revert "SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything." This reverts commit 8b76a0ac6fbf07254629ed1ea86af014d5abe050.
ramebufferNativeWindow.cpp
Surface.cpp
urface.cpp
|
df37b62c62f8efd3b5a433f9b4d40d30cec13a31 |
11-Aug-2009 |
Mathias Agopian <mathias@google.com> |
SurfaceFlinger will now allocate buffers based on the usage specified by the clients. This allows to allocate the right kind of buffer automatically, without having the user to specify anything. This change makes SurfaceHolder.setType(GPU) obsolete (it's now ignored). Added an API to android_native_window_t to allow extending the functionality without ever breaking binary compatibility. This is used to implement the new set_usage() API. This API needs to be called by software renderers because the default is to use usage flags suitable for h/w.
ramebufferNativeWindow.cpp
Surface.cpp
urface.cpp
|
8c12c7aec3fdbccfa8161c2c12131d590a9b5ce8 |
08-Aug-2009 |
Mathias Agopian <mathias@google.com> |
added EGLUtils::strerror
GLUtils.cpp
|
42db9dcea2e6b9f60f07a3e9e2d6fbc196082284 |
07-Aug-2009 |
Mathias Agopian <mathias@google.com> |
better error handling
GLUtils.cpp
ramebufferNativeWindow.cpp
|
f9694507ec07e3909f41dba051b1bdbdb66002d8 |
07-Aug-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
Merge change 20365 * changes: oops, EGLConfig of value zero may be valid
|
b97603dcf01792b3d5610ef9a8f0a4c9e1af8b02 |
07-Aug-2009 |
Mathias Agopian <mathias@google.com> |
oops, EGLConfig of value zero may be valid
GLUtils.cpp
|
b2001065b957bf0db2577c0877c4751097d627af |
07-Aug-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
Merge changes 20345,20346,20347 * changes: update most gl tests to use EGLUtils added two EGL helpers for selecting a config matching a certain pixelformat or native window type added NATIVE_WINDOW_FORMAT attribute to android_native_window_t
|
6cf50a770dabd13cf5b72bb0a6fb9dd002c88db6 |
07-Aug-2009 |
Mathias Agopian <mathias@google.com> |
added two EGL helpers for selecting a config matching a certain pixelformat or native window type
ndroid.mk
GLUtils.cpp
|
6b1f41004fa48e96bab61f508867314261de660b |
07-Aug-2009 |
Mathias Agopian <mathias@google.com> |
added NATIVE_WINDOW_FORMAT attribute to android_native_window_t
ramebufferNativeWindow.cpp
urface.cpp
|
34193b31681dcbadf0a629879ca004f561b1b149 |
06-Aug-2009 |
Iliyan Malchev <malchev@google.com> |
EventHub: pass the name of each input device up to Java Signed-off-by: Iliyan Malchev <malchev@google.com>
ventHub.cpp
|
46078d997861dd18798d6cc91b3ca32820faf7c6 |
05-Aug-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
Merge change 20133 * changes: don't crash when SurfaceBuffer::writeToParcel is given a null argument
|
3eded949243c8d331190d3803b5c5c2bf2a058fc |
05-Aug-2009 |
Mathias Agopian <mathias@google.com> |
don't crash when SurfaceBuffer::writeToParcel is given a null argument
urface.cpp
|
c591736c66cbd4320fc96573fda28bec2b4d4100 |
04-Aug-2009 |
Dianne Hackborn <hackbod@google.com> |
Finish implementation of multiple pointer support for MotionEvent. The major things going on here: - The MotionEvent API is now extended to included "pointer ID" information, for applications to keep track of individual fingers as they move up and down. PointerLocation has been updated to take advantage of this. - The input system now has logic to generate MotionEvents with the new ID information, synthesizing an identifier as new points are down and trying to keep pointer ids consistent across events by looking at the distance between the last and next set of pointers. - We now support the new multitouch driver protocol, and will use that instead of the old one if it is available. We do NOT use any finger id information coming from the driver, but always synthesize pointer ids in user space. (This is simply because we don't yet have a driver reporting this information from which to base an implementation on.) - Increase maximum number of fingers to 10. This code has only been used with a driver that reports up to 2, so no idea how more will actually work. - Oh and the input system can now detect and report physical DPAD devices.
ventHub.cpp
|
cf81c84e43eb33931b950fa2c9b4c6f51afe7197 |
31-Jul-2009 |
Mathias Agopian <mathias@google.com> |
be more robust when errors occur upon EGL surface creation (ie: don't crash)
urface.cpp
|
fa170f513338322102a200de7d1fd696e51d55c8 |
31-Jul-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
Merge change 9287 * changes: fixed some issues with the software renderer when surfaces are made current.
|
cb6b9041647b4f080324742eee5ce709960ff610 |
31-Jul-2009 |
Mathias Agopian <mathias@google.com> |
fixed some issues with the software renderer when surfaces are made current. there was several issues: - when a surface was made non-current, the last frame wasn't shown and the buffer could stay locked - when a surface was made current the 2nd time, it would not dequeue a new buffer now, queue/dequeue are done when the surface is made current. for this to work, a new query() hook had to be added on android_native_window_t, it allows to retrieve some attributes of a window (currently only width and height).
ramebufferNativeWindow.cpp
urface.cpp
|
abcfe35781a10ab18470251f8e18661cd8ca2215 |
30-Jul-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
Merge change 9070 * changes: Adding resizeInput and setAttributes for overlay
|
69bdcb9b7b5089984bf474f30029fa024f519e47 |
30-Jul-2009 |
Mathias Agopian <mathias@google.com> |
Fix a debug statement in BufferMapper
ufferMapper.cpp
|
e56271109fe59e1c1f4958bdcdeb9a3a7f53eb28 |
25-Jul-2009 |
Benny Wong <Benny.Wong@motorola.com> |
Adding resizeInput and setAttributes for overlay
verlay.cpp
|
811fdfd9b7863ee4e6300500b9159d11878e1664 |
20-Jul-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
Merge change 5892 * changes: Hardware overlay support
|
24a7e04a62cbba05eb02a8d7b993273e8e6befaf |
17-Jul-2009 |
Mike Lockwood <lockwood@android.com> |
EventHub: Compare name instead of id when excluding event input devices. Signed-off-by: Mike Lockwood <lockwood@android.com>
ventHub.cpp
|
71f771570e1b5341048a6fbf82a7c57d885bd850 |
16-Jul-2009 |
Benny Wong <Benny.Wong@motorola.com> |
Hardware overlay support Enable hardware overlay support for camera and video playback use cases
verlay.cpp
|
b441106276a9c5fcd47642aff8cda2a2039481c0 |
16-Jul-2009 |
Mike Lockwood <lockwood@android.com> |
EventHub: Add support for excluding devices from being opened by as a keyboard. This will be used to avoid unnecessarily listening to data from sensors that function as event devices. Signed-off-by: Mike Lockwood <lockwood@android.com>
ventHub.cpp
|
c968c3a9c782eaf44a5772cd388e5c690e5be4f3 |
14-Jul-2009 |
Dianne Hackborn <hackbod@google.com> |
Implement virtual button support. The kernel can now publish a property describing the layout of virtual hardware buttons on the touchscreen. These outside of the display area (outside of the absolute x and y controller range the driver reports), and when the user presses on them a key event will be generated rather than a touch event. This also includes a number of tweaks to the absolute controller processing to make things work better on the new screens. For example, we now reject down events outside of the display area. Still left to be done is the ability to cancel a key down event, so the user can slide up from the virtual keys to the touch screen without causing a virtual key to execute.
ventHub.cpp
|
14998596937791c8efdfd61411236a7c7f66c064 |
14-Jul-2009 |
Mathias Agopian <mathias@google.com> |
fix [1964315] crash in the surface.cpp while browsing
urface.cpp
|
9f1234e4600d343710635973f3296da7b39cd9a2 |
09-Jul-2009 |
Dave Sparks <davidsparks@android.com> |
resolved conflicts for merge of 04c7d0f8 to master
|
f72d640b7c7de40b4c5d83b69748535e4254c941 |
09-Jul-2009 |
Dave Sparks <davidsparks@android.com> |
Add timestamps to video frames to improve A/V sync. Bug 1927069.
amera.cpp
CameraClient.cpp
|
72b0ffe4c3776b33844bb00b9be5693bddd391f9 |
07-Jul-2009 |
Mathias Agopian <mathias@google.com> |
should fix sim build
egion.cpp
|
0f7f88db2771ec6b08df1354f1d85290f93227d5 |
06-Jul-2009 |
Mathias Agopian <mathias@google.com> |
Merge commit 'goog/master' into merge_master
|
4361996a8c4a398d818da4ea453595a0a3404358 |
06-Jul-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
am c7396025: Merge change 6084 into donut Merge commit 'c7396025e59524e7ef639fd86fc23123939ee91c' * commit 'c7396025e59524e7ef639fd86fc23123939ee91c': Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)
|
7303c6bf1a8b00a0e7d8165d774a1f259b4ccda9 |
03-Jul-2009 |
Mathias Agopian <mathias@google.com> |
get rid of references to MemoryDealer in SurfaceFlinger
SurfaceComposer.cpp
SurfaceFlingerClient.cpp
urfaceComposerClient.cpp
|
16f3d35459a03bf7fad41df0a0d192d2c50a0594 |
02-Jul-2009 |
James Dong <jdong@google.com> |
Return CAMERA_ERROR_SERVER_DIED to camera app when camera service dies (bug 1956726)
amera.cpp
|
84d1f7a09827fe195dd08b647b8c5092d03516f7 |
02-Jul-2009 |
Mathias Agopian <mathias@google.com> |
Merge commit 'goog/master' into merge_master
|
cd998742c3b439eff94683e236c09c70c9729ecf |
01-Jul-2009 |
Wu-cheng Li <wuchengli@google.com> |
am b8a10fe4: Allow setPreviewDisplay after startPreview. Merge commit 'b8a10fe45657f2dcc50cae8a06805f8438a6937e' * commit 'b8a10fe45657f2dcc50cae8a06805f8438a6937e': Allow setPreviewDisplay after startPreview.
|
988fb62884c108e487a39ef03f0873f74525a9c8 |
23-Jun-2009 |
Wu-cheng Li <wuchengli@google.com> |
Allow setPreviewDisplay after startPreview.
amera.cpp
|
9f96145725ff3f265712d607d19078fb91a5c8ec |
30-Jun-2009 |
Mathias Agopian <mathias@google.com> |
Region::makeBoundsSelf() efficiently turns a region to its bounds
egion.cpp
|
694fcc5d1d3505c034a2cb89b6150214e7cea0fd |
26-Jun-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
am c44989d6: Merge change 5350 into donut Merge commit 'c44989d6c7bcc761fb37f54fd37aac2070ba8e5e' * commit 'c44989d6c7bcc761fb37f54fd37aac2070ba8e5e': move ui/Time.cpp to core/jni, since this is the only place it is used
|
a8664df810ad46ce33c0ea28d4e648c067112db8 |
25-Jun-2009 |
Mathias Agopian <mathias@google.com> |
move ui/Time.cpp to core/jni, since this is the only place it is used
ndroid.mk
ime.cpp
|
2ab55a4e31c37d74abdd85486e1f4045c7f708e2 |
25-Jun-2009 |
Mathias Agopian <mathias@google.com> |
make use of new eglGetRenderBufferANDROID extension to clean-up a bit a few hacks added recently
ramebufferNativeWindow.cpp
|
69029eb5abfaeb52716b84db89e32dc742551508 |
24-Jun-2009 |
Mathias Agopian <mathias@google.com> |
hack copybit back in for video playback on msm7k. we have h/w accelerated video again
ramebufferNativeWindow.cpp
|
4c4b387afb2e775fcac3b81a249bb7646515dffa |
25-Jun-2009 |
Mathias Agopian <mathias@google.com> |
merge master in master_gl
|
de5b60b06254748e4593d6095277da45e44acf80 |
24-Jun-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
am eaa89f74: Merge change 5172 into donut Merge commit 'eaa89f74c04c0f10d5f3f8190b457087537bff2e' * commit 'eaa89f74c04c0f10d5f3f8190b457087537bff2e': Remove deprecated callback function support.
|
e193f7cd9eded002b5a74b8823be704c020be536 |
24-Jun-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
am 3d7b8d1a: Merge change 5158 into donut Merge commit '3d7b8d1aa6a362292f56defbe8fb2d5653f79282' * commit '3d7b8d1aa6a362292f56defbe8fb2d5653f79282': Use a ref-counted callback interface for Camera.
|
dc76f7bfa10a037ea0cc0f253022d8de7eefc691 |
24-Jun-2009 |
Dave Sparks <davidsparks@android.com> |
Remove deprecated callback function support. This is the last of a 3-part change to modify the camera to use a more streamlined callback interface. This change removes the old code. Bug 1884362
amera.cpp
|
bbbc7cb77efba3dd46e9d13fc22e81cff17c35d2 |
24-Jun-2009 |
Dave Sparks <davidsparks@android.com> |
Use a ref-counted callback interface for Camera. This allows the camera service to hang onto the callback interface until all callbacks have been processed. This prevents problems where pending callbacks in binder worker threads are processed after the Java camera object and its associated native resources have been released. Bug 1884362
amera.cpp
|
6457359fa5df7869d5881acee80b34dfc760a5bf |
01-Jun-2009 |
Mathias Agopian <mathias@google.com> |
Merge commit 'goog/master' into merge_master
|
e0c322049ab2be291c1fc40f79702543d4e77934 |
01-Jun-2009 |
Mathias Agopian <mathias@google.com> |
get rid of utils.h
ventHub.cpp
|
1c4ec71612bae05467fedbbebce37f5330a2b18c |
28-May-2009 |
Mathias Agopian <mathias@google.com> |
fix typo defining a singleton attrbutes for an object that is not a singleton -- no side effects, but useless
urface.cpp
|
bed9dd128dfbdc7d9dbca005078536dadc0b9359 |
28-May-2009 |
Mathias Agopian <mathias@google.com> |
make sure the Region code disallows constructs like "(a+b)=c;", which is somewhat meaningless.
egion.cpp
|
723ec00af46d1f95d69fe5af53e0a5d09f01a7d6 |
27-May-2009 |
Mathias Agopian <mathias@google.com> |
Merge commit 'goog/master' into merge_master Conflicts: include/ui/Rect.h libs/ui/ISurfaceComposer.cpp
|
2787dddcd0a814aa4a90b9e8cc72c9c258c94854 |
27-May-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
am 0c0ad39c: Merge change 2502 into donut Merge commit '0c0ad39cd8eaa6de6b7f99cec3971bcc953461e0' * commit '0c0ad39cd8eaa6de6b7f99cec3971bcc953461e0': minor clean-up to Rect and Point.
|
35801cea5f301c0e1d7a93b15a8f73f98e6b1033 |
27-May-2009 |
Mathias Agopian <mathias@google.com> |
minor clean-up to Rect and Point. - return "const" objects for overloaded operators to disallow constructs like: (a+b) = c; - don't return references to non-static members, it's not always safe. - Point.cpp was empty, so get rid of it
ndroid.mk
oint.cpp
ect.cpp
|
83c0446f27b9542d6c2e724817b2b2d8d1f55085 |
23-May-2009 |
Mathias Agopian <mathias@google.com> |
some work to try to reduce the code size of some native libraries - make sure that all binder Bn classes define a ctor and dtor in their respective library. This avoids duplication of the ctor/dtor in libraries where these objects are instantiated. This is also cleaner, should we want these ctor/dtor to do something one day. - same change as above for some Bp classes and various other non-binder classes - moved the definition of CHECK_INTERFACE() in IInterface.h instead of having it everywhere. - improved the CHECK_INTERFACE() macro so it calls a single method in Parcel, instead of inlining its code everywhere - IBinder::getInterfaceDescriptor() now returns a "const String16&" instead of String16, which saves calls to String16 and ~String16 - implemented a cache for BpBinder::getInterfaceDescriptor(), since this does an IPC. HOWEVER, this method never seems to be called. The cache makes BpBinder bigger, so we need to figure out if we need this method at all.
Camera.cpp
CameraClient.cpp
CameraService.cpp
Overlay.cpp
Surface.cpp
SurfaceComposer.cpp
SurfaceFlingerClient.cpp
|
310f8da0c3122ed5419db8f12a6e98d3188325b2 |
22-May-2009 |
Mathias Agopian <mathias@google.com> |
merge master to master_gl
|
bdbf6b094d61f694f162a5a5279caededcb1f0a5 |
22-May-2009 |
Android (Google) Code Review <android-gerrit@google.com> |
am 69a6c3eb: Merge change 2292 into donut Merge commit '69a6c3ebd46a8de0e896747757f364322c12608d' * commit '69a6c3ebd46a8de0e896747757f364322c12608d': split boot animation out of SurfaceFlinger
|
a1ecca920e15ce04fe56ebf4f1b52ba711f9eb2d |
22-May-2009 |
Mathias Agopian <mathias@google.com> |
split boot animation out of SurfaceFlinger Conflicts: data/etc/platform.xml
SurfaceFlingerClient.cpp
|
a47f02afb1e1f2c4abd9379c13903a5dde89d354 |
22-May-2009 |
Mathias Agopian <mathias@google.com> |
change 2115 wasn't merged properly into master. this fixes that. Merge change 2115 into donut * changes: bring the native_handle stuff back from master_gl Conflicts: libs/binder/Parcel.cpp
verlay.cpp
|
53f6f3c7998fca1a7e1eb277d0ee0fc556be3f35 |
20-May-2009 |
Mathias Agopian <mathias@google.com> |
bring the native_handle stuff back from master_gl
verlay.cpp
|
c5b2c0bf8007562536b822eb060fc54a01f8e08b |
20-May-2009 |
Mathias Agopian <mathias@google.com> |
move libbinder's header files under includes/binder
amera.cpp
ventHub.cpp
Camera.cpp
CameraService.cpp
Overlay.cpp
Surface.cpp
SurfaceComposer.cpp
SurfaceFlingerClient.cpp
ayerState.cpp
verlay.cpp
urface.cpp
urfaceComposerClient.cpp
urfaceFlingerSynchro.cpp
|
208059f67ed2dd9fa025e07fcb6954d3cb61c79e |
19-May-2009 |
Mathias Agopian <mathias@google.com> |
checkpoint: split libutils into libutils + libbinder
ndroid.mk
|
20f68782a4ea71c6a977d7f87d8288d3daa265ec |
11-May-2009 |
Mathias Agopian <mathias@google.com> |
Region now has its own implementation instead of relying on SkRegion, which allows us to break libui's dependency on libcorecg.
ndroid.mk
egion.cpp
urface.cpp
ests/Android.mk
ests/region.cpp
|
d717598616910b5454b56429dec3bfad2757bd52 |
15-May-2009 |
Mathias Agopian <mathias@google.com> |
Merge commit 'goog/master' into merge_master Conflicts: opengl/libagl/Android.mk opengl/libs/Android.mk opengl/libs/egl_impl.h
|
93b94584edb1c59037319d9bbf84881ccff9f66a |
08-May-2009 |
Dave Sparks <davidsparks@android.com> |
Modify camera framework to use new streamlined binder interface. This is the second half of bug 1837832. Modifies the camera client and camera service to use the new binder interface. Removes the old binder interface. There will be one more part to this change to surface the undefined callbacks to the Java layer so that partners can implement new features without having to touch the stack.
amera.cpp
CameraClient.cpp
|
5958661507b39cd59e68e9bc2b54399af92847c4 |
08-May-2009 |
Mathias Agopian <mathias@google.com> |
Merge commit 'goog/master' into merge_master
|
1e16b13857809eaa9bd17fb60ac0a471dc92844b |
08-May-2009 |
Mathias Agopian <mathias@google.com> |
add support for update-on-demand in SurfaceFlinger
ramebufferNativeWindow.cpp
|
9b35233ea511eab24aa15de5dc2e94b6f8ed081d |
07-May-2009 |
Dave Sparks <davidsparks@android.com> |
Add new binder methods to camera client to support generic callbacks This is the first step in a multi-step change to move from the old specific callbacks to a generic callback. This will allow future flexibility in the interface without requiring binder rewrites. Bug 1837832
amera.cpp
CameraClient.cpp
|
aa8c0ff7a36b4840dcf3e72c9696b86d192c4314 |
06-May-2009 |
Mathias Agopian <mathias@google.com> |
get rid off unneeded flags
ramebufferNativeWindow.cpp
|
58a79f47457e9cae2f6880653b581fe3170b0b1f |
06-May-2009 |
Mathias Agopian <mathias@google.com> |
move android_native_buffer_t declaration into its own private/ui/android_native_priv.h header, since user code should never have access to it.
ramebufferNativeWindow.cpp
|
7189c0054e29a66d945f5657c48d5ecf538ea511 |
06-May-2009 |
Mathias Agopian <mathias@google.com> |
move opengl/include/EGL/android_natives.h to include/ui/egl/android_natives.h and don't include it from egl.h the android_native_ types are just forward declared in egl.h
ufferMapper.cpp
ramebufferNativeWindow.cpp
Surface.cpp
urface.cpp
|
21c59d0070fe24a8e04e52ce04d511a924a9932f |
05-May-2009 |
Mathias Agopian <mathias@google.com> |
get rid of android_native_buffer_t::getHandle() and replace it with an handle field this abstraction was not necessary. things are easier now.
urface.cpp
|
e71212ba5397387100a578d23b15862518a7a859 |
05-May-2009 |
Mathias Agopian <mathias@google.com> |
removed the "bits" attribute from android_native_buffer_t. "bits" can never be trusted now that we need to call lock() on the handle to get the virtual address of the buffer.
urface.cpp
|
b2dd686d06a608ee40285b93bc0217cf26c2b035 |
05-May-2009 |
Mathias Agopian <mathias@google.com> |
minor clean-up in FramebufferNativeWindow
ramebufferNativeWindow.cpp
|
0926f50664c739eaee60341f8e8c694dc9a4f3eb |
04-May-2009 |
Mathias Agopian <mathias@google.com> |
update surfaceflinger, libui and libagl to the new gralloc api - Currently the lock/unlock path is naive and is done for each drawing operation (glDrawElements and glDrawArrays). this should be improved eventually. - factor all the lock/unlock code in SurfaceBuffer. - fixed "showupdate" so it works even when we don't have preserving eglSwapBuffers(). - improved the situation with the dirty-region and fixed a problem that caused GL apps to not update. - make use of LightRefBase() where needed, instead of duplicating its implementation - add LightRefBase::getStrongCount() - renamed EGLNativeWindowSurface.cpp to FramebufferNativeWindow.cpp - disabled copybits test, since it clashes with the new gralloc api - Camera/Video will be fixed later when we rework the overlay apis
ndroid.mk
ufferMapper.cpp
GLNativeWindowSurface.cpp
ramebufferNativeWindow.cpp
egion.cpp
urface.cpp
|
7be3e5d2d8101a8f5e12bbdf650431a734f88eba |
30-Apr-2009 |
Mathias Agopian <mathias@google.com> |
Merge commit 'goog/master' into merge_master Conflicts: libs/surfaceflinger/Layer.cpp libs/surfaceflinger/SurfaceFlinger.cpp opengl/libagl/egl.cpp opengl/libs/EGL/egl.cpp opengl/libs/GLES_CM/gl.cpp opengl/libs/GLES_CM/gl_api.in opengl/libs/gl_entries.in opengl/libs/tools/glapigen
|
d2dc9ac87bbdbbe465a0a07b63843282fb28eee7 |
27-Apr-2009 |
James Dong <jdong@google.com> |
Bug fix(1807910): media recorder crash due to the use of locked camera object (last part) - remove an unused Camera constructor - add a check on the argument in Camera::create() method
amera.cpp
|
f1d8e87b09abf963cd5b6a026194c1940fadb7b4 |
21-Apr-2009 |
Mathias Agopian <mathias@google.com> |
a brand new MessageQueue for SurfaceFlinger.
urfaceFlingerSynchro.cpp
|
9f88afb013a7560bf1362d7999a4609e38d0ea77 |
17-Apr-2009 |
Mathias Agopian <mathias@google.com> |
Squashed commit of the following: commit e5c24638f98162c3b75b4c67a16b510d38e31341 Author: Mathias Agopian <mathias@google.com> Date: Fri Apr 17 14:09:03 2009 -0700 oops forgot this file. commit 282642632d0cb12882eecf42e0fdfb2343275de1 Author: Mathias Agopian <mathias@google.com> Date: Fri Apr 17 14:07:32 2009 -0700 use a helper macro for creating Singleton<>'s static attributes instances.
ufferMapper.cpp
urface.cpp
|
f1a5314076248a352915ae1a987725ae76cc8a22 |
23-Apr-2009 |
James Dong <jdong@google.com> |
Fix a media server crash (bug 1807910): part one Add a factory method that creates a Camera object from a remote client Next: The changes in authordriver.cpp and android_camera_input.cpp will come. and the constructor for Camera object will be removed.
amera.cpp
|
18d8446fe1596cd50561777e1d1a8c7b39c689f6 |
17-Apr-2009 |
Mathias Agopian <mathias@google.com> |
cleanup, remove unused fields. Also make sure that we don't systematically allocate a Surface in Surface.java if only a SurfaceControl is needed (Common case).
urface.cpp
|
01b766839e06c32540cef100e3a7710d12cf1eef |
17-Apr-2009 |
Mathias Agopian <mathias@google.com> |
more splitting of Surface/SurfaceControl. Surface.java is now implemented in terms of Surface and SurfaceControl. The WindowManager side of Surface.java holds a SurfaceControl, while the client-side holds a Surface. When the client is in the system process, Surface.java holds both (which is a problem we'll try to fix later).
urface.cpp
urfaceComposerClient.cpp
|
62185b7335e85211dc4d0e2003354eb3ea2e66ef |
17-Apr-2009 |
Mathias Agopian <mathias@google.com> |
split Surface.cpp into Surface and SurfaceControl SurfaceControl is used for controling the geometry of the surface (for the WM), while Surface is used to access the buffers (for SF's clients). SurfaceFlingerClient now uses the SurfaceID instead of Surface*. Currently Surface still has the SurfaceControl API and is implemented by calling into SurfaceControl.
urface.cpp
urfaceComposerClient.cpp
|
40b7f6e0433b89c27b2fe5a1c0c47f67b42eceb2 |
15-Apr-2009 |
Mathias Agopian <mathias@google.com> |
fix some issues with Surface's lifetime management. To deal with Java's lack of destructors and delayed garbage collection, we used to duplicate Surface.cpp objects in some case; this caused some issues because Surface is supposed to be reference-counted and unique.
urface.cpp
|
4243e666213029a293935987c979831093fb0779 |
16-Apr-2009 |
Mathias Agopian <mathias@google.com> |
fix a rookie mistake causing Singleton<> to be a "multiton". Also improve the BufferMapper's debugging, but turn it off. Squashed commit of the following: commit 04e9cae7f806bd65f2cfe35c011b47a36773bbe5 Author: Mathias Agopian <mathias@google.com> Date: Wed Apr 15 18:30:30 2009 -0700 fix and improve BufferMapper's tracking of mapped buffers. commit 1a8deaed15811092b2349cc3c40cafb5f722046c Author: Mathias Agopian <mathias@google.com> Date: Wed Apr 15 00:52:02 2009 -0700 fix some bugs with the Singleton<> class. untested. commit ed01cc06ad70cf640ce1258f01189cb1a96fd3a8 Author: Mathias Agopian <mathias@google.com> Date: Tue Apr 14 19:29:25 2009 -0700 some work to debug the Singleton<> template.
ufferMapper.cpp
urface.cpp
|
8b765b7f5ea7f56963ea0e3141d043d20944dbcc |
11-Apr-2009 |
Mathias Agopian <mathias@google.com> |
more debugging tools around BufferMapper
ufferMapper.cpp
|
076b1cc3a9b90aa5b381a1ed268ca0b548444c9b |
10-Apr-2009 |
Mathias Agopian <mathias@google.com> |
Integrate from //sandbox/mathias/donut/...@145728 SurfaceFlinger rework for new EGL driver model support.
ndroid.mk
ufferMapper.cpp
GLDisplaySurface.cpp
GLNativeWindowSurface.cpp
Surface.cpp
SurfaceComposer.cpp
SurfaceFlingerClient.cpp
verlay.cpp
urface.cpp
urfaceComposerClient.cpp
|
c08731e756868653d09d3e49b723706df3687070 |
28-Mar-2009 |
Mathias Agopian <> |
AI 143320: am: CL 143171 am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor Original author: mathias Merged from: //branches/cupcake/... Original author: android-build Merged from: //branches/donutburger/... Automated import of CL 143320
SurfaceComposer.cpp
urfaceComposerClient.cpp
|
24fd77d44088011c88c55a5de459e75792bb2ecb |
28-Mar-2009 |
Mathias Agopian <> |
AI 143171: am: CL 142873 fix [1732012] Only show screen rotation animation when triggered by sensor Original author: mathias Merged from: //branches/cupcake/... Automated import of CL 143171
SurfaceComposer.cpp
urfaceComposerClient.cpp
|
c1992a6f7551e22f14bb3fb92f1bd0b074cdac32 |
26-Mar-2009 |
Dianne Hackborn <> |
Automated import from //branches/donutburger/...@142727,142727
ventHub.cpp
|
c3aa00b29fd9ab9b06a2bd675dac404970acb477 |
26-Mar-2009 |
Dianne Hackborn <> |
Automated import from //branches/master/...@142771,142771
ventHub.cpp
|
edbf3b6af777b721cd2a1ef461947e51e88241e1 |
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
ndroid.mk
amera.cpp
ameraParameters.cpp
GLDisplaySurface.cpp
GLNativeWindowSurface.cpp
ventHub.cpp
ventRecurrence.cpp
Camera.cpp
CameraClient.cpp
CameraService.cpp
Overlay.cpp
Surface.cpp
SurfaceComposer.cpp
SurfaceFlingerClient.cpp
eyCharacterMap.cpp
eyLayoutMap.cpp
eyLayoutMap.h
ayerState.cpp
ODULE_LICENSE_APACHE2
OTICE
verlay.cpp
ixelFormat.cpp
oint.cpp
ect.cpp
egion.cpp
urface.cpp
urfaceComposerClient.cpp
urfaceFlingerSynchro.cpp
ime.cpp
|
d5193d9394c5e58176d7bcdf50ef017f8a3b9e1e |
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
ndroid.mk
amera.cpp
ameraParameters.cpp
GLDisplaySurface.cpp
GLNativeWindowSurface.cpp
ventHub.cpp
ventRecurrence.cpp
Camera.cpp
CameraClient.cpp
CameraService.cpp
Overlay.cpp
Surface.cpp
SurfaceComposer.cpp
SurfaceFlingerClient.cpp
eyCharacterMap.cpp
eyLayoutMap.cpp
eyLayoutMap.h
ayerState.cpp
ODULE_LICENSE_APACHE2
OTICE
verlay.cpp
ixelFormat.cpp
oint.cpp
ect.cpp
egion.cpp
urface.cpp
urfaceComposerClient.cpp
urfaceFlingerSynchro.cpp
ime.cpp
|
43aa2b1cbf7a03e248e10f4d0fec0463257cd52d |
03-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@132589
amera.cpp
|
0bb03408de8886e8d17013219967d42fb9c8cf8c |
03-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@137055
amera.cpp
|
ac65e0b172b33f7e068c14e3d95678fa20205577 |
13-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@131421
Surface.cpp
|
a6938bab1f6fa76ae98ebbe44f4e534e05fa0993 |
11-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@130745
amera.cpp
ameraParameters.cpp
GLDisplaySurface.cpp
GLNativeWindowSurface.cpp
ventHub.cpp
Camera.cpp
CameraClient.cpp
Surface.cpp
verlay.cpp
ixelFormat.cpp
|
5f78a48bb8f7714ee231fca67d60fad77bc1cad9 |
20-Jan-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@127101
amera.cpp
verlay.cpp
|
8a7a67538a9977c892389bfcde76a8372aa0b56c |
16-Jan-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@126645
ndroid.mk
ventHub.cpp
Surface.cpp
verlay.cpp
|
276293246ea9cbc0a578a7697cc48930376ec0e9 |
10-Jan-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@125939
amera.cpp
Camera.cpp
Overlay.cpp
Surface.cpp
verlay.cpp
egion.cpp
|
e09fd9e819c23dc90bca68375645e15544861330 |
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
ndroid.mk
litHardware.cpp
amera.cpp
GLDisplaySurface.cpp
GLNativeWindowSurface.cpp
ventHub.cpp
Camera.cpp
CameraClient.cpp
Overlay.cpp
Surface.cpp
SurfaceFlingerClient.cpp
verlay.cpp
urface.cpp
ime.cpp
|
7c1b96a165f970a09ed239bb4fb3f1b0d8f2a407 |
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
ndroid.mk
litHardware.cpp
amera.cpp
ameraParameters.cpp
GLDisplaySurface.cpp
GLNativeWindowSurface.cpp
ventHub.cpp
ventRecurrence.cpp
Camera.cpp
CameraClient.cpp
CameraService.cpp
Surface.cpp
SurfaceComposer.cpp
SurfaceFlingerClient.cpp
eyCharacterMap.cpp
eyLayoutMap.cpp
eyLayoutMap.h
ayerState.cpp
ODULE_LICENSE_APACHE2
OTICE
ixelFormat.cpp
oint.cpp
ect.cpp
egion.cpp
urface.cpp
urfaceComposerClient.cpp
urfaceFlingerSynchro.cpp
ime.cpp
|