Correct the target app token for input method window

The root cause is:
There is a defect in window manager service: When a new
activity that can be ime target is added into window manager
but the Z order of input method window don't need to be
changed, then the target app token of input method window
would not be updated to new one. This defect may cause that
the layer of input method window is calculated incorrectly.

The solution:
Correct the target app token for input method window.

Change-Id: I008311e3c9b1cf5fc320b614d8675c183c506d50
Fix race condition in ActivityThread.completeRemoveProvider()

This should solve the problem when exceptions like below are thrown:
java.lang.IllegalStateException: unstableCount < 0: -1
android.os.Parcel.readException()
android.os.Parcel.readException()
android.app.ActivityManagerProxy.refContentProvider()
android.app.ActivityThread.releaseProvider()

Change-Id: I97ca9f7f0b57221bc3aa41727936292cc79b92c9
Hybrid Toggle
Custom view for hybrid toggle

displays DPI, Layout and Colors for the foreground app

Change-Id: I8b989365ec7a23bcd72780abf9eeb4e57eafd556
prevent viewpager from sneaking in

Change-Id: I16ed8866182cba7a2bbba7f4eb2937d794ed9b72
Open paprefs on long-press

Change-Id: I40411cd0fc54c7bc5e647e407f6b454178c50b4b
Derp

Change-Id: If3d359fd425609ddd581f9a428f78588612ed536
Make package of paprefs a final variable
Caps

Change-Id: I1e5fa2d8681492ad579586ccabb9876e64573a12
SysUI: createAsSharedAcrossUsers multiuser crash

Change-Id: I586c94eb0d21cc86731b1abb2e1f09dbbef7eed9
SysUI/HybridToggle: do not launch with default intent

Change-Id: I0330f49a9c70b631b3cef794c92e07c82d8b0504
Code cleanup

A couple of fixes and some organization (untested but should work)
Fix build

Change-Id: If5a9d51d8522c9cb7b3d93c66baf287b29c71187
HT: quickapply, activity flags

Change-Id: Ie32e8c865eb457795af8c894911630c473b3afe9