Halo derp
derp
fb: add back all keyboard IME features back (1/2)

this commit adds:

- ime switcher notification - thanks cm
- slims fullscreen disable on landscape
- slims force autorotation on IME
- volume button control for navigate in the message - thanks cm
- slims force to show always enter key

some fixes to the 4.2/4.3 implementations + added full multiuser
support for all this features

cheers

Change-Id: I71e93c39620cc171e658b2d7e26491bac97c651d

Conflicts:
	core/java/android/inputmethodservice/InputMethodService.java
	core/java/com/android/internal/statusbar/IStatusBar.aidl
	core/java/com/android/internal/statusbar/IStatusBarService.aidl
	core/res/res/values/slim_symbols.xml
	packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
	services/java/com/android/server/InputMethodManagerService.java
	services/java/com/android/server/StatusBarManagerService.java
MultiWindow

Change-Id: Ie5860c2105ad9c971157b41d65f8fab337461ef6
Signed-off-by: scott <scott@ubuntu>

Conflicts:
	core/java/android/app/Activity.java
	core/java/android/inputmethodservice/InputMethodService.java
	core/java/android/view/IWindowManager.aidl
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
	policy/src/com/android/internal/policy/impl/PhoneWindow.java
	services/java/com/android/server/wm/WindowManagerService.java

Conflicts:
	core/java/android/view/IWindowManager.aidl
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
	policy/src/com/android/internal/policy/impl/PhoneWindow.java
	services/java/com/android/server/am/ActivityStack.java
	services/java/com/android/server/wm/WindowManagerService.java
fb: Fix wrong IME state handlings on keyboard switches

this change introduced some slim keyboard features

https://github.com/SlimRoms/frameworks_base/commit/d51b14e667fe0dfed02c5080fbea97c349a12889

We assumed that calling updateFromSettingsLocked(true) is in all value changes
a possible way to simplify the process. In reality this fails when the user
switches eg between 2 IME keyboards several times due that we call every
time

                        mIPackageManager.setApplicationEnabledSetting(imm.getPackageName(),
                                PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,
                                PackageManager.DONT_KILL_APP, mSettings.getCurrentUserId(),
                                mContext.getBasePackageName());

which results in wrong mCurMethodId which ends in method calling which should not be called
and result in an NPE and hotreboot due of dieing service.

To fix it go only for showinputmethod feature the old way and restore for all other
value changes AOSP behaviour and check specifically if enabledChanged is true or not
based on the getEnabledInputMethodsStr() method during we lock on mMethodMap

Thanks for the detailed report to Natakranta

Change-Id: I2931ca5a65c56999ba9ce7a7f4f7e71437a4bec8
Signed-off-by: scott <scott@ubuntu>

Conflicts:
	services/java/com/android/server/InputMethodManagerService.java

Conflicts:
	services/java/com/android/server/InputMethodManagerService.java