History log of /frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f1285916c3ab259b216e5f3da3dba397c8e898b8 10-Jun-2017 Wale Ogunwale <ogunwale@google.com> Added 'dumpsys activity lastanr'

Allows for dumping the activity state during the last anr. This will
also be included in collected bug reports.

Bug: 38121026
Test: Cause an anr to occur and run 'adb shell dumpsys activity lastanr'
Change-Id: I1e4200f9e5cc16bfab98e5af31fc599cdd54cd11
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
7b0f2e82af35e426f53813ade7ecf493de639623 31-Mar-2017 Brian Carlstrom <bdc@google.com> Add null check to InputMonitor.notifyANR

Followup to 7402ddf9b45efc9616676205534ce7b4fc3a13e6

Test: Start IME, induce ANR in Settings, verify /data/anr/traces.txt
Change-Id: I4ad1d48cc73ca1a4332414ff50a160c67979feef
Fixes: 36730136
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
7402ddf9b45efc9616676205534ce7b4fc3a13e6 29-Mar-2017 Wale Ogunwale <ogunwale@google.com> Correctly blame ANR on process using another process token

Activities can give their window tokens to other process to add
windows with. E.g. -1 screen on launcher. We were in correctly
blaming the process that gave out its token when an ANR occurs
because we were looking at the process associated with the activity.
This CL fixes that.

Test: manual
Change-Id: I08fca00d12ab89dc27eb104115fd375bb4e8ec66
Fixes: 36730136
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
853c99a083dc6a96694373c48f427e4d3466d4a9 22-Mar-2017 Winson Chung <winsonc@google.com> Removing per-user PiP component.

- This was added in ag/923778 for TV, where the TV recents activity, which
is started per-user, needed to reference the PiP bounds to coordinate the
layout of the PiP UI in recents. As a result of that change, the PiP
manager for both phones and TV was being instantiated multiple times,
once for the primary user, and another for secondary/managed users. With
each instantiation of the PipManager, we were re-registering the input
consumer, and once the process was killed, the input consumer was not
being cleaned up correctly and it not longer was registered with the
primary SystemUI which drives the PiP.

As of ag/1964066, the TV recents code is removed, so we can now safely
remove the PipUI component for secondary users as well, ensuring only a
single PipManager/InputConsumerController instance.

This does not prevent PiP from working in secondary users, but only
leaves the input consumer and menu controller in the primary user's
SystemUI.
- Fix some crashes when interacting with the PiP in a secondary user,
all communication between the menu controller and the menu activity
should be done in a parcelable way as the menu activity runs per-user
- Adding exception when the PipUI component is not created for the primary
user
- Initial changes to dump input consumers in WM to be able to correlate
them with SysUI's state

Bug: 35792308
Test: Ensure PiP component is not started for secondary user, verify that
it still works on secondary users

Change-Id: I3df10860227498bc37799ad296f0a4b71b87d30e
Signed-off-by: Winson Chung <winsonc@google.com>
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
61ecc1bb39c475e790a6d23afa16204e294432a9 17-Feb-2017 Winson Chung <winsonc@google.com> Fixes issues where the PiP menu activity is out of sync.

- When the menu activity is hidden or destroyed by the system, we should
reset the state so that we can restore the input consumer and show again
property next time the PiP is interacted with.
- Also ensuring that non-focused pinned stack windows are not added to the
input window list

Bug: 35462085
Bug: 34281221
Test: Relaunch a PiP activity that is single top.
Test: Launch a new task/activity from a PiP activity after
the menu is visible.

Change-Id: I43829cce50669de704caf5a720c2adf7daf92398
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
5cd907d3d6ceebf8731ef1f69347cce6f76109e9 26-Jan-2017 Wale Ogunwale <ogunwale@google.com> Alert Windows behavioral changes

