| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: Iff6d9ab3a7caf58f65fc3f60633a3bd577b7af25
|
|
|
|
|
| |
Bug: 4595257
Change-Id: I1db83149107d7dab1f0b7e73c684e0ff82e17e62
|
|
|
|
|
|
|
|
| |
Need to put some more styles in the SDK to avoid breaking apps.
Also, welcome Android 3.2.
Change-Id: Ia31d07c9b1b91ad868d8630437fdc1b5ae24f37d
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Bug: 4124987
Change-Id: I1f31a28f1594c55302ccabe13fe3ca6d2ff71d50
|
|
|
|
| |
Change-Id: I028969b007f2fceea66947d77a2ae31ef1d1a630
|
|
|
|
| |
Change-Id: I402c31b68f2b4825cb4c610a65ee8e1da471c7bb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ida1fdb61b036a8b489dbeda196fb4bc82e651b2b
|
|
|
|
| |
Change-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce
|
|\
| |
| |
| | |
honeycomb-mr2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
related-to-bug: 4322415
Change-Id: I78137c61e3a8ce9afcb9fb38cb77a83561b9b72d
|
|
|
|
|
|
| |
Change the mDrmManagerClientImpl to sp to avoid double delete the pointer.
Change-Id: I7aacea1bc58ab6425ef6f6f09472c6f2970ebb4d
|
|
|
|
| |
Change-Id: Ic7ea5fd211c4f8283de8fdf722f89b6a94e5750b
|
|
|
|
|
|
| |
4126624.
Change-Id: If724de60bd6da1becdffc815d5358ffe78629469
|
|
|
|
|
|
|
|
|
|
|
| |
layer.
Bug #3275491
These can be used by WebView to correctly apply alpha and geometric
transforms.
Change-Id: I61057997f5fda1e803d247fc77500a038d5f3aab
|
|
|
|
|
|
| |
bug - 4119349
Change-Id: If5924e16a5f596d5d73d9beb66eaf5ac9a6f0e50
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: If5efe399ca58f3000b2883e24e9f3736a2025184
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds a getter method to SurfaceTextureClient to get the
ISurfaceTexture object with which the SurfaceTextureClient is
communicating.
Bug: 4086509
Change-Id: Ifec621e0fe5392a5be56b2348fdc54067cbebcdd
|
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds a query to the ANativeWindow interface for getting the
concrete type of the ANativeWindow.
Bug: 4086509
Change-Id: I64aa86d72fbca3b52a98e1fc35608737781a3178
|
|/
|
|
|
|
| |
Add more info and error events into the DRM framework
Change-Id: I0bb3251c5947fc8e977d478e1ba46b242cb97e9d
|
|\
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| | |
This is similar to ANativeWindow_fromSurface.
Change-Id: Iaadc06a5d0d50685c34876aa89488c16e7cfaa65
|
| |
| |
| |
| |
| |
| |
| | |
Modifies Stagefright to verify that there is a hardware-protected path
to video sink for DRM content.
Change-Id: I18b8741390e803a05a88c7f180b860a24ba88a10
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | |
| | | |
honeycomb-mr1
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | |
| | | |
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 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
|
|\ \ \
| |_|/
|/| |
| | | |
discontinuity."
|