Update from https://crrev.com/312600
TBR=jamesr@chromium.org
Review URL: https://codereview.chromium.org/863253002
diff --git a/build/android/pylib/gtest/test_package_apk.py b/build/android/pylib/gtest/test_package_apk.py
index b4c67e6..cdb6daf 100644
--- a/build/android/pylib/gtest/test_package_apk.py
+++ b/build/android/pylib/gtest/test_package_apk.py
@@ -55,11 +55,11 @@
device.RunShellCommand('rm -f ' + self._GetFifo())
def _WatchFifo(self, device, timeout, logfile=None):
- for i in range(10):
+ for i in range(100):
if device.FileExists(self._GetFifo()):
- logging.info('Fifo created.')
+ logging.info('Fifo created. Slept for %f secs' % (i * 0.5))
break
- time.sleep(i)
+ time.sleep(0.5)
else:
raise device_errors.DeviceUnreachableError(
'Unable to find fifo on device %s ' % self._GetFifo())
@@ -67,14 +67,14 @@
args += ['shell', 'cat', self._GetFifo()]
return pexpect.spawn('adb', args, timeout=timeout, logfile=logfile)
- def _StartActivity(self, device):
+ def _StartActivity(self, device, force_stop=True):
device.StartActivity(
intent.Intent(package=self._package_info.package,
activity=self._package_info.activity,
action='android.intent.action.MAIN'),
# No wait since the runner waits for FIFO creation anyway.
blocking=False,
- force_stop=True)
+ force_stop=force_stop)
#override
def ClearApplicationState(self, device):
@@ -119,7 +119,10 @@
try:
self.tool.SetupEnvironment()
self._ClearFifo(device)
- self._StartActivity(device)
+ # Doesn't need to stop an Activity because ClearApplicationState() is
+ # always called before this call and so it is already stopped at this
+ # point.
+ self._StartActivity(device, force_stop=False)
finally:
self.tool.CleanUpEnvironment()
logfile = android_commands.NewLineNormalizer(sys.stdout)