From: Andy Spencer Date: Wed, 11 Dec 2013 02:53:32 +0000 (+0000) Subject: Fix bug were we can no longer control Task X-Git-Url: http://pileus.org/git/?p=~andy%2Fspades;a=commitdiff_plain;h=752d296b1e9c65f0470db5e72fdab68a9853b102 Fix bug were we can no longer control Task This happens when the task is killed but main activity is not. A new task gets created without a registered messenger, but the Main activity doesn't know to reregister itself. --- diff --git a/src/org/pileus/spades/Main.java b/src/org/pileus/spades/Main.java index c7ef308..a920a7a 100644 --- a/src/org/pileus/spades/Main.java +++ b/src/org/pileus/spades/Main.java @@ -315,6 +315,7 @@ public class Main extends Activity public void onStart() { super.onStart(); + this.register(); Os.debug("Main: onStart"); } diff --git a/src/org/pileus/spades/Task.java b/src/org/pileus/spades/Task.java index ac1a243..34425d1 100644 --- a/src/org/pileus/spades/Task.java +++ b/src/org/pileus/spades/Task.java @@ -47,7 +47,7 @@ public class Task extends Service implements Runnable msg.obj = value; this.messenger.send(msg); } catch (Exception e) { - Os.debug("Task: error sending message"); + Os.debug("Task: error sending message", e); } } @@ -67,6 +67,11 @@ public class Task extends Service implements Runnable private void handle(int cmd, Messenger mgr) { + // Validate messenger + if (cmd != REGISTER && mgr != null && mgr != this.messenger) { + Os.debug("Task: handle - invalid messenger"); + } + // Setup communication with Main if (cmd == REGISTER) { Os.debug("Task: handle - register");