From 6a030381607aaf7b44529c4d5a6552749305c3d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Tue, 28 Feb 2012 11:57:48 +0100 Subject: Run SameService in a separate process. --- .../com/orbekk/same/android/ClientInterfaceBridge.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'same-android/src/main/java/com/orbekk/same/android') diff --git a/same-android/src/main/java/com/orbekk/same/android/ClientInterfaceBridge.java b/same-android/src/main/java/com/orbekk/same/android/ClientInterfaceBridge.java index 3b490bc..dfab773 100644 --- a/same-android/src/main/java/com/orbekk/same/android/ClientInterfaceBridge.java +++ b/same-android/src/main/java/com/orbekk/same/android/ClientInterfaceBridge.java @@ -42,13 +42,17 @@ public class ClientInterfaceBridge implements ClientInterface { } switch (message.what) { case SameService.UPDATED_STATE_CALLBACK: - State.Component component = (State.Component)message.obj; + State.Component component = + new ComponentBundle(message.getData()).getComponent(); updateState(component); break; case SameService.OPERATION_STATUS_CALLBACK: int operationNumber = message.arg1; + logger.info("Received callback for operation {}", operationNumber); + int statusCode = message.getData().getInt("statusCode"); + String statusMessage = message.getData().getString("statusMessage"); DelayedOperation.Status status = - (DelayedOperation.Status)message.obj; + new DelayedOperation.Status(statusCode, statusMessage); completeOperation(operationNumber, status); break; default: @@ -153,13 +157,12 @@ public class ClientInterfaceBridge implements ClientInterface { return op; } - Message message = Message.obtain(null, SameService.SET_STATE, - op.getIdentifier()); - // this has to be Parcelable. -// message.obj = component; + Message message = Message.obtain(null, SameService.SET_STATE); + message.arg1 = op.getIdentifier(); + message.setData(new ComponentBundle(component).getBundle()); message.replyTo = responseMessenger; try { - logger.info("Sending update to service."); + logger.info("Sending update to service. No state."); serviceMessenger.send(message); logger.info("Service finished update."); } catch (RemoteException e) { -- cgit v1.2.3