• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# -*- coding: utf-8 -*-
2
3import sys
4import os
5import time
6import string
7
8import common
9
10def install (extraArgs = []):
11	curDir = os.getcwd()
12	try:
13		os.chdir(common.ANDROID_DIR)
14
15		print "Removing old dEQP Package..."
16		common.execArgs([common.ADB_BIN] + extraArgs + [
17				'uninstall',
18				'com.drawelements.deqp'
19			])
20		print ""
21
22		print "Installing dEQP Package..."
23		common.execArgs([common.ADB_BIN] + extraArgs + [
24				'install',
25				'-r',
26				'package/bin/dEQP-debug.apk'
27			])
28		print ""
29
30	finally:
31		# Restore working dir
32		os.chdir(curDir)
33
34def installToDevice (device):
35	print "Installing to %s (%s)..." % (device.serial, device.model)
36	install(['-s', device.serial])
37
38def installToAllDevices ():
39	devices = common.getDevices(common.ADB_BIN)
40	for device in devices:
41		installToDevice(device)
42
43if __name__ == "__main__":
44	if len(sys.argv) > 1:
45		if sys.argv[1] == '-a':
46			installToAllDevices()
47		else:
48			install(sys.argv[1:])
49	else:
50		devices = common.getDevices(common.ADB_BIN)
51		if len(devices) == 0:
52			common.die('No devices connected')
53		elif len(devices) == 1:
54			installToDevice(devices[0])
55		else:
56			print "More than one device connected:"
57			for i in range(0, len(devices)):
58				print "%3d: %16s %s" % ((i+1), devices[i].serial, devices[i].model)
59
60			deviceNdx = int(raw_input("Choose device (1-%d): " % len(devices)))
61			installToDevice(devices[deviceNdx-1])
62