blob: e7af9fec47ac9a41c48f9bfa1a880a57096746b1 [file] [log] [blame]
#! /usr/bin/env python
'''
Copyright (C) 2012 Diego Torres Milano
Created on Sep 8, 2012
@author: diego
@see: http://code.google.com/p/android/issues/detail?id=36544
'''
import re
import sys
import os
# This must be imported before MonkeyRunner and MonkeyDevice,
# otherwise the import fails.
# PyDev sets PYTHONPATH, use it
try:
for p in os.environ['PYTHONPATH'].split(':'):
if not p in sys.path:
sys.path.append(p)
except:
pass
try:
sys.path.append(os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src'))
except:
pass
from com.dtmilano.android.viewclient import ViewClient, View
device, serialno = ViewClient.connectToDeviceOrExit()
DEBUG = True
FLAG_ACTIVITY_NEW_TASK = 0x10000000
# We are not using Settings as the bug describes because there's no WiFi dialog in emulator
componentName = 'com.android.settings/.Settings'
device.startActivity(component=componentName, flags=FLAG_ACTIVITY_NEW_TASK)
ViewClient.sleep(3)
vc = ViewClient(device=device, serialno=serialno)
if DEBUG: vc.traverse(transform=ViewClient.TRAVERSE_CIT)
sound = vc.findViewWithText('Sound')
if sound:
sound.touch()
vc.dump()
phoneRingtone = vc.findViewWithText('Phone ringtone')
if phoneRingtone:
phoneRingtone.touch()
vc.dump()
vespa = vc.findViewWithText('Vespa')
if vespa:
vespa.touch()
ViewClient.sleep(1)
ok = vc.findViewById('id/button1')
if ok:
ok.touch()
vc.dump()
vespa = vc.findViewWithText('Vespa')
# If for some reason the dialog is still there we will have Vespa and OK
ok = vc.findViewById('id/button1')
if vespa and not ok:
print "OK"
else:
print "FAIL to set ringtone Vespa"
sys.exit(1)
else:
print >> sys.stderr, "'OK' not found"
else:
print >> sys.stderr, "'Phone ringtone' not found"
else:
print >> sys.stderr, "'Sound' not found"