summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Adrian Roos <roosa@google.com> 2023-03-09 11:05:26 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-03-09 11:05:26 +0000
commitc840f6b9224acec5ee9c357e06988781813301b7 (patch)
treec4155d461e862e99157d07407edb55593b82c523
parente15b521e28acca6720bd869d4987780e2a32e946 (diff)
parent28be584ac4dcb68e6f2baf0d03ec933ee7f2edb4 (diff)
Merge "IMMS tests: fix broken tests" into udc-dev
-rw-r--r--services/core/java/com/android/server/inputmethod/InputMethodDeviceConfigs.java7
-rw-r--r--services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/InputMethodManagerServiceTestBase.java11
2 files changed, 18 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodDeviceConfigs.java b/services/core/java/com/android/server/inputmethod/InputMethodDeviceConfigs.java
index dc2799e8e434..6cd2493cfdff 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodDeviceConfigs.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodDeviceConfigs.java
@@ -21,6 +21,8 @@ import static android.provider.InputMethodManagerDeviceConfig.KEY_HIDE_IME_WHEN_
import android.app.ActivityThread;
import android.provider.DeviceConfig;
+import com.android.internal.annotations.VisibleForTesting;
+
/**
* Class for the device-level configuration related to the input method manager
* platform features in {@link DeviceConfig}.
@@ -56,4 +58,9 @@ final class InputMethodDeviceConfigs {
public boolean shouldHideImeWhenNoEditorFocus() {
return mHideImeWhenNoEditorFocus;
}
+
+ @VisibleForTesting
+ void destroy() {
+ DeviceConfig.removeOnPropertiesChangedListener(mDeviceConfigChangedListener);
+ }
}
diff --git a/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/InputMethodManagerServiceTestBase.java b/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/InputMethodManagerServiceTestBase.java
index 9501b9604fa0..7cd55f326366 100644
--- a/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/InputMethodManagerServiceTestBase.java
+++ b/services/tests/InputMethodSystemServerTests/src/com/android/server/inputmethod/InputMethodManagerServiceTestBase.java
@@ -65,6 +65,7 @@ import com.android.server.wm.WindowManagerInternal;
import org.junit.After;
import org.junit.Before;
+import org.junit.BeforeClass;
import org.mockito.Mock;
import org.mockito.MockitoSession;
import org.mockito.quality.Strictness;
@@ -121,6 +122,14 @@ public class InputMethodManagerServiceTestBase {
protected InputMethodManagerService mInputMethodManagerService;
protected ServiceThread mServiceThread;
+ @BeforeClass
+ public static void setupClass() {
+ // Make sure DeviceConfig's lazy-initialized ContentProvider gets
+ // a real instance before we stub out all system services below.
+ // TODO(b/272229177): remove dependency on real ContentProvider
+ new InputMethodDeviceConfigs().destroy();
+ }
+
@Before
public void setUp() throws RemoteException {
mMockingSession =
@@ -231,6 +240,8 @@ public class InputMethodManagerServiceTestBase {
@After
public void tearDown() {
+ mInputMethodManagerService.mInputMethodDeviceConfigs.destroy();
+
if (mServiceThread != null) {
mServiceThread.quitSafely();
}