- Introduced TYPE_APPLICATION_OVERLAY window type. Can be used by apps
to display windows on top of other app windows, but below critical
system windows.
- Deprecate alert window types TYPE_PHONE, TYPE_SYSTEM_ALERT,
TYPE_SYSTEM_OVERLAY, TYPE_PRIORITY_PHONE, and TYPE_SYSTEM_ERROR.
Apps should now use TYPE_APP_OVERLAY for this.
- Apps targetting O or greater are not allowed to add the old alert
window types.
Apps targetting less than O can still add the old types.
Apps with permission INTERNAL_SYSTEM_WINDOW (system signature apps) can
still add the old types.
- Z-order old alert windows types below TYPE_APPLICATION_OVERLAY if
they are added by an app without the INTERNAL_SYSTEM_WINDOW permission.

Test: android.server.cts.AlertWindowsTests
Bug: 33256752
Change-Id: I12170955a7a333151d3387c169b51c53c32164fc
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
ff73dd9c60e8616e60abcaf62d1156ba08bebc99 26-Jan-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Splitscreen for minimized state that works with resizable launchers"
e15352e516fb6ecde12866f0eb27c32470ddbded 21-Dec-2016 Matthew Ng <ngmatthew@google.com> Splitscreen for minimized state that works with resizable launchers

If a launcher is resizable, going to minimized mode (dock task and then
press home) would show a cropped height of the task at the top in a
minimized state and the fullscreen stack would show the home launcher
which takes the rest of the remaining height. If the launcher is not
resizable, it will default the original behavior.

To enable this in a launcher, add android:resizeableActivity="true" in
the AndroidManifest.xml in the <application/> tag.

Test: manual - rotating while minimized, minimizing using dragging task
or holding overview nav button, installing resizable launcher with a
non-resizable launcher
Fixes: 32504542
Change-Id: Idf4015b40f9bec81b70f146f0f2d7df8ccfb4cf0
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
3787de16d24001eeb452e1c711d4290a396e67c9 21-Dec-2016 Vladislav Kaznacheev <kaznacheev@google.com> Implement pointer capture API

When in pointer capture mode, mouse pointer disappears and
further mouse events are dispatched to the focused view
in the window which has requested capture.

The captured events have the source SOURCE_MOUSE_RELATIVE
belonging to SOURCE_CLASS_TRACKBALL. They are
dispatched through dispatchCapturedPointerEvent /
onCapturedPointerEvent. There is also a new listener.

Pointer capture mode may only be granted to a currently
focused window, and will be canceled upon a window focus change.

Test: cts-tradefed ... --test android.view.cts.PointerCaptureTest
Bug: 30897034
Change-Id: I6e5934aa415ac2b6dda1cee173d0f23e5021af84
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
26c0dfed7a0cd54abafdd0ccbb5b757506d51c76 14-Dec-2016 Wale Ogunwale <ogunwale@google.com> Support for WindowContainer controllers and listeners

- WindowContainerController class allows a component outside window manager
to create a window container and communicate directly with it to make
changes. For example, the ActivityRecord class in activity manager uses the
AppWindowContainerController class to create and communicate with
AppWindowToken window container class which is its counterpart on the window
manager side.
- WindowContainerListener interface allows a component outside WM to get
notified of changes to a window container. For example, the ActivityRecord
class in AM implements the AppWindowContainerListener interface to get
notified of changes to the AppWindowToken container.

Bug: 30060889
Test: Existing tests pass and manual testing.
Test: bit FrameworksServicesTests:com.android.server.wm.WindowContainerControllerTests
Test: bit FrameworksServicesTests:com.android.server.wm.WindowContainerTests
Change-Id: I2896bfa46a80b227052528c7da8cf4e56beab4bc
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
201708ad89d5fa32e44afe5c4a9a2cacd5f800dc 14-Dec-2016 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fix InputMonitor.updateInputWindowsLw"
2e96c63c4ce37514728ad0fc36db0225d6ad97b9 13-Dec-2016 Vladislav Kaznacheev <kaznacheev@google.com> Fix InputMonitor.updateInputWindowsLw

Drag and drop (as well as window positioning by drag)
was broken by commit 6213caa. Drag-related window
handles got wiped out by a call to clearInputWindowHandlesLw.

Bug: 33499942
Test: cts-tradefed ... android.server.cts.CrossAppDragAndDropTests
Change-Id: I2504b1b6623fc8551c8110606c06156e49bfc63d
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
72919d2c310db04fdb860e926ccb0bfe6e3aef08 09-Dec-2016 Wale Ogunwale <ogunwale@google.com> Untangle creation of Task from addition of AppToken in WM.

