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

Commit b4262ef8 authored by Antonio Kantek's avatar Antonio Kantek
Browse files

Prepare IME ConcurrentMultiUserTest to move to cts

This changelist prepares the Concurrent Multi-User IME tests to be moved
from fw/base to cts/tests/inputmethod. It renames the test activity and
resources to avoid conflicts with the already existing ones in IME CTS.

These tests have been consistently passing for some time and are now
mature enough for inclusion in CTS. In CTS, they will execute
exclusively on devices supporting concurrent multi-user IME.

Bug: 401547377
Test: atest ConcurrentMultiUserTest
Flag: TEST_ONLY
Change-Id: Ia90fd88a5cd06fe5f1e8570a44e4936e062829eb
parent a1dc2c6a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@

    <application>
        <uses-library android:name="android.test.runner" />
        <activity android:name=".MainActivity"
        <activity android:name=".ConcurrentMultiUserTestActivity"
                  android:theme="@android:style/Theme.Material.NoActionBar"
                  android:exported="true">
            <intent-filter>
+0 −0

File moved.

+9 −4
Original line number Diff line number Diff line
@@ -49,6 +49,8 @@ import androidx.test.core.app.ActivityScenario;

import com.android.bedstead.harrier.BedsteadJUnit4;
import com.android.bedstead.harrier.DeviceState;
import com.android.bedstead.harrier.annotations.RequireAutomotive;
import com.android.bedstead.multiuser.annotations.RequireVisibleBackgroundUsers;
import com.android.compatibility.common.util.SystemUtil;

import org.junit.After;
@@ -63,6 +65,9 @@ import java.io.IOException;
import java.util.List;

@RunWith(BedsteadJUnit4.class)
@RequireVisibleBackgroundUsers(reason = "This test requires a background visible user in addition"
        + " to the current visible user to test concurrent multi-user IME scenarios")
@RequireAutomotive(reason = "Visible background users are currently only supported on automotive")
public final class ConcurrentMultiUserTest {

    @ClassRule
@@ -71,14 +76,14 @@ public final class ConcurrentMultiUserTest {

    private static final ComponentName TEST_ACTIVITY = new ComponentName(
            getInstrumentation().getTargetContext().getPackageName(),
            MainActivity.class.getName());
            ConcurrentMultiUserTestActivity.class.getName());
    private final Context mContext = getInstrumentation().getTargetContext();
    private final InputMethodManager mInputMethodManager =
            mContext.getSystemService(InputMethodManager.class);
    private final UiAutomation mUiAutomation = getInstrumentation().getUiAutomation();

    private ActivityScenario<MainActivity> mActivityScenario;
    private MainActivity mActivity;
    private ActivityScenario<ConcurrentMultiUserTestActivity> mActivityScenario;
    private ConcurrentMultiUserTestActivity mActivity;
    private int mPeerUserId;

    @Before
@@ -88,7 +93,7 @@ public final class ConcurrentMultiUserTest {
        launchActivityAsUserSync(TEST_ACTIVITY, mPeerUserId);

        // Launch driver activity.
        mActivityScenario = ActivityScenario.launch(MainActivity.class);
        mActivityScenario = ActivityScenario.launch(ConcurrentMultiUserTestActivity.class);
        mActivityScenario.onActivity(activity -> mActivity = activity);
        mUiAutomation.adoptShellPermissionIdentity(INTERACT_ACROSS_USERS_FULL);
    }
+2 −2
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ import com.android.compatibility.common.util.concurrentuser.ConcurrentUserActivi
/**
 * An {@link Activity} to test multiple concurrent session IME.
 */
public final class MainActivity extends ConcurrentUserActivityBase {
public final class ConcurrentMultiUserTestActivity extends ConcurrentUserActivityBase {
    private static final String TAG = ConcurrentMultiUserTest.class.getSimpleName();
    private static final long WAIT_IME_TIMEOUT_MS = 3000;

@@ -55,7 +55,7 @@ public final class MainActivity extends ConcurrentUserActivityBase {
        Log.v(TAG, "Create MainActivity as user "
                + Process.myUserHandle().getIdentifier() + " on display "
                + getDisplay().getDisplayId());
        setContentView(R.layout.main_activity);
        setContentView(R.layout.concurrent_multi_user_test_activity);
        mEditor = requireViewById(R.id.edit_text);
    }