From 52bbaa30520a0eda5ae840d31308b65412f51cc4 Mon Sep 17 00:00:00 2001 From: Yu Shan Emily Lau Date: Thu, 1 Jul 2010 18:34:43 -0700 Subject: [PATCH] Add the support for the alarmManager and force the device to wake up. Change-Id: Ib4a2f9cb580eadf6771b103399e14f932d50cb1c --- .../commands/monkey/MonkeyActivityEvent.java | 22 ++++++++++++++++--- .../commands/monkey/MonkeySourceScript.java | 19 +++++++++++++--- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/cmds/monkey/src/com/android/commands/monkey/MonkeyActivityEvent.java b/cmds/monkey/src/com/android/commands/monkey/MonkeyActivityEvent.java index 68e6e6d7f..1ca3e58a4 100644 --- a/cmds/monkey/src/com/android/commands/monkey/MonkeyActivityEvent.java +++ b/cmds/monkey/src/com/android/commands/monkey/MonkeyActivityEvent.java @@ -19,23 +19,32 @@ package com.android.commands.monkey; import android.app.IActivityManager; import android.content.ComponentName; import android.content.Intent; +import android.os.Bundle; import android.os.RemoteException; import android.view.IWindowManager; +import android.util.Log; /** * monkey activity event */ public class MonkeyActivityEvent extends MonkeyEvent { private ComponentName mApp; + String mAlarmTime; public MonkeyActivityEvent(ComponentName app) { super(EVENT_TYPE_ACTIVITY); mApp = app; } - - /** + + public MonkeyActivityEvent(ComponentName app, String arg) { + super(EVENT_TYPE_ACTIVITY); + mApp = app; + mAlarmTime = arg; + } + + /** * @return Intent for the new activity - */ + */ private Intent getEvent() { Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); @@ -50,6 +59,13 @@ public class MonkeyActivityEvent extends MonkeyEvent { if (verbose > 0) { System.out.println(":Switch: " + intent.toURI()); } + + if (mAlarmTime != null){ + Bundle args = new Bundle(); + args.putString("alarmTime", mAlarmTime); + intent.putExtras(args); + } + try { iam.startActivity(null, intent, null, null, 0, null, null, 0, false, false); diff --git a/cmds/monkey/src/com/android/commands/monkey/MonkeySourceScript.java b/cmds/monkey/src/com/android/commands/monkey/MonkeySourceScript.java index 9b2328d23..a1d1f2949 100644 --- a/cmds/monkey/src/com/android/commands/monkey/MonkeySourceScript.java +++ b/cmds/monkey/src/com/android/commands/monkey/MonkeySourceScript.java @@ -27,6 +27,7 @@ import java.io.IOException; import java.io.InputStreamReader; import java.util.NoSuchElementException; import java.util.Random; +import android.util.Log; /** * monkey event queue. It takes a script to produce events sample script format: @@ -271,12 +272,24 @@ public class MonkeySourceScript implements MonkeyEventSource { } // Handle launch events - if (s.indexOf(EVENT_KEYWORD_ACTIVITY) >= 0 && args.length == 2) { + if (s.indexOf(EVENT_KEYWORD_ACTIVITY) >= 0 && args.length >= 2) { String pkg_name = args[0]; String cl_name = args[1]; + String alarmTime = null; + ComponentName mApp = new ComponentName(pkg_name, cl_name); - MonkeyActivityEvent e = new MonkeyActivityEvent(mApp); - mQ.addLast(e); + + if (args.length > 2) { + alarmTime = args[2]; + } + + if (args.length == 2) { + MonkeyActivityEvent e = new MonkeyActivityEvent(mApp); + mQ.addLast(e); + } else { + MonkeyActivityEvent e = new MonkeyActivityEvent(mApp, alarmTime); + mQ.addLast(e); + } return; }