[go: nahoru, domu]

History log of /frameworks/base/core/java/android/hardware/input/InputManager.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
778e3b91acad6da04341d439f0c66a4fd09def4f 16-May-2016 Michael Wright <michaelwr@google.com> DO NOT MERGE Remove Pointer Capture API

The underlying implementation needs to be completely rethought. If a
process crashed while you were in pointer capture mode, you were
pretty much stuck in it. If the mouse happened to move outside of
your bounds right before you called the API, you'd never actually get
an event (whatever it was hovering over would). There's no easy way
for the system to tell you when you enter or exit this mode because
it doesn't actually track who the current request is from.

These are all solvable, but not in the N time frame. Maybe next time.

Bug: 26830970
Change-Id: I03efd63c499b86dc278491ca3284566c1965581f
/frameworks/base/core/java/android/hardware/input/InputManager.java
f9d9ce7705475874c82af04eb9b208a7fb556792 13-May-2016 Michael Wright <michaelwr@google.com> DO NOT MERGE Rename PointerIcon and Pointer Capture APIs

This is a response to API council feedback.

Bug: 26830970
Change-Id: Ia2d284b5c1ab8365bedfdc37d129be4b8146036b
/frameworks/base/core/java/android/hardware/input/InputManager.java
46ac35d09b0a1ba7af7eb4c14293a7978edcd2ab 21-Apr-2016 Yohei Yukawa <yukawa@google.com> Accept null subtype in InputMethodSubtypeHandle.

There are two types of IMEs:
A. IMEs that have one or more subtypes
B. IMEs that have no subtype

The initial implementation to update hardware keyboard layout per
subtype change of layout (See Bug 25752812) has supported IMEs in the
category A only, and IMEs in the category B are just ignored in both
system and Settings app.

In order to support IMEs in the category B, InputMethodSubtypeHandle and
related methods need to accept null InputMethodSubtype. Technically
this is a straightforward change, because in InputMethodManagerService
we have already used InputMethodUtils.NOT_A_SUBTYPE_ID for those IMEs in
the category B. We also need to update Setting App, which will be done
by a different CL [1].

[1]: I46b9c5b018f08e3eaa4614a0893db0be91652f3c

Bug: 28182650
Change-Id: Ia013784a594ad3beaf30976d047f5ac0fa8185be
/frameworks/base/core/java/android/hardware/input/InputManager.java
682c24e22811d4ee17ae1cd61bf255c3f7e722b7 12-Apr-2016 Trevor Johns <trevorjohns@google.com> Resolve merge conflicts of a5060ee to nyc-dev

This undoes the automerger skip which occured in
commit e740c84dc32180214a7fd157105d6c18d30408ee and
replays it as a standard (NOT -s ours) merge.

Change-Id: If5a47be26f73d6a0735c425cd66310a3e2a89086
/frameworks/base/core/java/android/hardware/input/InputManager.java
112d05678b7de53da8948f62dd2e968274f62244 08-Mar-2016 Andrii Kulian <akulian@google.com> Caps Lock toggle with Meta + Alt (2/2)

Caps Lock implementation in frameworks/base

Bug: 27482276
Change-Id: Ie0d8145c049197d4591e012832a710e4f751d2ac
/frameworks/base/core/java/android/hardware/input/InputManager.java
c53962d4ede82a03b62f0c8bb86bd0da090a15eb 02-Mar-2016 Jeff Sharkey <jsharkey@android.com> When system server goes down, crash apps more.

Apps making calls into the system server may end up persisting
internal state or making security decisions based on the perceived
success or failure of a call, or the default values returned.

The reality is that if the system process just died, init will be
along shortly to kill all running apps, so we should have no problem
rethrowing the RemoteException as a RuntimeException.

Bug: 27364859
Change-Id: Ife0bcb079636c88d54c44d17eb580409fd79028b
/frameworks/base/core/java/android/hardware/input/InputManager.java
d5f7ed9fe9dc3590f6ef9cb7470e29e836a95907 19-Jan-2016 Michael Wright <michaelwr@google.com> Switch and store keyboard layouts based on IME subtype.

