Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5b63e6c0 authored by Etan Cohen's avatar Etan Cohen
Browse files

WakeupMessage: add mechanism to specify the object member of Message.

WakeupMessage encapsulates a Message. Change adds mechanism (constructor)
to specify the 'mObj' member of the Message.

Change-Id: I34647d8f6bbe5c11fce1350ed6abd3366fad2a5d
parent 93d3c79b
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -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();
        }