use lazy android device registration

Bug: 79166173
Bug: 110084022
Test: run vts-selftest
Change-Id: I09471345cd2c9f1bdaa6a14e6a0171d8f8deeaf2
Merged-In: I09471345cd2c9f1bdaa6a14e6a0171d8f8deeaf2
(cherry picked from commit 1dc2acbc05aa50c5dd5aa4ac04a2c0cb32970305)
(cherry picked from commit 8ffce155163afe47487f8706981407b8dbc4682f)
diff --git a/api/hwbinder/VtsKernelHwBinderTest.py b/api/hwbinder/VtsKernelHwBinderTest.py
index f038c0e..d5bc7cb 100644
--- a/api/hwbinder/VtsKernelHwBinderTest.py
+++ b/api/hwbinder/VtsKernelHwBinderTest.py
@@ -32,10 +32,8 @@
     """
 
     def setUpClass(self):
-        self.dut = self.registerController(android_device)[0]
-        self.dut.shell.InvokeTerminal(
-            "VtsKernelHwBinderTest")  # creates a remote shell instance.
-        self.shell = self.dut.shell.VtsKernelHwBinderTest
+        self.dut = self.android_devices[0]
+        self.shell = self.dut.shell
 
     def testHwbinderExistence(self):
         """Checks that hwbinder node exists.
diff --git a/api/proc/VtsKernelProcFileApiTest.py b/api/proc/VtsKernelProcFileApiTest.py
index 1b44a78..3fe7a41 100644
--- a/api/proc/VtsKernelProcFileApiTest.py
+++ b/api/proc/VtsKernelProcFileApiTest.py
@@ -126,10 +126,8 @@
     _PROC_SYS_ABI_SWP_FILE_PATH = "/proc/sys/abi/swp"
 
     def setUpClass(self):
-        self.dut = self.registerController(android_device)[0]
-        self.dut.shell.InvokeTerminal(
-            "KernelApiTest")  # creates a remote shell instance.
-        self.shell = self.dut.shell.KernelApiTest
+        self.dut = self.android_devices[0]
+        self.shell = self.dut.shell
 
     def runProcFileTest(self, test_object):
         """Reads from the file and checks that it parses and the content is valid.
diff --git a/api/selinux/VtsKernelSelinuxFileApiTest.py b/api/selinux/VtsKernelSelinuxFileApiTest.py
index 95d8185..8f4f681 100644
--- a/api/selinux/VtsKernelSelinuxFileApiTest.py
+++ b/api/selinux/VtsKernelSelinuxFileApiTest.py
@@ -38,10 +38,8 @@
     """
 
     def setUpClass(self):
