1960 Commits

Author SHA1 Message Date
Jeff Brown
0632b35b68 Merge "Improve handling of built-in keyboard." into jb-dev 2012-05-01 18:39:00 -07:00
Jeff Brown
daa3753a04 Improve handling of built-in keyboard.
The window manager policy made some incorrect assumptions about the
meaning of the Configuration.keyboard field.  We need to be more
careful about distinguishing between built-in and external keyboards.

Most of this change is to move the determination of the parts of
the Configuration related to input devices into the WindowManagerService
leveraging new features of the InputManagerService to good effect.

Then we plumb through the flag that indicates whether a device
is internal or external so that we can be more particular about
how the lid switch effects changes to the Configuration.

Bug: 6424373
Change-Id: I36a1c22ade35e578955465a25940a33f227b9763
2012-05-01 16:34:20 -07:00
Jamie Gennis
6da9cf7782 Merge "Surface: add JNI plumbing for setActiveRect." into jb-dev 2012-04-30 17:13:45 -07:00
Jamie Gennis
b40696cc21 Surface: add JNI plumbing for setActiveRect.
Bug: 6299171
Change-Id: If26e63ebe7def645626af251bed899ff9389f8e5
2012-04-30 15:35:37 -07:00
Dianne Hackborn
7634424171 Fix scaling of layout bounds.
Change-Id: I9d8c8924900fed69030ee3e8d6decee89ca67820
2012-04-30 14:51:48 -07:00
Jeff Brown
ffd6ea4523 Merge "Resample touch events on frame boundaries." into jb-dev 2012-04-27 17:31:50 -07:00
Jeff Brown
771526c88f Resample touch events on frame boundaries.
Bug: 6375101
Change-Id: I8774e366306bb2b6b4e42b913525bf25b0380ec3
2012-04-27 15:58:42 -07:00
Romain Guy
8f8d9fb52c Keep opaque bitmaps opaque after scaling
Bug #6293845

Change-Id: If9e82993f4c9702244ddedb5667421a6fcc7a0c5
2012-04-26 13:35:36 -07:00
Raph Levien
66556c730d Merge "Improve char mirroring in TextLayoutCache" 2012-04-24 22:38:15 -07:00
Fabrice Di Meglio
3632b7f3ef Improve char mirroring in TextLayoutCache
- now use ICU u_isMirrored() instead of a small hardcoded list of unicode points

see bug #5961254 Harfbuzz should be able to support Bidi_mirrored unicode attribute

Change-Id: I3243a58558a97930f0e7fdf5e9c1d5695d9393de
2012-04-24 19:57:23 -07:00
Mathias Agopian
80193e7748 Merge "add a (hidden) api on Surface to query if the consumer is running behind the producer" 2012-04-24 17:24:07 -07:00
Raph Levien
8b97745c6a Merge "Partial fix for bug 6132077 (incorrect line breaking of Arabic text)." 2012-04-24 16:34:36 -07:00
Raph Levien
57e9723134 Partial fix for bug 6132077 (incorrect line breaking of Arabic text).
Fixed getTextRunAdvances so that advances are correctly aligned with
UTF-16 code point offices, rather than runs being reversed in RTL.

Change-Id: Ife59c0c26f745654c16656c86072e9102d8f6bc7
2012-04-24 16:04:34 -07:00
Mathias Agopian
c14bacf1fb add a (hidden) api on Surface to query if the consumer is running behind the producer
Change-Id: I71ec1602f66a4850b130893fc7017b5b1ac1b647
2012-04-24 15:50:27 -07:00
Glenn Kasten
07b0465095 Scheduling policy service
Change-Id: I6178b96896ffbb3323210f93784a65d724a3e694
2012-04-24 09:53:14 -07:00
Romain Guy
ba6be8a62d Prevent WebView from crashing when detached from the window
Bug #6365056

WebView enqueues a functor in the hardware renderer to handle
animations and this functor is called at a later time by the
hardware renderer. However, the functor was not removed from
the queue when WebView was removed from the window. This could
cause the hardware renderer to attempt to execute an invalid
functor and lead to a crash.