Rather than associate the keyboard layout solely with a specific
hardware model, we should also associate it with a given IME subtype.
This lets users switch between various languages and have the
keyboard change in unison with them so they can use the appropriate
layouts for each language.

This change adds initial support for associating IME subtypes and
keyboard layouts. We still need to:
- Remove support for the old style of layout association once the
Settings apps begins to use the new APIs
- Automatically select an appropriate layout based on the given
subtype (or set a reasonable universal default such as QWERTY)

Bug: 25752812

Change-Id: Ie88ce1ab77dbfe03ab51d89c1dc9e0a7ddbb3216
/frameworks/base/core/java/android/hardware/input/InputManager.java
0748342d2ed264c01384fbaa4446a702a8824813 30-Oct-2015 Michael Wright <michaelwr@google.com> Bandaid over broken keyboard layout selection process.

Automatically select a keyboard layout if we have one that is device
specific and is made for our current locale. Also, provide a way of
requesting layouts for a specific input device rather than just
getting all of them. Custom layouts may not be appropriate for
typical keyboard devices (and custom keyboards may not work with
typical layouts).

Bug: 25062009

Change-Id: I3a0ae5ad68f956b936485791ceb78c347fad7d4f
/frameworks/base/core/java/android/hardware/input/InputManager.java
347e5d498f4c216d588e98776a386d8bdf93d05c 03-Dec-2015 Jun Mukai <mukai@google.com> Introduce pointer capture API.

This depends on I4189eb4d93f50c2865b7a325727be5ceebcc71f8 of
frameworks/native.

Bug: 5452473
Change-Id: Ie21e521f3e5c581f976dc0feb5d84bfa48b046cd
/frameworks/base/core/java/android/hardware/input/InputManager.java
d4eaef7f4c5a5d281de4fff272cd33e892e26264 30-Oct-2015 Jun Mukai <mukai@google.com> Make public pointer icon API with custom icons.

BUG: 25778347, 23804184
Change-Id: If138b97c750c912e9848412c27b65004899961eb
/frameworks/base/core/java/android/hardware/input/InputManager.java
112449ca2983898b14e5e4dfe5d9d50b66f803a5 22-Oct-2015 Michael Wright <michaelwr@google.com> Fixup InputManager javadoc

Change-Id: I708b62db4861c7d391258b980a2447e08ed0d89e
/frameworks/base/core/java/android/hardware/input/InputManager.java
244f776855b2144a7fe16be09c67e5b189e8dcfd 21-Oct-2015 Michael Wright <michaelwr@google.com> resolve merge conflicts of f013c3f111 to master.

Change-Id: I2045187f8fa948a1733cb9a2cdc0a69ae97b5907
1db5397d88e722b1ab82ccb2b429ceec1179ccd8 12-Sep-2015 Jun Mukai <mukai@google.com> Allow changing mouse pointer icon for the current context.

Right now, it only supports I-beam on EditText, but further
rules will come in the future.

The png files for the icons are from chromium.

Bug: 24180385
Change-Id: I8de4ec8a5412b4830c08aa232c5083841c5c751c
/frameworks/base/core/java/android/hardware/input/InputManager.java
9209c9cd9a6f779d0d9d86f9b2e368df564fa6bb 03-Sep-2015 Michael Wright <michaelwr@google.com> Add SystemUI component to watch for keyboard attachment.

Add a new SystemUI component to watch for keyboard attachment /
detachment. If the config specifies the name of a keyboard that is
packaged with the device, then SystemUI will ask the user if they
would like to enable BT (if disabled) and then attempt to pair to the
device.

Bug: 22876536
Change-Id: I786db35524d49706d5e61d8b8bc71194d50113f3
/frameworks/base/core/java/android/hardware/input/InputManager.java
56dafdb5ae5f1618e3583c2835759108e8c0d99f 03-Sep-2015 Michael Wright <michaelwr@google.com> am 7f7ffa37: am 87e4c951: am 59c1a0e1: am 8ae90587: Merge "Add TabletModeChangedListener for SystemUI." into mnc-dr-dev

* commit '7f7ffa3722ef90a7bf5611221c4a4c9d06823a38':
Add TabletModeChangedListener for SystemUI.
9ddb864babab156428d5a001e9b14b1541d964ed 01-Sep-2015 Tim Kilbourn <tkilbourn@google.com> Fix input device listener registration in InputManager

