Not using shell command to enable test provider
Shell command can kill app
Test: presubmit
Bug: 188806432
Change-Id: Id512eb16d26cc4b324574a2a6a15f4805e426b9f
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
index 8b9ae69..065af00 100644
--- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
+++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
@@ -66,7 +66,6 @@
import com.android.launcher3.ResourceUtils;
import com.android.launcher3.testing.TestProtocol;
-import com.android.systemui.shared.system.ContextUtils;
import com.android.systemui.shared.system.QuickStepContract;
import org.junit.Assert;
@@ -246,16 +245,12 @@
ComponentName cn = new ComponentName(pi.packageName, pi.name);
if (pm.getComponentEnabledSetting(cn) != COMPONENT_ENABLED_STATE_ENABLED) {
- if (TestHelpers.isInLauncherProcess()) {
+ mInstrumentation.getUiAutomation().adoptShellPermissionIdentity(
+ android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE);
+ try {
pm.setComponentEnabledSetting(cn, COMPONENT_ENABLED_STATE_ENABLED, DONT_KILL_APP);
- } else {
- try {
- final int userId = ContextUtils.getUserId(getContext());
- mDevice.executeShellCommand(
- "pm enable --user " + userId + " " + cn.flattenToString());
- } catch (IOException e) {
- fail(e.toString());
- }
+ } finally {
+ mInstrumentation.getUiAutomation().dropShellPermissionIdentity();
}
}
}
@@ -305,7 +300,7 @@
public boolean isTwoPanels() {
return getTestInfo(TestProtocol.REQUEST_IS_TWO_PANELS)
- .getBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD);
+ .getBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD);
}
private void setForcePauseTimeout(long timeout) {