Loading services/core/java/com/android/server/input/InputManagerService.java +12 −0 Original line number Diff line number Diff line Loading @@ -116,6 +116,7 @@ import com.android.server.DisplayThread; import com.android.server.LocalServices; import com.android.server.Watchdog; import com.android.server.input.InputManagerInternal.LidSwitchCallback; import com.android.server.inputmethod.InputMethodManagerInternal; import com.android.server.policy.WindowManagerPolicy; import libcore.io.IoUtils; Loading Loading @@ -165,6 +166,8 @@ public class InputManagerService extends IInputManager.Stub private final InputManagerHandler mHandler; private DisplayManagerInternal mDisplayManagerInternal; private InputMethodManagerInternal mInputMethodManagerInternal; // Context cache used for loading pointer resources. private Context mPointerIconDisplayContext; Loading Loading @@ -510,6 +513,8 @@ public class InputManagerService extends IInputManager.Stub } mDisplayManagerInternal = LocalServices.getService(DisplayManagerInternal.class); mInputMethodManagerInternal = LocalServices.getService(InputMethodManagerInternal.class); mSettingsObserver.registerAndUpdate(); Loading Loading @@ -2790,6 +2795,13 @@ public class InputManagerService extends IInputManager.Stub yPosition)).sendToTarget(); } // Native callback. @SuppressWarnings("unused") boolean isInputMethodConnectionActive() { return mInputMethodManagerInternal != null && mInputMethodManagerInternal.isAnyInputConnectionActive(); } /** * Callback interface implemented by the Window Manager. */ Loading services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java +11 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,12 @@ public abstract class InputMethodManagerInternal { */ public abstract void switchKeyboardLayout(int direction); /** * Returns true if any InputConnection is currently active. * {@hide} */ public abstract boolean isAnyInputConnectionActive(); /** * Fake implementation of {@link InputMethodManagerInternal}. All the methods do nothing. */ Loading Loading @@ -268,6 +274,11 @@ public abstract class InputMethodManagerInternal { @Override public void switchKeyboardLayout(int direction) { } @Override public boolean isAnyInputConnectionActive() { return false; } }; /** Loading services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +8 −0 Original line number Diff line number Diff line Loading @@ -5937,6 +5937,14 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub } } } /** * Returns true if any InputConnection is currently active. */ @Override public boolean isAnyInputConnectionActive() { return mCurInputConnection != null; } } @BinderThread Loading services/core/jni/com_android_server_input_InputManagerService.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,7 @@ static struct { jmethodID notifySensorEvent; jmethodID notifySensorAccuracy; jmethodID notifyStylusGestureStarted; jmethodID isInputMethodConnectionActive; jmethodID notifyVibratorState; jmethodID filterInputEvent; jmethodID interceptKeyBeforeQueueing; Loading Loading @@ -322,6 +323,7 @@ public: TouchAffineTransformation getTouchAffineTransformation(JNIEnv* env, jfloatArray matrixArr); void notifyStylusGestureStarted(int32_t deviceId, nsecs_t eventTime) override; bool isInputMethodConnectionActive() override; /* --- InputDispatcherPolicyInterface implementation --- */ Loading Loading @@ -1306,6 +1308,14 @@ void NativeInputManager::notifyStylusGestureStarted(int32_t deviceId, nsecs_t ev checkAndClearExceptionFromCallback(env, "notifyStylusGestureStarted"); } bool NativeInputManager::isInputMethodConnectionActive() { JNIEnv* env = jniEnv(); const jboolean result = env->CallBooleanMethod(mServiceObj, gServiceClassInfo.isInputMethodConnectionActive); checkAndClearExceptionFromCallback(env, "isInputMethodConnectionActive"); return result; } bool NativeInputManager::filterInputEvent(const InputEvent& inputEvent, uint32_t policyFlags) { ATRACE_CALL(); JNIEnv* env = jniEnv(); Loading Loading @@ -2743,6 +2753,9 @@ int register_android_server_InputManager(JNIEnv* env) { GET_METHOD_ID(gServiceClassInfo.notifyStylusGestureStarted, clazz, "notifyStylusGestureStarted", "(IJ)V"); GET_METHOD_ID(gServiceClassInfo.isInputMethodConnectionActive, clazz, "isInputMethodConnectionActive", "()Z"); GET_METHOD_ID(gServiceClassInfo.notifyVibratorState, clazz, "notifyVibratorState", "(IZ)V"); GET_METHOD_ID(gServiceClassInfo.notifyNoFocusedWindowAnr, clazz, "notifyNoFocusedWindowAnr", Loading Loading
services/core/java/com/android/server/input/InputManagerService.java +12 −0 Original line number Diff line number Diff line Loading @@ -116,6 +116,7 @@ import com.android.server.DisplayThread; import com.android.server.LocalServices; import com.android.server.Watchdog; import com.android.server.input.InputManagerInternal.LidSwitchCallback; import com.android.server.inputmethod.InputMethodManagerInternal; import com.android.server.policy.WindowManagerPolicy; import libcore.io.IoUtils; Loading Loading @@ -165,6 +166,8 @@ public class InputManagerService extends IInputManager.Stub private final InputManagerHandler mHandler; private DisplayManagerInternal mDisplayManagerInternal; private InputMethodManagerInternal mInputMethodManagerInternal; // Context cache used for loading pointer resources. private Context mPointerIconDisplayContext; Loading Loading @@ -510,6 +513,8 @@ public class InputManagerService extends IInputManager.Stub } mDisplayManagerInternal = LocalServices.getService(DisplayManagerInternal.class); mInputMethodManagerInternal = LocalServices.getService(InputMethodManagerInternal.class); mSettingsObserver.registerAndUpdate(); Loading Loading @@ -2790,6 +2795,13 @@ public class InputManagerService extends IInputManager.Stub yPosition)).sendToTarget(); } // Native callback. @SuppressWarnings("unused") boolean isInputMethodConnectionActive() { return mInputMethodManagerInternal != null && mInputMethodManagerInternal.isAnyInputConnectionActive(); } /** * Callback interface implemented by the Window Manager. */ Loading
services/core/java/com/android/server/inputmethod/InputMethodManagerInternal.java +11 −0 Original line number Diff line number Diff line Loading @@ -185,6 +185,12 @@ public abstract class InputMethodManagerInternal { */ public abstract void switchKeyboardLayout(int direction); /** * Returns true if any InputConnection is currently active. * {@hide} */ public abstract boolean isAnyInputConnectionActive(); /** * Fake implementation of {@link InputMethodManagerInternal}. All the methods do nothing. */ Loading Loading @@ -268,6 +274,11 @@ public abstract class InputMethodManagerInternal { @Override public void switchKeyboardLayout(int direction) { } @Override public boolean isAnyInputConnectionActive() { return false; } }; /** Loading
services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +8 −0 Original line number Diff line number Diff line Loading @@ -5937,6 +5937,14 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub } } } /** * Returns true if any InputConnection is currently active. */ @Override public boolean isAnyInputConnectionActive() { return mCurInputConnection != null; } } @BinderThread Loading
services/core/jni/com_android_server_input_InputManagerService.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,7 @@ static struct { jmethodID notifySensorEvent; jmethodID notifySensorAccuracy; jmethodID notifyStylusGestureStarted; jmethodID isInputMethodConnectionActive; jmethodID notifyVibratorState; jmethodID filterInputEvent; jmethodID interceptKeyBeforeQueueing; Loading Loading @@ -322,6 +323,7 @@ public: TouchAffineTransformation getTouchAffineTransformation(JNIEnv* env, jfloatArray matrixArr); void notifyStylusGestureStarted(int32_t deviceId, nsecs_t eventTime) override; bool isInputMethodConnectionActive() override; /* --- InputDispatcherPolicyInterface implementation --- */ Loading Loading @@ -1306,6 +1308,14 @@ void NativeInputManager::notifyStylusGestureStarted(int32_t deviceId, nsecs_t ev checkAndClearExceptionFromCallback(env, "notifyStylusGestureStarted"); } bool NativeInputManager::isInputMethodConnectionActive() { JNIEnv* env = jniEnv(); const jboolean result = env->CallBooleanMethod(mServiceObj, gServiceClassInfo.isInputMethodConnectionActive); checkAndClearExceptionFromCallback(env, "isInputMethodConnectionActive"); return result; } bool NativeInputManager::filterInputEvent(const InputEvent& inputEvent, uint32_t policyFlags) { ATRACE_CALL(); JNIEnv* env = jniEnv(); Loading Loading @@ -2743,6 +2753,9 @@ int register_android_server_InputManager(JNIEnv* env) { GET_METHOD_ID(gServiceClassInfo.notifyStylusGestureStarted, clazz, "notifyStylusGestureStarted", "(IJ)V"); GET_METHOD_ID(gServiceClassInfo.isInputMethodConnectionActive, clazz, "isInputMethodConnectionActive", "()Z"); GET_METHOD_ID(gServiceClassInfo.notifyVibratorState, clazz, "notifyVibratorState", "(IZ)V"); GET_METHOD_ID(gServiceClassInfo.notifyNoFocusedWindowAnr, clazz, "notifyNoFocusedWindowAnr", Loading