Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(294)

Side by Side Diff: build/android/devil/android/device_utils.py

Issue 1416703003: [Android] Add a configurable environment for devil/. (RELAND 2) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Provides a variety of device interactions based on adb. 5 """Provides a variety of device interactions based on adb.
6 6
7 Eventually, this will be based on adb_wrapper. 7 Eventually, this will be based on adb_wrapper.
8 """ 8 """
9 # pylint: disable=unused-argument 9 # pylint: disable=unused-argument
10 10
11 import collections 11 import collections
12 import itertools 12 import itertools
13 import json 13 import json
14 import logging 14 import logging
15 import multiprocessing 15 import multiprocessing
16 import os 16 import os
17 import posixpath 17 import posixpath
18 import re 18 import re
19 import shutil 19 import shutil
20 import tempfile 20 import tempfile
21 import time 21 import time
22 import zipfile 22 import zipfile
23 23
24 from devil import base_error 24 from devil import base_error
25 from devil import devil_env
25 from devil.utils import cmd_helper 26 from devil.utils import cmd_helper
26 from devil.android import apk_helper 27 from devil.android import apk_helper
27 from devil.android import device_signal 28 from devil.android import device_signal
28 from devil.android import decorators 29 from devil.android import decorators
29 from devil.android import device_errors 30 from devil.android import device_errors
30 from devil.android import device_temp_file 31 from devil.android import device_temp_file
31 from devil.android import logcat_monitor 32 from devil.android import logcat_monitor
32 from devil.android import md5sum 33 from devil.android import md5sum
33 from devil.android.sdk import adb_wrapper 34 from devil.android.sdk import adb_wrapper
34 from devil.android.sdk import intent 35 from devil.android.sdk import intent
35 from devil.android.sdk import keyevent 36 from devil.android.sdk import keyevent
36 from devil.android.sdk import split_select 37 from devil.android.sdk import split_select
37 from devil.android.sdk import version_codes 38 from devil.android.sdk import version_codes
38 from devil.utils import host_utils 39 from devil.utils import host_utils
39 from devil.utils import parallelizer 40 from devil.utils import parallelizer
40 from devil.utils import reraiser_thread 41 from devil.utils import reraiser_thread
41 from devil.utils import timeout_retry 42 from devil.utils import timeout_retry
42 from devil.utils import zip_utils 43 from devil.utils import zip_utils
43 from pylib import constants
44 from pylib.device.commands import install_commands 44 from pylib.device.commands import install_commands
45 45
46 _DEFAULT_TIMEOUT = 30 46 _DEFAULT_TIMEOUT = 30
47 _DEFAULT_RETRIES = 3 47 _DEFAULT_RETRIES = 3
48 48
49 # A sentinel object for default values 49 # A sentinel object for default values
50 # TODO(jbudorick,perezju): revisit how default values are handled by 50 # TODO(jbudorick,perezju): revisit how default values are handled by
51 # the timeout_retry decorators. 51 # the timeout_retry decorators.
52 DEFAULT = object() 52 DEFAULT = object()
53 53
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 98
99 @decorators.WithExplicitTimeoutAndRetries( 99 @decorators.WithExplicitTimeoutAndRetries(
100 _DEFAULT_TIMEOUT, _DEFAULT_RETRIES) 100 _DEFAULT_TIMEOUT, _DEFAULT_RETRIES)
101 def GetAVDs(): 101 def GetAVDs():
102 """Returns a list of Android Virtual Devices. 102 """Returns a list of Android Virtual Devices.
103 103
104 Returns: 104 Returns:
105 A list containing the configured AVDs. 105 A list containing the configured AVDs.
106 """ 106 """
107 lines = cmd_helper.GetCmdOutput([ 107 lines = cmd_helper.GetCmdOutput([
108 os.path.join(constants.ANDROID_SDK_ROOT, 'tools', 'android'), 108 os.path.join(devil_env.config.LocalPath('android_sdk'),
109 'tools', 'android'),
109 'list', 'avd']).splitlines() 110 'list', 'avd']).splitlines()
110 avds = [] 111 avds = []
111 for line in lines: 112 for line in lines:
112 if 'Name:' not in line: 113 if 'Name:' not in line:
113 continue 114 continue
114 key, value = (s.strip() for s in line.split(':', 1)) 115 key, value = (s.strip() for s in line.split(':', 1))
115 if key == 'Name': 116 if key == 'Name':
116 avds.append(value) 117 avds.append(value)
117 return avds 118 return avds
118 119
(...skipping 2009 matching lines...) Expand 10 before | Expand all | Expand 10 after
2128 on: bool to decide state to switch to. True = on False = off. 2129 on: bool to decide state to switch to. True = on False = off.
2129 """ 2130 """
2130 def screen_test(): 2131 def screen_test():
2131 return self.IsScreenOn() == on 2132 return self.IsScreenOn() == on
2132 2133
2133 if screen_test(): 2134 if screen_test():
2134 logging.info('Screen already in expected state.') 2135 logging.info('Screen already in expected state.')
2135 return 2136 return
2136 self.RunShellCommand('input keyevent 26') 2137 self.RunShellCommand('input keyevent 26')
2137 timeout_retry.WaitFor(screen_test, wait_period=1) 2138 timeout_retry.WaitFor(screen_test, wait_period=1)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698