History log of /frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
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/services/core/jni/com_android_server_input_InputManagerService.cpp
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/services/core/jni/com_android_server_input_InputManagerService.cpp
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/services/core/jni/com_android_server_input_InputManagerService.cpp
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/services/core/jni/com_android_server_input_InputManagerService.cpp
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/services/core/jni/com_android_server_input_InputManagerService.cpp
19a560197950425f7e1856d5bd1216fbc680bf70 24-Nov-2015 Jun Mukai <mukai@google.com> Introduce accessibility large pointer icons.

This patch does the following things:
- add new graphic assets of large icons for accessibility needs
(imported from ChromeOS data)
- add the logic to choose the set of normal icons or accessibility icons
- make InputManagerService to observe the settings change, so that
it can reload the new resources

This patch misses non-1x graphic though, because ChromeOS doesn't
have such data.

Bug: 25778857
Change-Id: Ia5f95d47f50b3f6eea555c3af8069bc6bae0b400
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
808196f139e93395f1f331f6c7e92ddd66c05979 29-Oct-2015 Jun Mukai <mukai@google.com> Introduce animated pointer icon for STYLE_WAIT.

Change-Id: I893f8276e09351db6187c553f349008794b95690
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
5ec7420ecd0e94be0a07fc77b0bc950deb0178fd 07-Oct-2015 Jun Mukai <mukai@google.com> Use invisible icon for POINTER_ICON_STYLE_NULL.

Change-Id: I10d35bdc4da4817d769eb164e6f15e4618670a05
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
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/services/core/jni/com_android_server_input_InputManagerService.cpp
b57dd722f1dc0663417da37d3a82f8283ad3c982 24-Sep-2015 Elliott Hughes <enh@google.com> resolved conflicts for a884d81e to stage-aosp-master

Change-Id: Ice485967fa96f13786024b6939b826638e906ff0
76f6a86de25e1bf74717e047e55fd44b089673f3 19-Sep-2015 Daniel Micay <danielmicay@gmail.com> constify JNINativeMethod function pointer tables

Change-Id: I4036c924958221cbc644724f8eb01c5de3cd7954
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
a405121b5a76d37f29dfa6d95177abbac9cfb101 23-Jul-2015 Michael Wright <michaelwr@google.com> Properly synchronize interactivity state.

Volatile doesn't provide any guarantees with respect to write
visibility, so it's possible that PowerManager will tell InputManager
about a change in interactivity state, but the actual dispatching
thread will never observe it.

Also, add logging about NativeInputManager state.

Bug: 22422588
Change-Id: Ifc3add992b9009d920d80a0315ff89c9574be20d
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
357285c50a687c4ab0b5db5eb2df8e607f3e5b61 17-Apr-2015 Michael Wright <michaelwr@google.com> Rename affine transformation configuration change to be consistent.

Change-Id: I295d1d07f3727e6d0159e1ccf210ae147fd7ffa3
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
9c1c90e92e13a56401b16ce77a23959dc4a5ab63 12-Nov-2014 Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org> Fix unused variables.

The return value of jniRegisterNativeMethods is checked only in
LOG_FATAL_IF, which defines to nothing in the LOG_NDEBUG
case.

Fake a use of the 'res' variable to shut off warnings when LOG_NDEBUG.

Change-Id: I8263610f327c56897f76796fe1fbc2b325b0559f
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
8dcf593f90792272bd21e498da1aeb60fced1989 01-Oct-2014 Andreas Gampe <agampe@google.com> resolved conflicts for merge of 6290c048 to lmp-dev-plus-aosp

Change-Id: I9fd4b4402f301c3521f57b207793ab4dfdd67a12
70af00abf73160235d4efe114fcf4753007a8ff3 04-Sep-2014 Michael Wright <michaelwr@google.com> Allow for event dispatching when in non-interactive states.

We need to allow for event dispatching in non-interactive states so
that we can enable a richer set of interactions when a device is
dozing (i.e. is in a low power state with an Always-on-Display).

Bug: 17167296
Change-Id: I8ae0f544a8106cb91ff38c2309b8b57cbe2f2c72
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
4a9c3891d4f890109e02bc83fecf9bcdf56a9395 07-Jul-2014 Mike Reed <reed@google.com> kNative_8888_SkColorType is now kN32_SkColorType

Change-Id: I13421a21de611203c62c1c1c36570a8cc803907b
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
337d9d2edc262141f9b8f684e53aae5e47f0ae13 23-Apr-2014 Michael Wright <michaelwr@google.com> Move key attribute information into KeyEvent.

This consolidates all of the information that was in the native
KeyEvent and the KeyLayout files into the managed KeyEvent class.

It also moves the definition for all of the key names to the native
side, rather than having them in both places.

