Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 28be584a authored by Adrian Roos's avatar Adrian Roos
Browse files

IMMS tests: fix broken tests

The test relied on another unrelated test
initializing the ContentProvider that DeviceConfig uses.

After Ia6f2ee781c431088cbb3417c1b6bac86cfce4c13, this is
no longer happening. Working around it for now to unblock tests.

Fixes: 272229177
Test: atest DefaultImeVisibilityApplierTest
Change-Id: I51e4f28b885b6dbdf64e759d5978b89c9039db6b
parent c728095c
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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);
    }
}
+11 −0
Original line number Diff line number Diff line
@@ -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 =
@@ -230,6 +239,8 @@ public class InputMethodManagerServiceTestBase {

    @After
    public void tearDown() {
        mInputMethodManagerService.mInputMethodDeviceConfigs.destroy();

        if (mServiceThread != null) {
            mServiceThread.quitSafely();
        }