Change-Id: I9d38e80f3fdc5e29d4d0cdfa1e893c251a954508
2012-04-23 20:29:31 -07:00
Glenn Kasten
2427a4c49e Merge "Scheduling group cleanup" 2012-04-23 17:11:55 -07:00
Glenn Kasten
f1b56449f5 Scheduling group cleanup
The C++ API for scheduling groups is going away, so use the C API.

Renumber THREAD_GROUP_* constants to have the same values as SP_*.
They are @hide so this should be OK.

The old THREAD_GROUP_FG_BOOST constant is removed, and replaced by a
(private) THREAD_GROUP_FOREGROUND constant that is just a placeholder
to correspond to SP_FOREGROUND.  It is not usable at this level.

Improved performance of android_os_Process_setProcessGroup:
avoid unnecessary syscall to getpriority for each tid.

Fixed error handling in android_os_Process_setThreadGroup.
It raises an exception if set_sched_policy() returns an error.

Add comments and fix typos in existing comments.

Change-Id: Ib922e92c945985c695ef0addbd2b83b8e82865f8
2012-04-23 15:30:02 -07:00
Chet Haase
1271e2cc80 Remove USE_DISPLAY_LIST_PROPERTIES flag
This flag was still hanging around pending any need to disable
DisplayList properties. But things seem stable, so it's time to clean up
and simplify the code.

At the same time, I reduced redundance in DisplayList dimensions. We
used to call drawDisplayList() with width/height parameters that were
used to do a clip reject. This is redundant with the DisplayList properties
that set the bounds of the DisplayList; the left/right and top/bottom properties
represent the same width/height properties formerly used in drawDisplayList().
The new approach is to not pass dimensions to drawDisplayList(), but to
instead pull those dimensions directly from the DisplayList when needed.

Change-Id: I8871beff03b1d4be95f7c6e079c31a71d31e0c56
2012-04-23 11:13:17 -07:00
Eric Laurent
e93cccb634 Merge "Fix threading issues in AudioRecord JNI" 2012-04-22 13:26:29 -07:00
Jeff Brown
5bbd4b4f5f Get alias for Bluetooth devices.
Bluetooth devices can be renamed by the user.  Make the
input system aware of the user-specified name and transparently
pass it down to applications.  This enables the keyboard
layout picker Settings UI to use device names that are
consistent with what the user set in the Bluetooth UI.

Bug: 6363157
Change-Id: I8eea26ce2c69c2a3f09c8de02e9e847610e0419c
2012-04-20 20:11:12 -07:00
Eric Laurent
532bc1cb7d Fix threading issues in AudioRecord JNI
Made native AudioRecord ref based to allow use
of strong pointers in JNI and solve concurrency issues
between read() and release() in particular.

Applied the same fixes to AudioTrack JNI.

Issue 6254582.

Change-Id: I381a66cb00b6639f87f4fcd19a2e202d1a4e6704
2012-04-20 16:26:07 -07:00
Jeff Brown
330ec91e02 Check whether db was really opened read/write.
Bug: 6176510
Change-Id: I7aeeb4340e55d554a57bb46c3c27ab37186f7e3a
2012-04-19 19:44:43 -07:00
Jeff Sharkey
1b96594171 Merge "Pipe DHCP vendor info towards framework." 2012-04-19 11:43:49 -07:00
Wu-cheng Li
7bc1b21a52 Remove new camera open API.
Applications are not resumed under the lock screen now.
This API is not needed anymore.