Change-Id: I172e3b554e7eb52c79ae2ec406ef4332e8b25ffa
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
4e5c089ef3e62e7f658e71c0be262d09bd3e399b 11-Apr-2014 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 337e764d to master

Change-Id: I8168dbf42b68c2f7b5ccb300e0080dddc627af26
037c33eae74bee2774897d969d48947f9abe254f 09-Apr-2014 Jeff Brown <jeffbrown@google.com> Plumb display power state through display manager.

Declare a new method, Display.getState() to retrieve the actual
power state of a display.

Improved documentation for Intent.ACTION_SCREEN_ON and
Intent.ACTION_SCREEN_OFF to clarify what they really mean in
terms of the interactive state of the device.

Deprecated PowerManager.isScreenOn() and replaced it with
PowerManager.isInteractive() with a more suggestive name and
better documentation.

Redirect display power state changes to go through the display
manager first and only then head over to the power manager for
legacy compatibility.

Eliminated the bright here and woke here policy flags since they
were unused. Simplified the input dispatch policy somewhat.

Ensure that screen wake locks are respected up until the point
when dozing really begins.

Fixed a regression in DreamService where onDreamingStarted
might be called before onWindowAttached.

Bug: 13133142
Bug: 13472578
Bug: 13929355
Bug: 13760290
Change-Id: Iabef96921dd554ce3768fb18619cefc3230b5fb0
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
9ecba5269b1e114439f4515a433d73d450f04769 05-Apr-2014 Michael Wright <michaelwr@google.com> Fix size_t format specifier

Change-Id: I7d4ce5e0c7bb4d9e0cc19edf68f30f6b2b054bc7
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
cc11f15f76a62ded3e403cb2bc818c6aa5bf261c 31-Mar-2014 Leon Scroggins <scroggo@google.com> Update to call new Skia APIs.

I816129d49c0118453222916f3c818eccac33663d merges a new version of
Skia that updates various APIs. Call the new ones.

SkBitmap::copyTo now takes an SkColorType instead of an
SkBitmap::Config, so do the conversion with
SkBitmapConfigToColorType or use the enum when it makes sense.

Call SkImageDecoder::decodeSubset instead of (deprecated)
SkImageDecoder::decodeRegion.

Override SkCanvas::ClipVisitor::clipRRect in ClipCopier.

In Canvas::clip calls, call SkCanvas::isClipEmpty(), which was
previously called inside the clip call, to determine the return value.

For various SkPaint effects, call the new factories (as the constructors
have been made protected).

Implement SkJavaOutputStream::bytesWritten(), overriding a new pure
virtual function on SkWStream.

Update Matrix calls to always return true (since SkMatrix calls no
longer return a value).

Depends on I816129d49c0118453222916f3c818eccac33663d (skia).

Change-Id: I5cdcea827ebff587df0bbddc0965e3e0fbf48002
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
ca9eef6203b7cfb0084f8305d4dcc5d70a7a25cd 16-Dec-2013 RoboErik <epastern@google.com> b/12068020 Make kb layouts only unique to vendor/product. Do not merge

This is a cherry-pick of https://googleplex-android-review.git.corp.google.com/#/c/399886/

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: I1f2508561992080459310d5a644dad65a9c24f1a
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
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/services/core/jni/com_android_server_input_InputManagerService.cpp
857aa7be880c53d78f72a9f227cbdf72ee68d587 28-Jan-2014 Jason Gerecke <killertofu@gmail.com> Initialize mAffineTransform and update on modification

This patch causes the InputReader to update its mAffineTransform to reflect
the currently-set calibration on startup and whenever its value is changed
through the InputManagerService.

Change-Id: I81c76e8cf168728ee140abaf148e1cd31687d5af
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
10102e4c0e501333a12b38a5cfe709d1558d84dd 21-Feb-2014 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of baaa080b to master

Change-Id: I3ee12321e298f7a2ea577a99f30c49f3bb497fae
2687550272ba061448f5d5b914700dc335299ee7 31-Jan-2014 Jeff Brown <jeffbrown@google.com> Add a new "doze mode" based on Dream components.

When a doze component has been specified in a config.xml resource
overlay, the power manager will try to start a preconfigured dream
whenever it would have otherwise gone to sleep and turned the
screen off. The dream should render whatever it intends to show
then call startDozing() to tell the power manager to put the display
into a low power "doze" state and allow the application processor
to be suspended. The dream may wake up periodically using the
alarm manager or other features to update the contents of the display.

Added several new config.xml resources related to dreams and dozing.
In particular for dozing there are two new resources that pertain to
decoupling auto-suspend mode and interactive mode from the display
state. This is a requirement to enable the application processor
and other components to be suspended while dozing. Most devices
do not support these features today.

