summaryrefslogtreecommitdiff
path: root/same-android/src/main/java/com/orbekk/same/android/SameService.java
diff options
context:
space:
mode:
authorKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-05-02 12:55:16 +0200
committerKjetil Ørbekk <kjetil.orbekk@gmail.com>2012-05-02 12:55:16 +0200
commit4bc0de6fd0c9dc1562ff91d1c21ed6e0d3731299 (patch)
tree4c59d75ab5685c94f96cfd166c2e875f680e1461 /same-android/src/main/java/com/orbekk/same/android/SameService.java
parent445a738b9ebfd93f65fecd68a5fbbe61b7951bf8 (diff)
Fix callback functionality in SameService.
Several bugs were fixed. - SameService sends messages to the correct replyTo handler. - SameService and ClientInterfaceBridge now agree on a message format. - Make ClientInterfaceBridge a little safer by using volatile and final variables.
Diffstat (limited to 'same-android/src/main/java/com/orbekk/same/android/SameService.java')
-rw-r--r--same-android/src/main/java/com/orbekk/same/android/SameService.java9
1 files changed, 3 insertions, 6 deletions
diff --git a/same-android/src/main/java/com/orbekk/same/android/SameService.java b/same-android/src/main/java/com/orbekk/same/android/SameService.java
index 18c13af..f369b3a 100644
--- a/same-android/src/main/java/com/orbekk/same/android/SameService.java
+++ b/same-android/src/main/java/com/orbekk/same/android/SameService.java
@@ -147,12 +147,9 @@ public class SameService extends Service {
State.Component updatedComponent =
new ComponentBundle(message.getData()).getComponent();
int id = message.arg1;
- logger.info("Running operation. Component: " + updatedComponent);
DelayedOperation op = sameController.getClient().getInterface()
.set(updatedComponent);
- logger.info("Operation finished. Sending callback.");
operationStatusCallback(op, id, message.replyTo);
- logger.info("Callback sent.");
break;
case KILL_MASTER:
logger.info("Kill master.");
@@ -193,10 +190,10 @@ public class SameService extends Service {
Message message = Message.obtain(null,
OPERATION_STATUS_CALLBACK);
message.arg1 = id;
- message.arg2 = op.getStatus().getStatusCode();
- message.obj = op.getStatus().getMessage();
+ message.getData().putInt("statusCode", op.getStatus().getStatusCode());
+ message.getData().putString("statusMessage", op.getStatus().getMessage());
try {
- messenger.send(message);
+ replyTo.send(message);
} catch (RemoteException e) {
logger.warn("Unable to send update result: " +
op.getStatus());