Makes it easier to follow what is going on and also clean-up in
preparation of stand way for AM to interact with containers in WM.

Test: Existing tests pass and manual testing
Change-Id: I91754b6d974dce2f696453cdaed175efb0f10c73
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
1e129a4212ec3b388c65db8f6ce18896362ac35c 21-Nov-2016 Wale Ogunwale <ogunwale@google.com> Reduce object allocations in WM in some frequently called methods

With the use of lambdas to get all windows in the window container
hierarchy, we need to be careful in frequently called code paths to
make sure the number of objects we allocate isn't crazy. This CL
converts some commonly called code paths that use lambda to use a
method reference for the lambda so we only need to allocate once vs.
each time the code path is executed.

Test: Perform some common operations on the phone and make sure
the object allocations that show-up in Allocator Tracker for
window manager seems reasonable

Change-Id: Ie0f245980de96ec68a4e62e76130db7d98c3f7d9
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
6213caa42d89cc446de4f8f9ba00630f166f23cc 02-Dec-2016 Wale Ogunwale <ogunwale@google.com> Revert "Revert "WindowList be gone!""

This reverts commit ffa5a9de0c127cb77ddec625fea101ddddb7ad32.

Bug: 33098800
Bug: 33098294
Test: Existing tests pass.
Change-Id: I5803a010c5a224dd1cf452a4a7beb3a4c0a043f4
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
ffa5a9de0c127cb77ddec625fea101ddddb7ad32 23-Nov-2016 Jorim Jaggi <jjaggi@google.com> Revert "WindowList be gone!"

This reverts commit 4551c8bbee4114fa884938dbe90ac0d06ca78fc5.

Reason for revert: Broke a lot of things!

Bug: 33098800
Bug: 33098294
Change-Id: I307b1c7ee39445d6155a4bbce2bf5f289de55285
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
4551c8bbee4114fa884938dbe90ac0d06ca78fc5 10-Nov-2016 Wale Ogunwale <ogunwale@google.com> WindowList be gone!

The use of DisplayContent.mWindow list to track all windows is
no longer needed as we can now get windows through the window
container hierarchy with methods like forAllWindows. The window
list was also a very complicated logic to understand and maintain,
so it won't be missed :)

Bug: 30060889
Test: Existing tests pass
Change-Id: I590cb33aa0f42bcd4a26ddce102f05e657f54144
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
dc589ac82b5fe2063f4cfd94c8ae26d43d5420a0 11-Nov-2016 Sudheer Shanka <sudheersai@google.com> Update usage of ActivityManagerNative.

- Remove references to ActivityManagerProxy.
- Add isSystemReady to ActivityManager.

Bug: 30977067
Test: cts/hostsidetests/services/activityandwindowmanager/util/run-test android.server.cts
adb shell am instrument -e class com.android.server.am.ActivityManagerTest,com.android.server.am.TaskStackChangedListenerTest \
-w com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner
Change-Id: I07390b6124fb1515821f5c0b37baf6ae74adc8fa
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
f7cab10b796d0f66eb690867ba327b4bb00165e3 26-Oct-2016 Wale Ogunwale <ogunwale@google.com> Introduced ReadOnlyWindowList

7th and Final step in making the modification of a display's
WindowList private to DisplayContent.
ReadOnlyWindowList provides an interface for external classes to
DisplayContent to access the window list without being able to
modify it. This will be important in upcoming CLs where it is
important for us to keep track of when the window list changes.

Bug: 30060889
Test: Manual testing and existing tests pass.

Change-Id: I4de0b258a40fd4b21ef9cc9e3401488f76d25f83
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
5406e7ade87c33f70c83a283781dcc48fb67cdb9 21-Oct-2016 Andrii Kulian <akulian@google.com> Apply display override config for secondary displays

Now display-specific settings, such as dimensions and orientation,
are stored in display override config. For default display it is
mirroring the global config. Each time when global config is updated,
override of the default display should be updated too and vice versa.

