Loading services/core/java/com/android/server/inputmethod/ImeTrackerService.java +5 −2 Original line number Diff line number Diff line Loading @@ -59,13 +59,16 @@ public final class ImeTrackerService extends IImeTracker.Stub { private static final long TIMEOUT_MS = 10_000; /** Handler for registering timeouts for live entries. */ private final Handler mHandler = new Handler(Looper.myLooper(), null /* callback */, true /* async */); private final Handler mHandler; /** Singleton instance of the History. */ @GuardedBy("ImeTrackerService.this") private final History mHistory = new History(); ImeTrackerService(@NonNull Looper looper) { mHandler = new Handler(looper, null /* callback */, true /* async */); } @NonNull @Override public synchronized IBinder onRequestShow(int uid, @ImeTracker.Origin int origin, Loading services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +10 −8 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ import android.os.Debug; import android.os.Handler; import android.os.IBinder; import android.os.LocaleList; import android.os.Looper; import android.os.Message; import android.os.Parcel; import android.os.Process; Loading Loading @@ -1105,7 +1106,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub new SoftInputShowHideHistory(); @NonNull private final ImeTrackerService mImeTrackerService = new ImeTrackerService(); private final ImeTrackerService mImeTrackerService; class SettingsObserver extends ContentObserver { int mUserId; Loading Loading @@ -1662,6 +1663,8 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub true /* allowIo */); thread.start(); mHandler = Handler.createAsync(thread.getLooper(), this); mImeTrackerService = new ImeTrackerService(serviceThreadForTesting != null ? serviceThreadForTesting.getLooper() : Looper.getMainLooper()); // Note: SettingsObserver doesn't register observers in its constructor. mSettingsObserver = new SettingsObserver(mHandler); mWindowManagerInternal = LocalServices.getService(WindowManagerInternal.class); Loading Loading @@ -4613,8 +4616,10 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub info.requestWindowName, info.imeControlTargetName, info.imeLayerTargetName, info.imeSurfaceParentName)); if (statsToken != null) { mImeTrackerService.onImmsUpdate(statsToken.mBinder, info.requestWindowName); } } @BinderThread private void hideMySoftInput(@NonNull IBinder token, int flags, Loading Loading @@ -4654,15 +4659,12 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); } @VisibleForTesting ImeVisibilityStateComputer getVisibilityStateComputer() { return mVisibilityStateComputer; } @VisibleForTesting ImeVisibilityApplier getVisibilityApplier() { synchronized (ImfLock.class) { return mVisibilityApplier; } } @GuardedBy("ImfLock.class") void setEnabledSessionLocked(SessionState session) { Loading services/core/java/com/android/server/inputmethod/TEST_MAPPING +3 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,9 @@ "imports": [ { "path": "frameworks/base/core/java/android/view/inputmethod" }, { "path": "frameworks/base/services/tests/InputMethodSystemServerTests" } ] } services/tests/InputMethodSystemServerTests/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ android_test { ], srcs: [ "src/server/**/*.java", "src/com/android/server/inputmethod/**/*.java", ], static_libs: [ Loading services/tests/InputMethodSystemServerTests/TEST_MAPPING 0 → 100644 +13 −0 Original line number Diff line number Diff line { "presubmit": [ { "name": "FrameworksInputMethodSystemServerTests", "options": [ {"include-filter": "com.android.server.inputmethod"}, {"exclude-annotation": "android.platform.test.annotations.FlakyTest"}, {"exclude-annotation": "androidx.test.filters.FlakyTest"}, {"exclude-annotation": "org.junit.Ignore"} ] } ] } Loading
services/core/java/com/android/server/inputmethod/ImeTrackerService.java +5 −2 Original line number Diff line number Diff line Loading @@ -59,13 +59,16 @@ public final class ImeTrackerService extends IImeTracker.Stub { private static final long TIMEOUT_MS = 10_000; /** Handler for registering timeouts for live entries. */ private final Handler mHandler = new Handler(Looper.myLooper(), null /* callback */, true /* async */); private final Handler mHandler; /** Singleton instance of the History. */ @GuardedBy("ImeTrackerService.this") private final History mHistory = new History(); ImeTrackerService(@NonNull Looper looper) { mHandler = new Handler(looper, null /* callback */, true /* async */); } @NonNull @Override public synchronized IBinder onRequestShow(int uid, @ImeTracker.Origin int origin, Loading
services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +10 −8 Original line number Diff line number Diff line Loading @@ -89,6 +89,7 @@ import android.os.Debug; import android.os.Handler; import android.os.IBinder; import android.os.LocaleList; import android.os.Looper; import android.os.Message; import android.os.Parcel; import android.os.Process; Loading Loading @@ -1105,7 +1106,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub new SoftInputShowHideHistory(); @NonNull private final ImeTrackerService mImeTrackerService = new ImeTrackerService(); private final ImeTrackerService mImeTrackerService; class SettingsObserver extends ContentObserver { int mUserId; Loading Loading @@ -1662,6 +1663,8 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub true /* allowIo */); thread.start(); mHandler = Handler.createAsync(thread.getLooper(), this); mImeTrackerService = new ImeTrackerService(serviceThreadForTesting != null ? serviceThreadForTesting.getLooper() : Looper.getMainLooper()); // Note: SettingsObserver doesn't register observers in its constructor. mSettingsObserver = new SettingsObserver(mHandler); mWindowManagerInternal = LocalServices.getService(WindowManagerInternal.class); Loading Loading @@ -4613,8 +4616,10 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub info.requestWindowName, info.imeControlTargetName, info.imeLayerTargetName, info.imeSurfaceParentName)); if (statsToken != null) { mImeTrackerService.onImmsUpdate(statsToken.mBinder, info.requestWindowName); } } @BinderThread private void hideMySoftInput(@NonNull IBinder token, int flags, Loading Loading @@ -4654,15 +4659,12 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); } @VisibleForTesting ImeVisibilityStateComputer getVisibilityStateComputer() { return mVisibilityStateComputer; } @VisibleForTesting ImeVisibilityApplier getVisibilityApplier() { synchronized (ImfLock.class) { return mVisibilityApplier; } } @GuardedBy("ImfLock.class") void setEnabledSessionLocked(SessionState session) { Loading
services/core/java/com/android/server/inputmethod/TEST_MAPPING +3 −0 Original line number Diff line number Diff line Loading @@ -2,6 +2,9 @@ "imports": [ { "path": "frameworks/base/core/java/android/view/inputmethod" }, { "path": "frameworks/base/services/tests/InputMethodSystemServerTests" } ] }
services/tests/InputMethodSystemServerTests/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ android_test { ], srcs: [ "src/server/**/*.java", "src/com/android/server/inputmethod/**/*.java", ], static_libs: [ Loading
services/tests/InputMethodSystemServerTests/TEST_MAPPING 0 → 100644 +13 −0 Original line number Diff line number Diff line { "presubmit": [ { "name": "FrameworksInputMethodSystemServerTests", "options": [ {"include-filter": "com.android.server.inputmethod"}, {"exclude-annotation": "android.platform.test.annotations.FlakyTest"}, {"exclude-annotation": "androidx.test.filters.FlakyTest"}, {"exclude-annotation": "org.junit.Ignore"} ] } ] }