If registerInputDeviceListener is called without enumerating input
devices, the InputManager will never register itself with the input
service.

Bug: 10415556
Change-Id: I0ae50bd1d4b8264ffe308b96e75c01cd47cf2387
/frameworks/base/core/java/android/hardware/input/InputManager.java
39e5e947447bc611205404ae6a4690656f1aa0f9 19-Aug-2015 Michael Wright <michaelwr@google.com> Add TabletModeChangedListener for SystemUI.

Bug: 23256614
Change-Id: I6e5d636c24a84846cfad84da800911a469689dda
/frameworks/base/core/java/android/hardware/input/InputManager.java
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/core/java/android/hardware/input/InputManager.java
7b41467704f941b11af6aace3e40993afc7f6c6f 18-Jul-2014 John Spurlock <jspurlock@google.com> Zen mode filtering should use new usage constants.

Refactor stream-based calls to usage-based calls.

Bug:15279516
Change-Id: I3f7757d8123c14670e2ad5f8e6aa4e9803efe7ec
/frameworks/base/core/java/android/hardware/input/InputManager.java
8fd7f1ed7c11d35b3f2a97878e68ee38a551dd15 11-Apr-2014 Christoph Studer <chstuder@google.com> Rename basePkg to opPkg

...and actually populate the field correctly.

Change-Id: I3ce52efedb919d6af75dc9c3532e47764c467cac
/frameworks/base/core/java/android/hardware/input/InputManager.java
1af30c7ac480e5d335f267a3ac3b2e6c748ce240 10-Mar-2014 John Spurlock <jspurlock@google.com> Add stream-level suppression to vibrate/audio services.

- Add new audio restriction layer to app-ops. Restrictions add
additional constraints to audio operations at a stream-level.
Restrictions do not affect the persistable state, and are purely
additive: that is, they can only impose additional contstraints, not
enable something that has already been disabled. Restrictions
also support a whitelisted set of exempt package names.

- Add new audio stream-level checks to app-ops.

- Implement a provisional OP_PLAY_AUDIO suppression to three
java entry points MediaPlayer, AudioTrack, & SoundPool.

- Enhance vibrator api to take stream information as an optional
hint - the constants correspond to AudioManager stream types.
OP_VIBRATE now supports the stream-level restriction check.

- Simplify Vibrator subclasses by adding default implementations
for two .vibrate calls.

- Migrate NoMan's zen-mode control to use the new app-ops
stream-level restriction mechanism.

Change-Id: Ifae8952647202f728cf1c73e881452660c704678
/frameworks/base/core/java/android/hardware/input/InputManager.java
d52207423225bcd99e94276e9d0fc2cb5f905602 10-Mar-2014 Jason Gerecke <killertofu@gmail.com> Support unique calibration per orientation

Updates the format of the calibration XML to store the Surface rotation
that a specific calibration applies to. Also updates the API to require
a rotation value for get/set, and has the native framework supply this
according to the current rotation whenever it changes.

Change-Id: I72b6703f646dd18db537365c5c9843f720a5f41e
/frameworks/base/core/java/android/hardware/input/InputManager.java
d6396d67201fb2b64d13070324bb115c9c23b08a 28-Jan-2014 Jason Gerecke <killertofu@gmail.com> Allow persistence of input device calibration

This patch extends the PersistentDataStore store to read and write
input device calibration data. A new SET_INPUT_CALIBRATION permission
grants apps the ability to update this information, and a new
TouchCalibration class is used to wrap the raw calibration data.

Change-Id: I4daac2b15ef03616ea5b068c1e77bebd0ce7b8c1
/frameworks/base/core/java/android/hardware/input/InputManager.java
fb290df3c9a6f37ec050163029e25844de2f8590 16-Dec-2013 RoboErik <epastern@google.com> b/12068020 Make kb layouts only unique to vendor/product

Instead of storing a kb layout per device descriptor (which is expected
to be unique), store it for each vendor/product. This way we can keep
a consistent layout between identical but physically different keyboards.

There are some corner cases this is expected to fail on, namely devices
that incorrectly have the same vendor/product id. Devices that don't
define a vendor/product id will continue to use the descriptor to store
layout files.