Test: Existing and manual tests still pass.
Change-Id: Ic6c2190092d328820f314a05bed43c875db18170
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
412754816d2b8e83f0f5f860b13f09f53d2da05f 11-Oct-2016 Winson <winsonc@google.com> Adding PIP input consumer.

- This CL provides the framework for manipulating the pinned stack using
an input policy (to be determined later) provided by the SystemUI.

Test: android.server.cts.ActivityManagerPinnedStackTests
Test: #testNonTappablePipActivity

Change-Id: I025c41fff26ed05a35d68e59f10330680ed11ea8
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
e05f5014905569d69d33ff323a3c62c046552789 17-Sep-2016 Wale Ogunwale <ogunwale@google.com> Added RootWindowContainer

RootWindowContainer will be the root/head of the window hierarchy.
Also, moved all access of DisplayContent into RootWindowContainer.

Bug: 30060889
Test: Manual testing and existing tests still pass.
Change-Id: Icdf80a4c053578fb91221e6f2b672e197054a6bf
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
64b103a8c58926f63d9ef4c037534a7df87d07ef 10-Aug-2016 Vladislav Kaznacheev <kaznacheev@google.com> Dispose WMS.DragInputEventReceiver on the correct thread

WindowManagerService.DragInputEventReceiver should be disposed
on the same handler where input is being handled. This is required
to avoid races between nativeFinishInputEvent and native dispose.

Bug: 26927018
Change-Id: Ib476dc0e8a8825e1df81f1557d48b619b7f9dd8c
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
92fc37294c474fd47b4439736c6cf700c4e46a27 05-Aug-2016 Wale Ogunwale <ogunwale@google.com> Replaced use of AppWindowToken.allAppWindows with WindowToken.windows

After ag/1290328 the 2 list now contain the same entries. The only
different is allAppWindows is not sorted and windows is. Removing
allAppWindows and only having one windows list for a token object
reduces confusion in the codebase and also removes a major source
of bugs.

Bug: 30060889
Change-Id: I6e9a3a4b52cfd686788fe18f4fd6c9b0731f10bd
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
2e2c81a8d67f6ceccf178c5c7264d27e8c72e9ff 15-Jul-2016 Chong Zhang <chz@google.com> Remove two-finger scroll specific code

Revert changes in ag/845161, ag/843943 and ag/817515 that's added
specifically for two-finger scroll mode.

Change-Id: I8679a3bd5b3907180d33d99e3a071e7edfb2ed96
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
f174ca939d180d6bd87f04f77c084e05ad5f4419 13-Apr-2016 Vladislav Kaznacheev <kaznacheev@google.com> Fix wallpaper input consumer handling in InputMonitor

Only add the wallpaper input consumer if the wallpaper is visible.
Otherwise it breaks Setup Wizard.
If there is no wallpaper at all, still add the consumer at the end.

Bug: 28026545
Change-Id: I833f59ef51f1b151fc110f204aa666398fa764f9
(cherry picked from commit e0c1761c7695929d442d051345d3d3152cd3b103)
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
b72c9ad721e5ff5b9d5a45ca4ba2608940815388 12-Apr-2016 Jorim Jaggi <jjaggi@google.com> No input for windows in minimized docked stack

Also make them unfocusable, and don't focus the docked
stack when tapping into it in that state.

Bug: 27972642
Change-Id: Ic24ff9a5f39f596fe4a2f50567566d4400f9c125
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
0d50d8660dac35f7eceb5d74756de0417095b427 30-Mar-2016 Vladislav Kaznacheev <kaznacheev@google.com> Add wallpaper input consumer to WindowManagerService

This is an input consumer similar to the one used when hiding the navbar,
but placed above wallpapers. It might be useful for processing touch
events over "desktop" in freeform MW mode.

Re-landing I9d6d28a624f750ad48fc39f9b149dd1f989cceba after fixing build.

Bug:26688904
Change-Id: I89fdabd9c72cdd4a1d7ca626c33ddc99ddea97f9
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
2769e7ebe9d9c5b7f1d10b21b32787b98522339f 31-Mar-2016 Vladislav Kaznacheev <kaznacheev@google.com> Revert "Add wallpaper input consumer to WindowManagerService"

