Add the support for the alarmManager and force the device to wake up.
Change-Id: Ib4a2f9cb580eadf6771b103399e14f932d50cb1c
diff --git a/cmds/monkey/src/com/android/commands/monkey/MonkeyActivityEvent.java b/cmds/monkey/src/com/android/commands/monkey/MonkeyActivityEvent.java
index 68e6e6d..1ca3e58 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 @@
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 @@
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 9b2328d..a1d1f29 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.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 @@
}
// 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;
}