2f39e9f8333183312b7f7d423c2ea60a93a25e32 |
|
21-Sep-2012 |
Craig Mautner <cmautner@google.com> |
Switch from uevent model to /dev/input/event. Headsets are now detected from calls coming in from the input switch subsystem if a config.xml value is set to true. Bug: 6548391. Change-Id: I79259d2742e157b106a746474f32ffd1c171ddf3
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
bcc046af4ef171aa3aa3c6b64efb5cafc1e46cd3 |
|
28-Sep-2012 |
Jeff Brown <jeffbrown@google.com> |
Bundle correlated switch changes atomically. This is a prerequisite for headset jack detection on Manta. Bug: 6548391 Change-Id: I549a194344511c0cee578b00f6a9ab5fdbdfb99c
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
d49359631bc2642be73dc162a8a73207df1e0baf |
|
25-Sep-2012 |
Jeff Brown <jeffbrown@google.com> |
Handle user switched for settings changes. Move OVERLAY_DISPLAY_DEVICES to Global. Bug: 7127417 Change-Id: I632648ac5b01408512f59424f3bb55162431bea4
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
50cdf7c3069eb2cf82acbad73c322b7a5f3af4b1 |
|
24-Sep-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #7214090: Need to be able to post notifications to all users Also fix a bunch of system services that should be doing this. And while doing that, found I needed to fix PendingIntent to evaluate USER_CURRENT at the point of sending, not creation. Note that this may end up with us having some notification shown to non-primary users that lead to settings UI that should only be for the primary user (such as the vpn notification). I'm not sure what to do about this, maybe we need a different UI to come up there or something, but showing the actual notification for those users at least seems less broken than not telling them at all. Change-Id: Iffc51e2d7c847e3d05064d292ab93937646a1ab7
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
a9d131c30878cacdaeacb4f43a82a7cc5b872453 |
|
21-Sep-2012 |
Jeff Brown <jeffbrown@google.com> |
Disentangle input manager service startup. We will be adding additional callbacks for other components. This change makes it clearer how the input manager is started and where the callbacks are initialized. Bug: 6548391 Change-Id: I4b2a61482126a12b7cf11fafe513f846c76c11e5
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
83d616a9c7b9505153d258511eb5c16b552e268d |
|
10-Sep-2012 |
Jeff Brown <jeffbrown@google.com> |
Make input system aware of multiple displays. The input system needs to know about the window that has focus, even if it is on a secondary display. So now we send it the list of all windows and indicate which display they are on. We filter the list of windows as necessary when delivering touch events. To keep things simple, monitor input channels and input filters are not supported except on the main display. We also do not pass the display id to applications; it is only used inside the input system for now. Properly scale touch coordinates based on the viewport. This will be needed to ensure that touch works on external display as well as when the internal display is being used to simulate a different resolution. Change-Id: I1815579a52fcc852c519b5391fc7ab8767c2dc59
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
d728bf514f257670fcb9aa22c6eaf97626072c93 |
|
09-Sep-2012 |
Jeff Brown <jeffbrown@google.com> |
Make display manager tell input system about viewports. The window manager is no longer responsible for telling the input system about the display viewport. Change-Id: I932882bae55decef55f25093bb2a7ebac1620bb1
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
4ed8fe75e1dde1a2b9576f3862aecc5a572c56b5 |
|
31-Aug-2012 |
Jeff Brown <jeffbrown@google.com> |
More improvements to the display manager. Added more complete support for logical displays with support for mirroring, rotation and scaling. Improved the overlay display adapter's touch interactions. A big change here is that the display manager no longer relies on a single-threaded model to maintain its synchronization invariants. Unfortunately we had to change this so as to play nice with the fact that the window manager wants to own the surface flinger transaction around display and surface manipulations. As a result, the display manager has to be able to update displays from the context of any thread. It would be nice to make this process more cooperative. There are already several components competing to perform surface flinger transactions including the window manager, display manager, electron beam, overlay display window, and mouse pointer. They are not manipulating the same surfaces but they can collide with one another when they make global changes to the displays. Change-Id: I04f448594241f2004f6f3d1a81ccd12c566bf296
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
a2910d0abbbe18ba1710dfd4a31af45769632255 |
|
25-Aug-2012 |
Jeff Brown <jeffbrown@google.com> |
Make it easier to create asynchronous Handlers. There are potentially very many Handlers owned by services that should not be blocked by barriers introduced by UI traversals occurring on the same thread (if that ever happens). Add some convenience constructors to make it easy to switch these Handlers over to being async. Bug: 7057752 Change-Id: I64d9bffe81e7c52ada4cfad4e89d4340153f4688
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
5338428ddbe662283bf88171c7ca361d51d78da8 |
|
21-Aug-2012 |
Jeff Brown <jeffbrown@google.com> |
Plumb the switch code into Dalvik. Bug: 6548391 Change-Id: If0e918669ba27ca0e6561930d4abc427c34de42d
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
9631314e3d28b6e96ef0b7cc777f1a7747a0ac39 |
|
30-Jun-2012 |
Matthew Xie <mattx@google.com> |
Fix merge error, put in tmp workaround for input manager. Fix merge error, missing enableNoAutoConnect api. Remove bluetoothF from inputManageF.systemReady call as tmp workaround. Recover shutdownRadios(MAX_RADIO_WAIT_TIME) call in ShutdownThread Change-Id: Ice2b5c54267755bdbf56c742feabbb8709b92570
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
c9c9a48e7bafae63cb35a9aa69255e80aba83988 |
|
16-Jul-2012 |
Svetoslav Ganov <svetoslavganov@google.com> |
Removing a workaround for incorrect window position on window move. 1. The window manager was not notifying a window when the latter has been moved. This was causing incorrect coordinates of the nodes reported to accessibility services. To workaround that we have carried the correct window location when making a call from the accessibility layer into a window. Now the window manager notifies the window when it is moved and the workaround is no longer needed. This change takes it out. 2. The left and right in the attach info were not updated properly after a report that the window has moved. 3. The accessibility manager service was calling directly methods on the window manager service without going through the interface of the latter. This leads to unnecessary coupling and in the long rung increases system complexity and reduces maintability. bug:6623031 Change-Id: Iacb734b1bf337a47fad02c827ece45bb2f53a79d
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
7e4ff4b986d626493afb676dd4824d2b3663260a |
|
30-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Fix comparison of device source bits. Bug: 6576743 Change-Id: I6952b052e2ab9e62ddd46ab76f4df37ecc656757
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
1b9ba578f1d2acf86c75110e89ae3d2e0434483a |
|
21-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Disable debug logs. Change-Id: Icc7d389789885185f2ca9b609bad6096fe290106
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
cf39bdf3dff5e29447f6ce734b76dc3490385e58 |
|
18-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Add support for switching between multiple keyboard layouts. Also show a notification when an external keyboard is connected and does not have a keyboard layout selected yet. Bug: 6405203 Change-Id: Id0ac6d83b3b381f8a236b2244a04c9acb203db3c
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
d9fec5d317c09da6bcc7a54df4e0190a76d21eae |
|
18-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Add support for grouping keyboard layouts by collection. Bug: 6405203 Change-Id: Id818b27ec09928150795d594a96df186a6e39168
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
2f0957607411b99810226ad38d59cf18718b86d0 |
|
11-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Rename kcm attribute to keyboardLayout. Bug: 6478076 Change-Id: I7fc0d8eb36d03a628d070f8fd6ea1e1464b1a163
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
93de746e5554bc9397ca8109f57875d92e64eabc |
|
03-May-2012 |
Jeff Brown <jeffbrown@google.com> |
Separate the internal and external display rotations. When attached to an HDMI touch screen, the input system needs to know the size and rotation of the external display independent of the internal display. The size was already being reported separately but not the rotation. The inconsistency can cause problems if the internal display's natural rotation is portrait but the external display's natural rotation is landscape. Change-Id: Id344f04c1ba032625f6265766be66f9ddaa2cc0b
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
daa3753a04699724d2cfe824ac1f5a266d643a05 |
|
02-May-2012 |
Jeff Brown <jeffbrown@google.com> |
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
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
c458ce98ce42c00b98afe00670f822814f3da572 |
|
30-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Add support for using the lid switch to turn off the screen. Added a config option to allow the lid switch to turn off the screen. This is a closer match to what a lid switch should be doing. Removed an old feature to bypass keyguard when keyboard is visible because the way it was plumbed in made bad assumptions about the meaning of the lid switch. Also, the last product we shipped that had a physical keyboard turned this config option off. So away it goes. We can bring it back someday if we really want it. It's questionable how useful the feature is anyhow, since it only works when the keyguard is unsecure and when the lid switch is unlikely to be jostled in the user's pocket. Fixed a bug where we would tell the power manager that the keyboard was visible even if the lid switch did not control the keyboard. This used to cause the power manager to try to set the keyboard brightness, which doesn't work. Bug: 6377115 Bug: 6406726 Change-Id: Ic84b71d09563d51c92cd1cf132fa8bdee6509103
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
5bbd4b4f5fc19302fa017ad6afee6eb2d489d91a |
|
21-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
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
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
6ec6f79e1ac1714e3b837796e99f07ff88f66601 |
|
18-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Support loading keyboard layout overlays from resources. Added the concept of a keyboard layout overlay, which is a key character map file that has "type OVERLAY". Added support for loading keyboard layout overlays from resources dynamically. The layouts are reloaded whenever they are changed in the Settings application or an application is installed. This is somewhat more aggressive than necessary so we might want to optimize it later. Before system-ready, the input system uses just the generic keyboard layouts that are included on the device system image. After system-ready, it considers the user's selected keyboard layout overlay and attempts to load it as necessary. We need to wait until system-ready before doing this because we need to be in a state where it is safe to start applications or access their resources. Bug: 6110399 Change-Id: Iae0886d3356649b0d2440aa00910a888cedd8323
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
a3bc565882dd3984e995363642b1295fe3d24d10 |
|
17-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Add persistence for selected keyboard layout. Bug: 6110399 Change-Id: I99544bf05e9755385bee478b5f047ccec2e5cae3
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
a47425a13c19f95057df78b8bb65bb25657e8753 |
|
13-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
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
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
af9e8d38184c6ba4d2d3eb5bde7014a66dd8a78b |
|
13-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
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
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
9f25b7fdf216c9ef0bd2322cd223eeaf0d60f77f |
|
10-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
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
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
ac14351e16e1258f1cb54e2bf772b8be004eb2b8 |
|
06-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Move some APIs from window manager to input manager. Simplified input injection API down to just one call. Removed all input state reading API. It was only used by the window manager policy and required a permission that applications could not obtain. READ_INPUT_STATE is now unused and deprecated. Change-Id: I41278141586ddee9468cae0fb59ff0dced6cbc00
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|
4532e6158474a263d9d26c2b42240bcf7ce9b172 |
|
05-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Refactor input system into its own service. Extracted the input system from the window manager service into a new input manager service. This will make it easier to offer new input-related features to applications. Cleaned up the input manager service JNI layer somewhat to get rid of all of the unnecessary checks for whether the input manager had been initialized. Simplified the callback layer as well. Change-Id: I3175d01307aed1420780d3c093d2694b41edf66e
/frameworks/base/services/java/com/android/server/input/InputManagerService.java
|