This reverts commit 6013a558262d149023b32ab175c9b885b6c5b81d.

Change-Id: I2711afe2e97a8b9a4bd94193202cb83113b3bd7e
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
6013a558262d149023b32ab175c9b885b6c5b81d 30-Mar-2016 Vladislav Kaznacheev <kaznacheev@google.com> Add wallpaper input consumer to WindowManagerService

This is an input consumer similar to the one used when hiding the navbar,
but placed above wallpapers. It might be useful for processing touch
events over "desktop" in freeform MW mode.

Bug:26688904
Change-Id: I9d6d28a624f750ad48fc39f9b149dd1f989cceba
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
e89eeac54766633e482b51c15e99d2d93843ce26 12-Mar-2016 Wale Ogunwale <ogunwale@google.com> Added input freeze reason string.

To help debug b/27576902

Bug: 27576902
Change-Id: Ic3d2bb25842593efb11e195a1bbe19bed3bf7067
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
0bd180d8880b3d1b9677f154c034a2af840b4796 08-Dec-2015 Filip Gruszczynski <gruszczy@google.com> Improve debugging setup for window manager package.

This moves debug flags to a dedicated class and also provides a
mechanism to either have fine grained tags or one common tag for easier
grepping the logcat. This mimicks the approach in activity manager
package.

Change-Id: Ie8c08b9a3d8b182335ee5547ee05d21b5933db6b
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
b15758ab7a6481717d0d29612e870d7241061c31 17-Nov-2015 Chong Zhang <chz@google.com> Support scrolling for non-resizeable tasks in side-by-side mode

Display toast when a non-resizeable task is put into side-by-side mode.

Scroll the task upon a two-finger scroll gesture.

bug: 25433902

Change-Id: I69967056a564cfe7773afb80aa7e7ea7167a791a
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
053c8e4ef4a8cbc89506b661dd6ef51a301a895c 16-Nov-2015 Wale Ogunwale <ogunwale@google.com> Crop window input region to stack bounds.

Prevents the input region of a window from extending outside
the stack bounds. For example, if you have a non-sizeable
activity in docked mode you don't want the app getting touchs
when you tap on the side occupied by the other app.

Bug: 25710884
Change-Id: I044b4e87448fbd3eb51822e6d71e8ed8d06f55ec
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
1fcbab6ae5c99acab70eacc015d194e2c6ddd4e2 04-Nov-2015 Jorim Jaggi <jjaggi@google.com> Implement divider UX interactions

- Update visuals to spec
- Divider lifts when touching
- Implement basic version of snap points and animations
- Implement touch conflict behavior: If touched around 48x48dp
area around the handle, the divider handles all these touches.
If touched outside of the black background divider, touch goes
directly to underlying window. If touch on the black background
divider, touch is considered slippery and thus the window in
which the touch trace moves gets the touches.

Change-Id: I0307c191ae032672c4b73d439c23cf9833d3fce6
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
9cac3b4d4629f10423e293a77f3c2184ba867817 30-Oct-2015 Filip Gruszczynski <gruszczy@google.com> Fix bug preventing resizing of freeform apps.

Also move the calculation of the touchable region to WindowState, since
it calls many methods from there.

Change-Id: I7f799277f4ed8a62b1ac8240f2b21d31a095a693
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
f8a2a632023ef0bafa9c7d5a343cf84d10dbd241 28-Oct-2015 Filip Gruszczynski <gruszczy@google.com> Fix touching outside of popup not dismissing it.

We only included the exact popup window area for intercepting touches
that would dismiss the popup. We need to intercept the parent area, so
we use the task or stack associated with the window to determine which
touch events to intercept and use as dismiss. This doesn't affect which
touch events will be delivered to the window.

Bug: 25329650

Change-Id: Ie248ec67bb5328fd67b470f556cf206ce888514c
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
3ddc5d60967a5daa2ebf0ede98b71093bb8cc4ae 24-Sep-2015 Filip Gruszczynski <gruszczy@google.com> Resizing docked stack by dragging dock divider.

