#!/usr/bin/env monkeyrunner
# Imports the monkeyrunner modules used by this program
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
import time
import random
# Connects to the current device, returning a MonkeyDevice object
device = MonkeyRunner.waitForConnection()
# sets a variable with the package's internal name
package = 'com.android.music'
# sets a variable with the name of an Activity in the package
activity = 'com.android.music.MediaPlaybackActivity'
# sets the name of the component to start
runComponent = package + '/' + activity
# Runs the component
device.startActivity(component=runComponent)
def play():
print "push play"
device.press('KEYCODE_MEDIA_PLAY','DOWN_AND_UP')
def pause():
print "push pause"
device.press('KEYCODE_MEDIA_PAUSE', 'DOWN_AND_UP')
def skip_next(n):
print "skip the next", n, "tracks"
for x in range(n):
device.press('KEYCODE_MEDIA_NEXT', 'DOWN_AND_UP')
def skip_previous(n):
print "skip backwards", n, "tracks"
for x in range(n):
device.press('KEYCODE_MEDIA_PREVIOUS', 'DOWN_AND_UP')
def ff(n):
print "fast forward for", n, "seconds"
if n < 1:
device.press('KEYCODE_MEDIA_FAST_FORWARD', 'DOWN_AND_UP')
else:
device.press('KEYCODE_MEDIA_FAST_FORWARD', 'DOWN')
time.sleep(n)
device.press('KEYCODE_MEDIA_FAST_FORWARD', 'UP')
def rw(n):
print "rewind for", n, "seconds"
if n < 1:
device.press('KEYCODE_MEDIA_REWIND', 'DOWN_AND_UP')
else:
device.press('KEYCODE_MEDIA_REWIND', 'DOWN')
time.sleep(n)
device.press('KEYCODE_MEDIA_REWIND', 'UP')
## main flow starts here
actions = ['play', 'pause', 'skip_next', 'skip_prev', 'ff', 'rw', 'wait']
start_time = time.time()
run_time = 60 * 15
end_time = start_time + run_time
while True:
action_id = random.randint(1, 10)
action_time = random.randint(1, 15)
if action_id == 1:
play()
elif action_id == 2:
pause()
elif action_id == 3:
skip_next(action_time)
elif action_id == 4:
skip_previous(action_time)
elif action_id == 5:
pass
#ff(action_time)
elif action_id == 6:
pass
#rw(action_time)
elif action_id == 7:
time.sleep(action_time)
else:
pass
time.sleep(1)
if time.time() > end_time:
break
pause()