Consolidated the power manager's NAPPING and DREAMING states into one
to simplify the logic. The NAPPING state was mostly superfluous
and simply indicated that the power manager should attempt to start
a new dream. This state is now tracked in the mSandmanSummoned field.

Added a new DOZING state which is analoguous to DREAMING. The normal
state transition is now: AWAKE -> DREAMING -> DOZING -> ASLEEP.
The PowerManager.goToSleep() method now enters the DOZING state instead
of immediately going to sleep.

While in the doze state, the screen remains on. However, we actually
tell the rest of the system that the screen is off. This is somewhat
unfortunate but much of the system makes inappropriate assumptions
about what it means for the screen to be on or off. In particular,
screen on is usually taken to indicate an interactive state where
the user is present but that's not at all true for dozing (and is
only sometimes true while dreaming). We will probably need to add
some more precise externally visible states at some point.

The DozeHardware interface encapsulates a generic microcontroller
interface to allow a doze dream for off-loading rendering or other
functions while dozing. If the device possesses an MCU HAL for dozing
then it is exposed to the DreamService here.

Removed a number of catch blocks in DreamService that caught Throwable
and attempted to cause the dream to finish itself. We actually just
want to let the process crash. Cleanup will happen automatically if
needed. Catching these exceptions results in mysterious undefined
behavior and broken dreams.

Bug: 12494706
Change-Id: Ie78336b37dde7250d1ce65b3d367879e3bfb2b8b
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
ca9bc702df5c14a89c9b8b0109a05894bf74962e 11-Feb-2014 Jeff Brown <jeffbrown@google.com> Add support for injecting events into ActivityContainers.

Modified ActivityView to inject touch events it receives back into
its activity container. The container then injects the event into
the input system along with the display id of the underlying virtual
display.

Change-Id: I23d018a2f7dd30f1f833f522eb7f143b43d8e637
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
38f96e5020b3e82b98fe97b0be363a5ad185860f 11-Feb-2014 Jeff Brown <jeffbrown@google.com> Add support for injecting events into ActivityContainers. (DO NOT MERGE)

Modified ActivityView to inject touch events it receives back into
its activity container. The container then injects the event into
the input system along with the display id of the underlying virtual
display.

Enhanced the input system to support concurrent dispatch of touch
events on multiple displays which is required for this to work.

Change-Id: I9cf1870db3be6f99a52ed9a1e3ceafe42c940093
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
d6b473713f43dec0828971854fe1018642cfaf27 11-Feb-2014 Michael Wright <michaelwr@google.com> Move inputservice over to frameworks/native

Remove all of the pieces except the PointerController and SpriteController over
to frameworks/native in preparation for inputflinger. Those two need to stay in
frameworks/base for now because they depend on Skia currently. In the long run
they should be merged into either the InputManager or the WindowManager rather
than as a part of the inputservice / inputflinger.

Try 2.

Change-Id: I84259356d3eb8efc5aefb9d6b311b5fc590ea3ed
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
453fa30ab2dbff5934e551323763200fac96d723 11-Feb-2014 Michael Wright <michaelwr@google.com> Revert "Move inputservice over to frameworks/native"

This reverts commit 89e5c7ebb37fabc4368e87e17a502db62598bd61.
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
89e5c7ebb37fabc4368e87e17a502db62598bd61 10-Feb-2014 Michael Wright <michaelwr@google.com> Move inputservice over to frameworks/native

Remove all of the pieces except the PointerController and SpriteController over
to frameworks/native in preparation for inputflinger. Those two need to stay in
frameworks/base for now because they depend on Skia currently. In the long run
they should be merged into either the InputManager or the WindowManager rather
than as a part of the inputservice / inputflinger.

Change-Id: Iebef71f3030fb3d26a5f338eb66d75bb37c17734
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp
2dfae9bea104c0594fd5641f9704f34b204abd87 08-Jan-2014 RoboErik <epastern@google.com> Merge "b/12068020 Make kb layouts only unique to vendor/product"
3f7b8d0c6c2b1b6a8d183769621f5fd9c36cfc85 08-Jan-2014 Narayan Kamath <narayan@google.com> resolved conflicts for merge of 92ae0347 to klp-modular-dev

Change-Id: I703aea4f20985a4bbda0f685254721d6480bb20f
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/services/core/jni/com_android_server_input_InputManagerService.cpp
9158825f9c41869689d6b1786d7c7aa8bdd524ce 22-Nov-2013 Amith Yamasani <yamasani@google.com> Move some system services to separate directories

Refactored the directory structure so that services can be optionally
excluded. This is step 1. Will be followed by another change that makes
it possible to remove services from the build.

Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
/frameworks/base/services/core/jni/com_android_server_input_InputManagerService.cpp