Change-Id: Icc9df00446780f8cd81df4654ace07f33346e901
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
61b009e0591df4fcaf5c57c6ce598044263d952f 17-Sep-2015 Wale Ogunwale <ogunwale@google.com> Don't crop home activity windows to stack bounds.

We crop windows to their stack bounds when the docked stack
exists. We don't want to do this for the home activity since
the docked stack isn't visible when the home activity is visible.

Change-Id: Ibb3157dabbb6c979358ddc2098a01c6ddf6540e8
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
3b2658011819cfe1bed61763bb666bde6e919f79 16-Sep-2015 Wale Ogunwale <ogunwale@google.com> Use stack bounds to determine input bounds for window.

We were previously using the task bounds to determine the input
bounds for the window. This doesn't work for the case where the
docked stack is next to a non-resizeable activity/task. In this
case the task is still fullscreen, but the window surface is
cropped to the stack size which isn't fullscreen since the docked
stack is up. By using the stack bounds the input region matches
what is displayed on screen.

Change-Id: Ia4d2b3a7a050eff38d651e511f5822c4428e137d
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
8e89b31a62fb9ec5ad33908c5e8e9c7ab2fd949f 10-Sep-2015 Chong Zhang <chz@google.com> Move window moving and resizing handling to WindowManager

- add a startMoving API to initiate a window move from app, once
the move starts WindowManager will take over the event handling.

- detect touch events along window's outside border and start
a resize if necessary

Change-Id: Ic7e8baba34e0aa27a43173e044ffb46e93e219e0
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
f932e56bd8abd737e471e841f175c787c4f20826 20-Aug-2015 Skuhne <skuhne@google.com> Adding a touchable area around a task

To allow task/window resizing through decors drawn
outside the task bounds (e.g. shadows) on the free form
desktop.

Bug: 23324672
Change-Id: Iaf88ec658e235aa74317a0f33d25fee83f959ac3
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
e8069dcfcff15e060fc397b9ed5ea8b915b1cfa7 18-Aug-2015 Wale Ogunwale <ogunwale@google.com> Moved window manager wallpaper control into separate class

Change-Id: Ia3c12065678992614667dc210d4611a1250ca22b
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
e4a0c5722b1d8db95dfc842d716452dbbf02c86d 30-Jun-2015 Wale Ogunwale <ogunwale@google.com> Allow stacks to hold tasks on various sizes.

Tasks are now resizeable just like stacks. Adjusting the size
of a stack will also adjust the size of all it's containing
tasks. This model allows us to be more flexible
in using stacks as workspaces (like you would have in a
desktop environment) and tasks as the resizeable windows
within the workspace.

Also added "adb shell dumpsys window visible-apps" for
getting the list of visible app windows.

Bug: 22068114
Bug: 19182363

Change-Id: I5bf77063252a5abae4e327f6fc42e607091749f9
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
f83e824216435e45f36a3587e269888f791b2a01 20-May-2015 Selim Cinek <cinek@google.com> Fixed that touches where incorrectly consumed when fullscreen

The fake window that was added when View.SYSTEM_UI_FULL_SCREEN was
set consumed all touches, even those going to the SystemUI and not
just those of windows below. The input consumer is now correctly
positioned in the window order to only capture the right touches.
Clicks to the volume panel and the heads up now correctly go to the
right place instead of just unhiding the SystemUI bars.

Bug: 21089476
Change-Id: Ib53dfc0b33b70084ca607d0f044db30b6e6c91d6
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
a6ab5c4efbbf438693fa976b54ac84c033109df0 24-Apr-2015 Wale Ogunwale <ogunwale@google.com> Cleaned-up unused session argument.

Change-Id: Iff9d0df5f1643c581767a41a1ba4b1d43e5b45d8
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
40832ac39502d7c4226b00c1d14f895ff449c613 15-Apr-2015 Michael Wright <michaelwr@google.com> am 6fb80b70: am 99e23088: am 150e0e87: Merge "fix return value scale of notifyANR()"

* commit '6fb80b704e7808e4e7cd15f6ccade1e4b6406b56':
fix return value scale of notifyANR()
def340d45e8795128aab98d9d3cc36bcac58710e 15-Apr-2015 baik.han <baik.han@lge.com> fix return value scale of notifyANR()

