From 752d296b1e9c65f0470db5e72fdab68a9853b102 Mon Sep 17 00:00:00 2001 From: Andy Spencer Date: Wed, 11 Dec 2013 02:53:32 +0000 Subject: [PATCH] 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. --- src/org/pileus/spades/Main.java | 1 + src/org/pileus/spades/Task.java | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) 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"); -- 2.43.2