summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* DO NOT MERGE. may fix build on some version of gccMathias Agopian2011-06-141-0/+1
| | | | Change-Id: Iff6d9ab3a7caf58f65fc3f60633a3bd577b7af25
* fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)Mathias Agopian2011-06-131-7/+13
| | | | | Bug: 4595257 Change-Id: I1db83149107d7dab1f0b7e73c684e0ff82e17e62
* Enforce public resource restriction on bag parents.Dianne Hackborn2011-06-091-1/+2
| | | | | | | | Need to put some more styles in the SDK to avoid breaking apps. Also, welcome Android 3.2. Change-Id: Ia31d07c9b1b91ad868d8630437fdc1b5ae24f37d
* Merge "Revert velocity damping. Bug: 4364920" into honeycomb-mr2Jeff Brown2011-06-061-5/+0
|\
| * Revert velocity damping.Jeff Brown2011-06-061-5/+0
| | | | | | | | | | | | | | | | | | | | 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
* | merge various SF fixes from gingerbread to honeycomb-mr2 (DO NOT MERGE)Mathias Agopian2011-06-061-1/+8
|/ | | | | | | | | | | | Fix a race that could cause GL commands to be executed from the wrong thread. RefBase subclasses can now decide how they want to be destroyed. Fix a race in SurfaceFlinger that could cause layers to be leaked forever. Fix a race-condtion in SurfaceFlinger that could lead to a crash. initial cherry-pick: resolved conflicts for merge of b9783b49 to honeycomb-plus-aosp Change-Id: I2a335e03fff219e35c18a7b0089b3a11d636576f
* Implement pointer acceleration.Jeff Brown2011-06-021-0/+81
| | | | | Bug: 4124987 Change-Id: I1f31a28f1594c55302ccabe13fe3ca6d2ff71d50
* Add "tv" density for 720p screens.Dianne Hackborn2011-05-271-0/+1
| | | | Change-Id: I028969b007f2fceea66947d77a2ae31ef1d1a630
* Small fixes and cleanup of resource config handling.Dianne Hackborn2011-05-271-42/+21
| | | | Change-Id: I402c31b68f2b4825cb4c610a65ee8e1da471c7bb
* Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)Jeff Brown2011-05-251-0/+5
| | | | | | | | | | | | | | | | | | | | 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
* Refactor how timeouts are calculated. (DO NOT MERGE)Jeff Brown2011-05-231-0/+10
| | | | | | | | Added a timeout mechanism to EventHub and InputReader so that InputMappers can request timeouts to perform delayed processing of input when needed. Change-Id: I89c1171c9326c6e413042e3ee13aa9f7f1fc0454
* Improve VelocityTracker numerical stability. (DO NOT MERGE)Jeff Brown2011-05-232-3/+30
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)Jeff Brown2011-05-232-0/+61
| | | | | | | | | | | | | | | | | | | | 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
* Add "television" mode.Dianne Hackborn2011-05-231-0/+1
| | | | Change-Id: Ida1fdb61b036a8b489dbeda196fb4bc82e651b2b
* Add new "-swNNNdp" resource qualifier.Dianne Hackborn2011-05-191-46/+80
| | | | Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
* Merge "DO NOT MERGE For bug 4422428 Squashed commit of the following:" into ↵Gloria Wang2011-05-182-9/+24
|\ | | | | | | honeycomb-mr2
| * DO NOT MERGEGloria Wang2011-05-132-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For bug 4422428 Squashed commit of the following: commit ae2e13783db2284f40d3891e70e152dab941edfc Author: Gloria Wang <gwang@google.com> Date: Fri May 13 11:43:11 2011 -0700 Add one more DRM error code. For bug 4422428. Change-Id: I4e333f474c96c0e0f162dde4013ad32b336bebd6 commit 0f88249d0cb5221f622cf1d1ac3cdccefb8f58a2 Author: Gloria Wang <gwang@google.com> Date: Fri Apr 29 10:44:46 2011 -0700 Add DRM errors in the DRM frameworks to MediaErrors also. For bug 4350156. Change-Id: Ib5711ec642178a49203a448b7f5114e675d49394 Change-Id: Ia02de462159400eef8c015d28531bf1dd6796a18
* | DO NOT MERGE. Integrate add new screen width/height in "dp" configs.Dianne Hackborn2011-05-121-2/+65
|/ | | | | | | | | | | | | | | | You can now specify resource configuration variants "wNNNdp" and "hNNNdp". These are the minimum screen width/height in "dp" units. This allows you to do things like have your app adjust its layout based only on the about of horizontal space available. This introduces a new configuration change flag for screen size. Note that this configuration change happens each time the orientation changes. Applications often say they handle the orientation change to avoid being restarted at a screen rotation, and this will now cause them to be restarted. To address this, we assume the app can handle this new config change if its target SDK version is < ICS. Change-Id: I4acb73d82677b74092c1da9e4046a4951921f9f4
* Better compat mode part one: start scaling windows.Dianne Hackborn2011-05-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* DO NOT MERGE MediaScanner: reimplement the ".nomedia" feature for hiding ↵Mike Lockwood2011-05-031-3/+2
| | | | | | | | | | | | | | | | files from the media provider Previously we ignored any files and directories that had name started with '.' and ignored any directories that contained a ".nomedia" file. Now to support transferring any file via MTP, we now add these previously ignored files to the media database, but will not mark them as audio, video, image or playlist files. That way they will be included in the files table but will be hidden from the audio, video, images and playlist views that are used by apps like Music and Gallery. Bug: 3405327 Change-Id: Ibb37bb2856a0684ce9f685ed565ad35347622834 Signed-off-by: Mike Lockwood <lockwood@android.com>
* Add heartbeat error codes into MediaErrors.hGloria Wang2011-04-261-0/+11
| | | | | | related-to-bug: 4322415 Change-Id: I78137c61e3a8ce9afcb9fb38cb77a83561b9b72d
* Fix for bug 4126624.Gloria Wang2011-03-241-1/+1
| | | | | | Change the mDrmManagerClientImpl to sp to avoid double delete the pointer. Change-Id: I7aacea1bc58ab6425ef6f6f09472c6f2970ebb4d
* Add one more field in DecryptHandle to support bug 4126624Gloria Wang2011-03-211-0/+6
| | | | Change-Id: Ic7ea5fd211c4f8283de8fdf722f89b6a94e5750b
* do not merge: Cherry pick change I6529695c from master to partially fix bug ↵Gloria Wang2011-03-211-0/+16
| | | | | | 4126624. Change-Id: If724de60bd6da1becdffc815d5358ffe78629469
* DO NOT MERGE Send WebView the current transform and whether we're drawing a ↵Romain Guy2011-03-181-0/+50
| | | | | | | | | | | layer. Bug #3275491 These can be used by WebView to correctly apply alpha and geometric transforms. Change-Id: I61057997f5fda1e803d247fc77500a038d5f3aab
* Fix missing AOSP copyright headers for a bunch of media framework filesJames Dong2011-03-174-0/+64
| | | | | | bug - 4119349 Change-Id: If5924e16a5f596d5d73d9beb66eaf5ac9a6f0e50
* fix [4093196] Device lock up - log spam with SharedBufferStack: ↵Mathias Agopian2011-03-171-0/+3
| | | | | | | | | | | | | | | 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
* Modify the GL renderer's functor to pass the clip to WebViewRomain Guy2011-03-161-2/+1
| | | | Change-Id: If5efe399ca58f3000b2883e24e9f3736a2025184
* Merge "Bug 4016329 do full string comparisons" into honeycomb-mr1Glenn Kasten2011-03-151-2/+2
|\
| * Bug 4016329 do full string comparisonsGlenn Kasten2011-03-141-2/+2
| | | | | | | | | | | | | | | | | | | | Use full string comparisons instead of partial for file extension and MIME type. Do case-insensitive comparison of MIME type and file extensions. Fix error in comment for String8::getPathExtension. Remove dead code -- StringTokenizer is unused. Change-Id: I322be6235abbdaab5f7eafa48926dbb2cf46dc29
* | SurfaceTextureClient: Add ISurfaceTexture getter.Jamie Gennis2011-03-141-0/+2
| | | | | | | | | | | | | | | | | | This change adds a getter method to SurfaceTextureClient to get the ISurfaceTexture object with which the SurfaceTextureClient is communicating. Bug: 4086509 Change-Id: Ifec621e0fe5392a5be56b2348fdc54067cbebcdd
* | ANativeWindow: add query for the concrete type.Jamie Gennis2011-03-141-0/+15
| | | | | | | | | | | | | | | | This change adds a query to the ANativeWindow interface for getting the concrete type of the ANativeWindow. Bug: 4086509 Change-Id: I64aa86d72fbca3b52a98e1fc35608737781a3178
* | For issue 4082089Gloria Wang2011-03-141-0/+7
|/ | | | | | Add more info and error events into the DRM framework Change-Id: I0bb3251c5947fc8e977d478e1ba46b242cb97e9d
* Merge "- Some change on the DrmManager in order to support feature request ↵Gloria Wang2011-03-141-1/+0
|\ | | | | | | 4082089. In DrmManager, we currently lock both processDrmInfo() and onInfo() which is ok for now since processDrmInfo() is async call, and it will return without waiting for onInfo() call. However, if we send an event in processDrmInfo(), we will got deadlock here because we need to invoke onInf() which will wait for processDrmInfo() to release the lock. Use different lock for onInfo(). - Remove some redundent mutex lock." into honeycomb-mr1
| * - Some change on the DrmManager in order to support feature request 4082089.Gloria Wang2011-03-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | In DrmManager, we currently lock both processDrmInfo() and onInfo() which is ok for now since processDrmInfo() is async call, and it will return without waiting for onInfo() call. However, if we send an event in processDrmInfo(), we will got deadlock here because we need to invoke onInf() which will wait for processDrmInfo() to release the lock. Use different lock for onInfo(). - Remove some redundent mutex lock. Change-Id: I59c794f95ba1693425723224114fa975cf9b235f
* | Merge "Bug 3515073 Add ANativeWindow_fromSurfaceTexture" into honeycomb-mr1Glenn Kasten2011-03-111-0/+31
|\ \ | |/ |/|
| * Bug 3515073 Add ANativeWindow_fromSurfaceTextureGlenn Kasten2011-03-041-0/+31
| | | | | | | | | | | | This is similar to ANativeWindow_fromSurface. Change-Id: Iaadc06a5d0d50685c34876aa89488c16e7cfaa65
* | Bug 3012968 DRM output controlGlenn Kasten2011-03-101-0/+4
| | | | | | | | | | | | | | Modifies Stagefright to verify that there is a hardware-protected path to video sink for DRM content. Change-Id: I18b8741390e803a05a88c7f180b860a24ba88a10
* | Input improvements and bug fixes.Jeff Brown2011-03-091-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "ANativeWindow: add queues-to-window-composer check." into honeycomb-mr1Jamie Gennis2011-03-092-1/+21
|\ \
| * | ANativeWindow: add queues-to-window-composer check.Jamie Gennis2011-03-082-1/+21
| |/ | | | | | | | | | | | | | | | | This change adds a new 'method' to the ANativeWindow interface to check whether buffers queued to the window will be sent directly to the system window compositor. Change-Id: I4d4b199e328c110b68b250029aea650f03c8724d Bug: 3495535
* | Fix issue 3439872: video chat and bluetooth SCOEric Laurent2011-03-083-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes the stability problems experienced when using a bluetooth headset supporting both A2DP and SCO. Problems occur when starting the video chat at which time the A2DP output is being stopped to start SCO. At that time, active AudioTracks are invalidated by AudioFlinger so that a new AudioTrack binder interface can be recreated by the client process on the new mixer thread with correct parameters. The problem was that the process to restore the binder interface was not protected against concurrent requests which caused 2 binder interfaces to be created sometimes. This could lead to permanent client deadlock if one of the client threads was waiting for a condition of the first created binder interface while the second one was created (as the AudioFlinger would only signal conditions on the last one created). This concurrent request situation is more likely to happen when a client uses the JAVA AudioTrack as the JNI implementation uses simultaneously the native AudioTrack callback and write push mechanisms. By doing so, the code that checks if the binder interface should be restored (in obtainBuffer()) is much more likely to be called concurrently from two different threads. The fix consists in protecting the critical binder interface restore phase with a flag in the AudioTrack control block. The first thread acting upon the binder interface restore request will raise the flag and the second thread will just wait for a condition to be signaled when the restore process is complete. Also protected all accesses to the AudioTrack control block by a mutex to prevent access while the track is being destroyed and restored. If a mutex cannot be held (e.g because we call a callback function), acquire a strong reference on the IAudioTrack to prevent its destruction while the cblk is being accessed. Modified AudioTrack JNI to use GetByteArrayElements() instead of GetPrimitiveArrayCritical() when writing audio buffers. Entering a critical section would cause the JNI to abort if a mediaserver crash occurs during a write due to the AudioSystem callback being called during the critical section when media server process restarts. Anyway with current JNI implementation, either versions do not copy data most of the times and the criticial version does not guaranty no data copy. The same modifications have been made to AudioRecord. Change-Id: Idc5aa711a04c3eee180cdd03f44fe17f3c4dcb52
* | Merge "Add support for partial invalidates in WebView Bug #3461349" into ↵Romain Guy2011-03-071-0/+1
|\ \ | | | | | | | | | honeycomb-mr1
| * | Add support for partial invalidates in WebViewRomain Guy2011-03-071-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | Bug #3461349 This change also fixes two bugs that prevented partial invalidates from working with other views. Both bugs were in our EGL implementation: they were preventing the caller from comparing the current context/surface with another context/surface. This was causing HardwareRenderer to always redraw the entire screen. Change-Id: I33e096b304d4a0b7e6c8f92930f71d2ece9bebf5
* | Joystick tweaks. (DO NOT MERGE)Jeff Brown2011-03-042-2/+37
|/ | | | | | | | | | | | | | | | | | 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
* Merge "Wake screen from external HID peripherals."Jeff Brown2011-03-021-0/+5
|\
| * Wake screen from external HID peripherals.Jeff Brown2011-03-021-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "- To track the usage of all audio output devices - To track the ↵Gloria Wang2011-03-021-5/+13
|\ \ | | | | | | | | | currently used audio device - The devices are separated as speaker and other audio devices - Provide the collected data to battery application through pullBatteryData()"
| * | - To track the usage of all audio output devicesGloria Wang2011-03-021-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | - To track the currently used audio device - The devices are separated as speaker and other audio devices - Provide the collected data to battery application through pullBatteryData() Change-Id: I374c755266b5ac6b1c6c630400f4daf901ea8acc
* | | Merge "Allow optional specification of a PTS timestamp when signalling a ↵Andreas Huber2011-03-021-0/+6
|\ \ \ | |_|/ |/| | | | | discontinuity."