bug:5584464
Change-Id: I1c18efb5ba1ecd39320eb5fd252c6e1229d7b89c
2012-04-19 14:18:44 +08:00
Jeff Sharkey
77b87ba0bc Pipe DHCP vendor info towards framework.
Bug: 6344821
Change-Id: Ifb9a93c995f4d70f4ae2aa03b7e21f13013ef3b6
2012-04-18 21:55:14 -07:00
Eric Laurent
10536b657d rename audio policy flags
Change-Id: Id273d1366ed2dc9ae9f38497414a68523bceae66
2012-04-18 10:48:42 -07:00
Pannag Sanketi
1645ee2473 Merge "Making the setSurface non-static" 2012-04-17 11:42:48 -07:00
Jeff Brown
9704e78418 Merge "Refactor SensorManager to move non-API bits into a subclass." 2012-04-16 15:46:47 -07:00
Jeff Brown
25157e458d Refactor SensorManager to move non-API bits into a subclass.
Changed the SensorManager class so that it only contains API-related
bits including what's needed to support legacy sensors.  Mostly just
moved stuff around.  Making the class abstract is safe because
it does not have a visible constructor in the API.

One minor change is that the cache of sensor type to sensor lists
is now per instance of SensorManager instead of being static.
We can fix this if desired.

Another small change is that we bail out early from registerListener
if the listener has already been registered for the particular
sensor.  This happened for both legacy and standard listeners.
The problem is that the ListenerDelegate maintains two lists of
sensors, one is a Map and the other is a List.  Adding a sensor
twice causes one entry to be added to the Map and two entries to be
added to the List, but when the sensor is removed the next time, only
one entry is removed from the List, leaving it in an inconsistent
state.

Removed Sensor.getLegacyType() since the value it provides is only
needed in LegacyListener and we don't really save any significant
computation by caching it.  Removing the field makes support for
legacy sensors a little more self-contained.

Bug: 6339552
Change-Id: I50d41ac97cf535924f2bfa2026d28547a4d00286
2012-04-16 13:03:55 -07:00
Jeff Sharkey
123328778e Merge "Move TrafficStats iface counters to xt_qtaguid." 2012-04-16 12:11:21 -07:00
Jamie Gennis
721bfaa63d SurfaceTexture: fix updateTexImage JNI
Sigh...

Change-Id: I0271bed44c58e0c9a03eda4886eb2c1ee76e041f
2012-04-13 19:14:37 -07:00
Jamie Gennis
dbed083ff0 Merge "SurfaceTexture: update API docs" 2012-04-13 18:02:28 -07:00
Jeff Brown
a47425a13c Add support for input devices that have vibrators.
Added a getVibrator() method to InputDevice which returns a Vibrator
associated with that input device.  Its uses the same API as the
system vibrator which makes it easy for applications to be modified
to use one or the other.

Bug: 6334179
Change-Id: Ifc7f13dbcb778670f3f1c07ccc562334e6109d2e
2012-04-13 17:01:15 -07:00
Jamie Gennis
2b4bfa5efe SurfaceTexture: update API docs
This change updates the SurfaceTexture API docs and modifies the behavior of
the updateTexImage to produce an IllegalStateException when not attached to a
GLES context.

Change-Id: I5a0875927785108960985c567d571d5f7033256a
2012-04-13 16:04:15 -07:00
Pannag Sanketi
497db8bfda Making the setSurface non-static
The setSurface method can be used to set a java Surface object from a
native Surface object. Making it non-static so that it can be accessed
from other units as well.

Change-Id: Id49b077ec0e7ad91cf10a4bd66938e238062408d
2012-04-13 11:44:28 -07:00
Jeff Brown
882735972e Merge "Notify applications when input devices change." 2012-04-12 18:55:57 -07:00
Jeff Brown
af9e8d3818 Notify applications when input devices change.
This change allows the InputManager to keep track of what input
devices are registered with the system and when they change.
It needs to do this so that it can properly clear its cache of
input device properties (especially the key map!) when changes
occur.

Added new API so that applications can register listeners for
input device changes.

Fixed a minor bug in EventHub where it didn't handle EPOLLHUP
properly so it would spam the log about unsupposed epoll events
until inotify noticed that the device was gone and removed it.

