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;
         }