fix return value scale of notifyANR()
from milliseconds to nanoseconds when windowState is not null
This prevent unintended frequent method calls of notifyANR()
in a very short time.

Change-Id: Icc1f363b3ed3538821a42c080809567473bfb833
Signed-off-by: Baik Han <baik.han@lge.com>
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
165be0c70d128f0ece876d54e1c7e95ef04c6960 28-Jan-2015 Craig Mautner <cmautner@google.com> Remove TYPE_UNIVERSE_BACKGROUND from system

An experiment that is over and has been occupying space.

Fixes bug 18088522 item #7

Change-Id: Ib0fcaa24243ed9b0581143e1d5114c1fd2b0aa6e
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
26af8c197c17487ac0400a7a3310037e57eda2a0 05-Dec-2014 Filip Gruszczynski <gruszczy@google.com> am 26b18771: Merge "Private Window flag to disable touch events in WallpaperService." into lmp-sprout-dev

* commit '26b187711fdf6224e14df465a58f30f510011b49':
Private Window flag to disable touch events in WallpaperService.
b8c0694ae883b0e14beab97c947a7c121c64dda6 05-Dec-2014 Filip Gruszczynski <gruszczy@google.com> Private Window flag to disable touch events in WallpaperService.

Change-Id: I18b46340f89cbea0b6daeb1efe9c31656f4e1a5d
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
c08eab81f30a3120ec0929d3508b4a78d498e1ff 11-Nov-2014 Craig Mautner <cmautner@google.com> Show error dialogs over apps that dismiss keyguard

Error dialogs absorb all input to ensure that they are not missed.
This can cause the screen to lock up if they are not displayed but
are still absorbing touches. This was what was happening when there
was an error dialog up at the same time as a phone call came in as
in b/17648830.

This fix recognizes when an app is dismissing the keyguard and
forces any error dialogs to be shown over such an app.

This also removes the private flags from the input system as they
are no longer needed.

Fixes bug 17648830.

Change-Id: I5c98b8265a1448b445fdb2f745fc78892f8656a4
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
a6863ad62296a5280504165a1fbc70523940a9c8 05-Sep-2014 Michael Wright <michaelwr@google.com> Merge "Allow for event dispatching when in non-interactive states." into lmp-dev
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/java/com/android/server/wm/InputMonitor.java
3818c9261ceaa3a700ff984fbcd245faeede38d7 02-Sep-2014 Michael Wright <michaelwr@google.com> Add support for SW_CAMERA_LENS_COVER.

This allows for magic cover type accessories to launch the camera application.

Bug: 16034563
Change-Id: I0a46ef885737d964a1482c99f41145053d559faf
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
858737d08d9a2db7ef230a17975cd4ded709c3c5 11-Apr-2014 Jeff Brown <jeffbrown@google.com> resolved conflicts for merge of 4e5c089e to master-lockscreen-dev

Change-Id: I456ff6be1e39b65f3e0efeb7fb1924e71d11f6b1
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/java/com/android/server/wm/InputMonitor.java
380ecb81db52a9d0197ca969951d07b91c20d2b9 14-Mar-2014 Jorim Jaggi <jjaggi@google.com> Make Keyguard a library and make StatusBar the new Keyguard.

This change achieves a couple of things:
- Let Keyguard be a library, so we can use it in SystemUI.
- Introduce FLAG_KEYGUARD for windows and deprecate TYPE_KEYGUARD. Make
all the TYPE_KEYGUARD behaviour dependant on the flag.
- Implement a new KeyguardService in SystemUI, and bind that service
from PhoneWindowManager.
- Introduce BaseStatusBar.setKeyguardState and inflate
KeyguardSimpleHostView there and use FLAG_KEYGUARD for the window, such
that the status bar window essentially gets the Keyguard.

Bug: 13635952
Change-Id: I059d80d8b9b9818a778ab685f4672ea2694def63
/frameworks/base/services/core/java/com/android/server/wm/InputMonitor.java
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/java/com/android/server/wm/InputMonitor.java
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/java/com/android/server/wm/InputMonitor.java