Change-Id: I937d8c601f7185d4299038bce6a2934fe4fdd2b3
2012-04-12 18:54:54 -07:00
Irfan Sheriff
d4fecc2567 Merge "Pre-association service discovery support" 2012-04-12 18:33:05 -07:00
Irfan Sheriff
21ba815332 Pre-association service discovery support
Add UPnp, Bonjour and vendor specific support for discovering services on
Wi-Fi direct before establishing a connection.

Change-Id: I1c1f3427180abdc80a4e682e713adc7f0326c5ef
Signed-off-by: Yoshihiko Ikenaga <yoshihiko.ikenaga@jp.sony.com>
2012-04-12 17:50:29 -07:00
Fabrice Di Meglio
62901af52a Merge "Add Paint.setTextLocale()" 2012-04-12 17:37:44 -07:00
Fabrice Di Meglio
f98c8b32e8 Merge "Add new Arabic font for SystemUI" 2012-04-12 17:36:18 -07:00
Fabrice Di Meglio
517825f1a9 Add Paint.setTextLocale()
- will be used for better shaping CJK and other goodies

Change-Id: If64945a337edd915f5ebb88f04b6fd18e92ca587
2012-04-12 17:31:17 -07:00
Fabrice Di Meglio
276de3e1eb Add new Arabic font for SystemUI
- still work in progress
- bug #5987379

Change-Id: I0a7f7437c9061eab0abc9d5979c947eb5511992a
2012-04-12 16:40:56 -07:00
Elliott Hughes
3f177d7c9a Bump the interpreter stack size for the main thread.
Bug: 6315322
Change-Id: I8d84e7c2e0eeb5314530b8a8b141f44014b8c646
2012-04-12 16:02:56 -07:00
Jeff Sharkey
234766a36a Move TrafficStats iface counters to xt_qtaguid.
Use xt_qtaguid iface_stat_all counters, which are monotonic during
a single boot.

Track all ifaces associated with mobile networks since boot, and
move TrafficStats to using these ifaces.  This will include usage of
networks omitted from config_data_usage_network_types, specifically
on devices that recycle network interfaces across APNs.

Split wildcard template matching, and move NetworkStatsService to
use mobile wildcard when logging stats.

Bug: 5324515
Change-Id: I2211c374c05d1b598cc647f2f873630538955ffe
2012-04-12 14:53:32 -07:00
Jeff Brown
3bdcdd8531 Be more careful about exceptions in input callbacks.
consumeEvents() may be called reentrantly so we need to be
careful when handling exceptions.  When called directly
through JNI, the exception should be allowed to bubble up
to the caller.  When called from a Looper callback, the
exception should be recorded on the MessageQueue and bubbled
when the call to nativePollOnce() returns.

Bug: 6312938
Change-Id: Ief5e315802f586aa85af7eef1bd6e9bea4ce24ab
2012-04-10 20:36:07 -07:00
Jeff Brown
9f25b7fdf2 Request key maps from input manager service.
Instead of each application loading the KeyCharacterMap from
the file system, get them from the input manager service as
part of the InputDevice object.

Refactored InputManager to be a proper singleton instead of
having a bunch of static methods.

InputManager now maintains a cache of all InputDevice objects
that it has loaded.  Currently we never invalidate the cache
which can cause InputDevice to return stale motion ranges if
the device is reconfigured.  This will be fixed in a future change.

Added a fake InputDevice with ID -1 to represent the virtual keyboard.

Change-Id: If7a695839ad0972317a5aab89e9d1e42ace28eb7
2012-04-10 18:23:58 -07:00
Jesse Hall
9d873d439f Merge "Avoid waking EGL in getInitCount" 2012-04-09 22:43:34 -07:00
Jeff Brown
603b445896 Ensure that apps crash if they throw exceptions.
Previously, if an app threw an uncaught exception in an input,
vsync or native activity callback, it would log the exception then
continue limping merrily along.  In the case of input, it
could result in an ANR occurring because we had not drained
all of the pending input events and marked them as finished
(we only marked the most recent one finished).

Bug: 6304124
Change-Id: I87d76f7fd605e1a8af1237c66d8d62973080277e
2012-04-06 18:25:09 -07:00