| Index: build/android/pylib/android_commands.py
|
| diff --git a/build/android/pylib/android_commands.py b/build/android/pylib/android_commands.py
|
| index 7a32eaa4f25de1f16fcc7cc99caac78afe033a9f..6d5b0460e9f403faeef82da8d4277273d578237b 100644
|
| --- a/build/android/pylib/android_commands.py
|
| +++ b/build/android/pylib/android_commands.py
|
| @@ -319,6 +319,23 @@ class AndroidCommands(object):
|
| if out.strip() != 'remount succeeded':
|
| raise errors.MsgException('Remount failed: %s' % out)
|
|
|
| + def WaitForSdCardReady(self, timeout_time):
|
| + """Wait for the SD card ready before pushing data into it."""
|
| + logging.info('Waiting for SD card ready...')
|
| + sdcard_ready = False
|
| + attempts = 0
|
| + wait_period = 5
|
| + while not sdcard_ready and attempts * wait_period < timeout_time:
|
| + output = self.RunShellCommand('ls /sdcard/')
|
| + if len(output) > 0:
|
| + sdcard_ready = True
|
| + else:
|
| + time.sleep(wait_period)
|
| + attempts += 1
|
| + if not sdcard_ready:
|
| + raise errors.WaitForResponseTimedOutError(
|
| + 'SD card not ready after %s seconds' % timeout_time)
|
| +
|
| # It is tempting to turn this function into a generator, however this is not
|
| # possible without using a private (local) adb_shell instance (to ensure no
|
| # other command interleaves usage of it), which would defeat the main aim of
|
|
|