summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-12-07 12:11:41 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2023-12-07 12:11:41 +0000
commit29039ada1a0f3921699f212830adfd34e5ad31bc (patch)
treedf27762550944b33bbb1eabf6e257d4f6d5e3b1d
parenta8c4010408ce50c6659153a5457bb427c451ad88 (diff)
parent539a419cf93efa512a20c07c2a0e3fbf2bff8bc9 (diff)
downloadplatform_testing-android14-mainline-conscrypt-release.tar.gz
Snap for 11190379 from 539a419cf93efa512a20c07c2a0e3fbf2bff8bc9 to mainline-conscrypt-releaseaml_con_341511080aml_con_341410300android14-mainline-conscrypt-release
Change-Id: I441dc259bbf18b1fb0b5f5d2b012092297e6409b
-rw-r--r--libraries/car-helpers/multiuser-helper/Android.bp1
-rw-r--r--libraries/car-helpers/multiuser-helper/src/android/platform/helpers/MultiUserHelper.java17
-rw-r--r--tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToExistingSecondaryUser.java6
-rw-r--r--tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToNewGuest.java6
-rw-r--r--tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToNewSecondaryUser.java6
5 files changed, 18 insertions, 18 deletions
diff --git a/libraries/car-helpers/multiuser-helper/Android.bp b/libraries/car-helpers/multiuser-helper/Android.bp
index 9fd8040cf..32f4911b9 100644
--- a/libraries/car-helpers/multiuser-helper/Android.bp
+++ b/libraries/car-helpers/multiuser-helper/Android.bp
@@ -25,6 +25,7 @@ java_library_static {
static_libs: [
"android.car-test-stubs",
"androidx.test.runner",
+ "compatibility-device-util-axt",
"ub-uiautomator",
],
}
diff --git a/libraries/car-helpers/multiuser-helper/src/android/platform/helpers/MultiUserHelper.java b/libraries/car-helpers/multiuser-helper/src/android/platform/helpers/MultiUserHelper.java
index bf48642cc..35b75f832 100644
--- a/libraries/car-helpers/multiuser-helper/src/android/platform/helpers/MultiUserHelper.java
+++ b/libraries/car-helpers/multiuser-helper/src/android/platform/helpers/MultiUserHelper.java
@@ -24,12 +24,15 @@ import android.car.user.UserSwitchResult;
import android.car.util.concurrent.AsyncFuture;
import android.content.Context;
import android.content.pm.UserInfo;
+import android.os.Build;
import android.os.SystemClock;
import android.os.UserManager;
import android.support.test.uiautomator.UiDevice;
import androidx.test.InstrumentationRegistry;
+import com.android.compatibility.common.util.SystemUtil;
+
import java.io.IOException;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
@@ -42,6 +45,8 @@ public class MultiUserHelper {
/** For testing purpose we allow a wide range of switching time. */
private static final int USER_SWITCH_TIMEOUT_SECOND = 300;
+ private static final String SWITCH_USER_COMMAND = "cmd car_service switch-user ";
+
private static MultiUserHelper sMultiUserHelper;
private CarUserManager mCarUserManager;
private UserManager mUserManager;
@@ -102,6 +107,11 @@ public class MultiUserHelper {
* @param id Id of the user to switch to
*/
public void switchToUserId(int id) throws Exception {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
+ switchUserUsingShell(id);
+ return;
+ }
+
final CountDownLatch latch = new CountDownLatch(1);
// A UserLifeCycleListener to wait for user switch event. It is equivalent to
// UserSwitchObserver#onUserSwitchComplete callback
@@ -177,4 +187,11 @@ public class MultiUserHelper {
.findFirst()
.orElse(null);
}
+
+ private void switchUserUsingShell(int userId) throws Exception {
+ String retStr = SystemUtil.runShellCommand(SWITCH_USER_COMMAND + userId);
+ if (!retStr.contains("STATUS_SUCCESSFUL")) {
+ throw new Exception("failed to switch to user: " + userId);
+ }
+ }
}
diff --git a/tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToExistingSecondaryUser.java b/tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToExistingSecondaryUser.java
index 3aa6efd8a..4b6cd79e1 100644
--- a/tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToExistingSecondaryUser.java
+++ b/tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToExistingSecondaryUser.java
@@ -18,14 +18,12 @@ package android.platform.scenario.multiuser;
import android.app.UiAutomation;
import android.content.pm.UserInfo;
-import android.os.Build;
import android.os.SystemClock;
import android.platform.helpers.MultiUserHelper;
import android.platform.test.scenario.annotation.Scenario;
import androidx.test.platform.app.InstrumentationRegistry;
-import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -51,10 +49,6 @@ public class SwitchToExistingSecondaryUser {
/*
TODO: Create setup util API
*/
- // Execute these tests only on devices running Android T or higher
- Assume.assumeTrue(
- "Skipping below Android T", Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU);
-
// Execute user manager APIs with elevated permissions
mUiAutomation = getUiAutomation();
// TODO: b/302175460 - update minimum SDK version
diff --git a/tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToNewGuest.java b/tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToNewGuest.java
index 00897dea0..facc1ac6f 100644
--- a/tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToNewGuest.java
+++ b/tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToNewGuest.java
@@ -18,14 +18,12 @@ package android.platform.scenario.multiuser;
import android.app.UiAutomation;
import android.content.pm.UserInfo;
-import android.os.Build;
import android.os.SystemClock;
import android.platform.helpers.MultiUserHelper;
import android.platform.test.scenario.annotation.Scenario;
import androidx.test.platform.app.InstrumentationRegistry;
-import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -51,10 +49,6 @@ public class SwitchToNewGuest {
/*
TODO: Create setup util API
*/
- // Execute these tests only on devices running Android T or higher
- Assume.assumeTrue(
- "Skipping below Android T", Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU);
-
// Execute user manager APIs with elevated permissions
mUiAutomation = getUiAutomation();
// TODO: b/302175460 - update minimum SDK version
diff --git a/tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToNewSecondaryUser.java b/tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToNewSecondaryUser.java
index 4feedeced..7696f6ce6 100644
--- a/tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToNewSecondaryUser.java
+++ b/tests/automotive/health/multiuser/src/android/platform/scenario/multiuser/nonui/SwitchToNewSecondaryUser.java
@@ -18,14 +18,12 @@ package android.platform.scenario.multiuser;
import android.app.UiAutomation;
import android.content.pm.UserInfo;
-import android.os.Build;
import android.os.SystemClock;
import android.platform.helpers.MultiUserHelper;
import android.platform.test.scenario.annotation.Scenario;
import androidx.test.platform.app.InstrumentationRegistry;
-import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -52,10 +50,6 @@ public class SwitchToNewSecondaryUser {
TODO(b/194536236): Refactor setup code in multiuser nonui tests
* and create setup util API instead
*/
- // Execute these tests only on devices running Android T or higher
- Assume.assumeTrue(
- "Skipping below Android T", Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU);
-
// Execute user manager APIs with elevated permissions
mUiAutomation = getUiAutomation();
// TODO: b/302175460 - update minimum SDK version