diff options
| author | 2023-03-09 11:05:26 +0000 | |
|---|---|---|
| committer | 2023-03-09 11:05:26 +0000 | |
| commit | c840f6b9224acec5ee9c357e06988781813301b7 (patch) | |
| tree | c4155d461e862e99157d07407edb55593b82c523 | |
| parent | e15b521e28acca6720bd869d4987780e2a32e946 (diff) | |
| parent | 28be584ac4dcb68e6f2baf0d03ec933ee7f2edb4 (diff) | |
Merge "IMMS tests: fix broken tests" into udc-dev
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(); } |