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
Exposed the new "min delay" sensor property through native and
java sensor apis. This allows the caller to know what is the
maximum rate at which a sensor can return events, or, if a sensor
works in "update" mode (events returned only when the value changes).
Also augmented SensorManager.regusterSensorEvent() so that it can
accept a value in microsecond in addition to the 4 constants already
defined.
Change-Id: If425e9979892666df8c989d7de3c362230fa19e0
Merge commit '571180c4c72e0bb4f930f8971edf000a652f10f6' into gingerbread-plus-aosp
* commit '571180c4c72e0bb4f930f8971edf000a652f10f6':
Attempt to fix the SDK build
On the assumption that the local min() function declaration is in
conflict with some 'min' #define floating around, rename the local
function to min_of().
Change-Id: I62aa27f213c6093cc78805de611cf4aa75f0eef2
Merge commit '6ec402b5ae33c8927694d8522b4cc6a5c8ba974e' into gingerbread-plus-aosp
* commit '6ec402b5ae33c8927694d8522b4cc6a5c8ba974e':
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
Merge commit '7b40518e56a3238b28b24a786a2ff22d5a425765' into gingerbread-plus-aosp
* commit '7b40518e56a3238b28b24a786a2ff22d5a425765':
Change unistd.h to stddef.h to be correct
Merge commit '9f2a91bc2b01c2cc60f73a0bae673225fdddec09' into gingerbread-plus-aosp
* commit '9f2a91bc2b01c2cc60f73a0bae673225fdddec09':
fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot dequeue all allocated buffers at once.
Compressed assets larger than one megabyte are now decompressed on demand
rather than being decompressed in their entirety and held in memory. Reading
the data in order is relatively efficient, as is seeking forward in the stream.
Seeking backwards is supported, but requires reprocessing the compressed data
from the beginning, so is very inefficient.
In addition, the size limit on compressed assets has been eliminated.
Change-Id: I6e68247957e6c53e7e8ba70d12764695f1723bad
Merge commit '6d0fec2de3601821f4f44eeb7d7deedebb2b7117' into gingerbread-plus-aosp
* commit '6d0fec2de3601821f4f44eeb7d7deedebb2b7117':
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
this situation happened when the last buffer needed to be resized
(or allocated, the first time). the assumption was that the buffer
was in use by SF itself as the current buffer (obviously, this
assumption made no sense when the buffer had never been allocated, btw).
the system would wait until some other buffer became the "front" buffer.
we fix this problem by entirely removing the requirement that the
buffer being resized cannot be the front buffer. instead, we just
allocate a new buffer and replace the front buffer by the new one.
the downside is that this uses more memory (an extra buffer) for a
brief amount of time while the old buffer is being reallocated and
before it has actually been replaced.
Change-Id: I022e4621209474ceb1c671b23deb4188eaaa7285
Merge commit '84c924a6c53cb63ca018013c9fda0077413d0005' into gingerbread-plus-aosp
* commit '84c924a6c53cb63ca018013c9fda0077413d0005':
Replace several IPCThreadState::get() lookups with one.
Merge commit '4782cdbbbe4b2c7714af1fb6cdc4f52f1d1d20d7' into gingerbread-plus-aosp
* commit '4782cdbbbe4b2c7714af1fb6cdc4f52f1d1d20d7':
Fix a memory corruption when writting Sensor into a parcel
moved surfaceflinger, audioflinger, cameraservice
all native services should now reside in this location.
Change-Id: Icd7336f7289db35df9c8c1857a5122bb8a6f1c86
Merge commit 'e4764521353e898554931a557460fc49209fb0a9' into gingerbread-plus-aosp
* commit 'e4764521353e898554931a557460fc49209fb0a9':
new SensorService
remove old sensor service and implement SensorManager
on top of the new (native) SensorManger API.
Change-Id: Iddb77d498755da3e11646473a44d651f12f40281
Merge commit 'ff7049ab2886acc73e145367118646f7741ce333' into gingerbread-plus-aosp
* commit 'ff7049ab2886acc73e145367118646f7741ce333':
Remove some debug logging that I accidentally committed.
Merge commit 'd3616592fe1b315b589766c4b74ce728fc4968f5' into gingerbread-plus-aosp
* commit 'd3616592fe1b315b589766c4b74ce728fc4968f5':
Fix trackball down and movement bugs.
Merge commit 'c8c79a654d4ae8e3a883854e19cc2df757f72d82' into gingerbread-plus-aosp
* commit 'c8c79a654d4ae8e3a883854e19cc2df757f72d82':
Re-use existing Surface objects when reading them from parcels.
This change adds a process-global cache of previously deserialized Surface
objects so that if a Surface object wrapping the same ISurface gets received
again the same Surface can be used. This is important because the 'tail'
pointer in the SharedBufferClient is stored only on the client side, and needs
to be the same for all the Surface objects wrapping an ISurface instance. This
solves the problem by making there only be one Surface object wrapping an
ISurface per process.
Change-Id: I4bf0b8787885c56277622fca053022d2bb638902
Add dumpsys integration for the native input dispatcher.
Add some InputDevice API stubs.
Add an appendFormat helper method to String8 for printf style
string formatting mainly for debugging purposes.
Use generic ArrayList<WindowState> everywhere in WindowManagerService
to eliminate unnecessary casts all over.
Change-Id: I9d1e3bd90eb7222d10620200477f11b7bfd25e44
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