OSDN Git Service

WakeupMessage: add mechanism to specify the object member of Message.
authorEtan Cohen <etancohen@google.com>
Mon, 20 Jun 2016 16:25:30 +0000 (09:25 -0700)
committerEtan Cohen <etancohen@google.com>
Mon, 20 Jun 2016 16:25:30 +0000 (09:25 -0700)
WakeupMessage encapsulates a Message. Change adds mechanism (constructor)
to specify the 'mObj' member of the Message.

Change-Id: I34647d8f6bbe5c11fce1350ed6abd3366fad2a5d

core/java/com/android/internal/util/WakeupMessage.java

index 451078b..f0375b3 100644 (file)
@@ -39,24 +39,31 @@ public class WakeupMessage implements AlarmManager.OnAlarmListener {
     private final Handler mHandler;
     private final String mCmdName;
     private final int mCmd, mArg1, mArg2;
+    private final Object mObj;
     private boolean mScheduled;
 
     public WakeupMessage(Context context, Handler handler,
-            String cmdName, int cmd, int arg1, int arg2) {
+            String cmdName, int cmd, int arg1, int arg2, Object obj) {
         mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
         mHandler = handler;
         mCmdName = cmdName;
         mCmd = cmd;
         mArg1 = arg1;
         mArg2 = arg2;
+        mObj = obj;
+    }
+
+    public WakeupMessage(Context context, Handler handler,
+            String cmdName, int cmd, int arg1, int arg2) {
+        this(context, handler, cmdName, cmd, arg1, arg2, null);
     }
 
     public WakeupMessage(Context context, Handler handler, String cmdName, int cmd, int arg1) {
-        this(context, handler, cmdName, cmd, arg1, 0);
+        this(context, handler, cmdName, cmd, arg1, 0, null);
     }
 
     public WakeupMessage(Context context, Handler handler, String cmdName, int cmd) {
-        this(context, handler, cmdName, cmd, 0, 0);
+        this(context, handler, cmdName, cmd, 0, 0, null);
     }
 
     /**
@@ -93,7 +100,7 @@ public class WakeupMessage implements AlarmManager.OnAlarmListener {
             mScheduled = false;
         }
         if (stillScheduled) {
-            Message msg = mHandler.obtainMessage(mCmd, mArg1, mArg2);
+            Message msg = mHandler.obtainMessage(mCmd, mArg1, mArg2, mObj);
             mHandler.handleMessage(msg);
             msg.recycle();
         }