Change-Id: Id0890d13e1c859eaf993d4831b7b1acbaf5df80f
/frameworks/base/core/java/android/hardware/input/InputManager.java
b7b2d4b490f5dd672e0b00ced579dc052e3637e9 20-Aug-2013 Michael Wright <michaelwr@google.com> Expose API to query devices for supported keys

Change-Id: I29f230e19c6f851b4b72b2fc8dd41f5abcba4631
/frameworks/base/core/java/android/hardware/input/InputManager.java
f265ea9d8307282ff1da3915978625a94fc2859e 01-Feb-2013 Dianne Hackborn <hackbod@google.com> App ops: vibration, neighboring cells, dialing, etc.

Improve handling of vibration op, so that apps are
better blamed (there is now a hidden vibrator API that
supplies the app to blame, and the system now uses this
when vibrating on behalf of an app).

Add operation for retrieving neighboring cell information.

Add a new op for calling a phone number. This required
plumbing information about the launching package name through
the activity manager, which required changing the internal
startActivity class, which required hitting a ton of code that
uses those internal APIs.

Change-Id: I3f8015634fdb296558f07fe654fb8d53e5c94d07
/frameworks/base/core/java/android/hardware/input/InputManager.java
8f124842dd16125062f048257889c85380879b68 31-Jan-2013 Jeff Brown <jeffbrown@google.com> Avoid redundant store into array list.

Prevent possible NPE in case of a race condition
while fetching input devices by descriptor.

Change-Id: I68d0738386c6723d943e595f829981b0890c2b3a
/frameworks/base/core/java/android/hardware/input/InputManager.java
3a084af2e90849aaa8beb3a610189e3399c63ea0 07-Nov-2012 Kenny Root <kroot@google.com> Correct executable bit for source files

Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
/frameworks/base/core/java/android/hardware/input/InputManager.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/core/java/android/hardware/input/InputManager.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/core/java/android/hardware/input/InputManager.java
2f0957607411b99810226ad38d59cf18718b86d0 11-May-2012 Jeff Brown <jeffbrown@google.com> Rename kcm attribute to keyboardLayout.

Bug: 6478076
Change-Id: I7fc0d8eb36d03a628d070f8fd6ea1e1464b1a163
/frameworks/base/core/java/android/hardware/input/InputManager.java
9e6d4b035d4f012d23264d3d2bc946b1ca02dba1 20-Apr-2012 Jeff Brown <jeffbrown@google.com> Lost the race.

Bug: 6373370
Change-Id: If42a3de66b1d407b06064e91ff578dc9ca5ceed8
/frameworks/base/core/java/android/hardware/input/InputManager.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/core/java/android/hardware/input/InputManager.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/core/java/android/hardware/input/InputManager.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/core/java/android/hardware/input/InputManager.java
e38fdfae9196afd1bdc14c5ec6c12793af1e2550 06-Apr-2012 Jeff Brown <jeffbrown@google.com> Add a unique input device descriptor.

The purpose of the input device descriptor is to make it possible
to associate persistent settings for each input device, such as the
keyboard layout.

The descriptor is a hash of the information we have about the
device, such as its vendor id, product id, unique id, name,
or location.

Bug: 6110399
Change-Id: Idb80f946819b3f0dbf4e661bb0a753dbc2b60981
/frameworks/base/core/java/android/hardware/input/InputManager.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/core/java/android/hardware/input/InputManager.java
9df6e7a926ce480baf70e97ee1b9ea387193f6ad 05-Apr-2012 Jeff Brown <jeffbrown@google.com> Initial commit of InputManager and keyboard layout API.

Added a new InputManager service for interacting with input
devices and configuring them. This will be the focus of
an upcoming refactoring.

Added an API for registering keyboard layouts with the system
based on the use of a broadcast receiver. Applications can
register their own keyboard layouts simply by declaring a
broadcast receiver in their manifests.

Added the skeleton of a package that will ultimately contain
the keyboard layouts and other input device related resources
that are part of the base system.

Bug: 6110399
Change-Id: Ie01b0ef4adbd5198f6f012e73964bdef3c51805c
/frameworks/base/core/java/android/hardware/input/InputManager.java