-        self.dut = self.registerController(android_device)[0]
-        self.dut.shell.InvokeTerminal(
-            "KernelSelinuxFileApiTest")  # creates a remote shell instance.
-        self.shell = self.dut.shell.KernelSelinuxFileApiTest
+        self.dut = self.android_devices[0]
+        self.shell = self.dut.shell
 
     def runSelinuxFileTest(self, test_object):
         """Reads the file and checks that its content and permissions are valid.
diff --git a/api/sysfs/KernelApiSysfsTest.py b/api/sysfs/KernelApiSysfsTest.py
index b68faa8..7d09100 100644
--- a/api/sysfs/KernelApiSysfsTest.py
+++ b/api/sysfs/KernelApiSysfsTest.py
@@ -31,10 +31,8 @@
     '''Test cases which check sysfs files.'''
 
     def setUpClass(self):
-        self.dut = self.registerController(android_device)[0]
-        self.dut.shell.InvokeTerminal(
-            'default')  # creates a remote shell instance.
-        self.shell = self.dut.shell.default
+        self.dut = self.android_devices[0]
+        self.shell = self.dut.shell
 
     def ConvertToInteger(self, text):
         '''Check whether a given text is interger.
diff --git a/config/VtsKernelConfigTest.py b/config/VtsKernelConfigTest.py
index 95a71b7..73cf7b0 100644
--- a/config/VtsKernelConfigTest.py
+++ b/config/VtsKernelConfigTest.py
@@ -47,10 +47,8 @@
     def setUpClass(self):
         required_params = [keys.ConfigKeys.IKEY_DATA_FILE_PATH]
         self.getUserParams(required_params)
-        self.dut = self.registerController(android_device)[0]
-        self.dut.shell.InvokeTerminal(
-            "KernelConfigTest")  # creates a remote shell instance.
-        self.shell = self.dut.shell.KernelConfigTest
+        self.dut = self.android_devices[0]
+        self.shell = self.dut.shell
         self._temp_dir = tempfile.mkdtemp()
         self.supported_kernel_versions = version.getSupportedKernels(self.dut)
         self.release_dir = self.getReleaseDir()
diff --git a/linux_kselftest/LinuxKselftestTest.py b/linux_kselftest/LinuxKselftestTest.py
index f88d62b..5d1e9d0 100644
--- a/linux_kselftest/LinuxKselftestTest.py
+++ b/linux_kselftest/LinuxKselftestTest.py
@@ -49,9 +49,8 @@
         logging.info("%s: %s", keys.ConfigKeys.IKEY_DATA_FILE_PATH,
             self.data_file_path)
 
-        self._dut = self.registerController(android_device)[0]
-        self._dut.shell.InvokeTerminal("one")
-        self._shell = self._dut.shell.one
+        self._dut = self.android_devices[0]
+        self._shell = self._dut.shell
 
         if self.test_type == "presubmit":
             self._testcases = config.KSFT_CASES_PRESUBMIT
diff --git a/memory/MemorySystemStressTest.py b/memory/MemorySystemStressTest.py
index 468703f..ea687b2 100644
--- a/memory/MemorySystemStressTest.py
+++ b/memory/MemorySystemStressTest.py
@@ -32,11 +32,10 @@
     _STRESSAPPTEST = '/data/local/tmp/32/stressapptest'
 
     def setUpClass(self):
-        self.dut = self.registerController(android_device)[0]
+        self.dut = self.android_devices[0]
 
         # Set executable bit on stressapptest binary
-        self.dut.shell.InvokeTerminal("sat_setup")
-        self.shell = getattr(self.dut.shell, "sat_setup")
+        self.shell = self.dut.shell
         cmd = ['chmod +x', str(self._STRESSAPPTEST)]
         self.shell.Execute(' '.join(cmd))
 
diff --git a/syscall/VtsKernelSyscallExistenceTest.py b/syscall/VtsKernelSyscallExistenceTest.py
index ce4f3ee..72366be 100644
--- a/syscall/VtsKernelSyscallExistenceTest.py
+++ b/syscall/VtsKernelSyscallExistenceTest.py
@@ -26,10 +26,9 @@
 
 class VtsKernelSyscallExistenceTest(base_test.BaseTestClass):
     """Tests to verify kernel syscall interface."""
-    TEST_SHELL_NAME = "my_shell1"
 
     def setUpClass(self):
-        self.dut = self.registerController(android_device)[0]
+        self.dut = self.android_devices[0]
         if "arm" in self.dut.cpu_abi:
             self.ARCH64__NR_name_to_handle_at = 264
             self.ARCH64__NR_open_by_handle_at = 265
@@ -40,11 +39,9 @@
             self.ARCH64__NR_uselib = 134
         else:
             asserts.fail("Unknown CPU ABI: %s" % self.dut.cpu_abi)
-        self.dut.shell.InvokeTerminal(self.TEST_SHELL_NAME)
 
     def tearDown(self):
-        self.dut.shell.InvokeTerminal(self.TEST_SHELL_NAME)
-        results = getattr(self.dut.shell, self.TEST_SHELL_NAME).Execute("which ls")
+        results = self.dut.shell.Execute("which ls")
         logging.info(str(results[const.STDOUT]))
         asserts.assertEqual(len(results[const.STDOUT]), 1)
         asserts.assertEqual(results[const.STDOUT][0].strip(), "/system/bin/ls")
@@ -83,7 +80,7 @@
     def SyscallDisabled(self, syscallid):
         """Helper function to check if a syscall is disabled."""
         target = "/data/local/tmp/64/vts_test_binary_syscall_exists"
-        results = getattr(self.dut.shell, self.TEST_SHELL_NAME).Execute([
+        results = self.dut.shell.Execute([
             "chmod 755 %s" % target,
             "%s %d" % (target, syscallid)
         ])
diff --git a/version/VtsKernelVersionTest.py b/version/VtsKernelVersionTest.py
index 0e999f0..b2edeb5 100644
--- a/version/VtsKernelVersionTest.py
+++ b/version/VtsKernelVersionTest.py
@@ -37,10 +37,8 @@
     def setUpClass(self):
         required_params = [keys.ConfigKeys.IKEY_DATA_FILE_PATH]
         self.getUserParams(required_params)
-        self.dut = self.registerController(android_device)[0]
-        self.dut.shell.InvokeTerminal(
-            "KernelVersionTest")  # creates a remote shell instance.
-        self.shell = self.dut.shell.KernelVersionTest
+        self.dut = self.android_devices[0]
+        self.shell = self.dut.shell
         self.supported_kernel_versions = version.getSupportedKernels(self.dut)
 
     def testKernelVersion(self):