From 4bc0de6fd0c9dc1562ff91d1c21ed6e0d3731299 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Wed, 2 May 2012 12:55:16 +0200 Subject: 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. --- .../src/main/java/com/orbekk/same/android/SameService.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'same-android/src/main/java/com/orbekk/same/android/SameService.java') 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()); -- cgit v1.2.3