]> Pileus Git - ~andy/spades/commitdiff
Fix bug were we can no longer control Task
authorAndy Spencer <andy753421@gmail.com>
Wed, 11 Dec 2013 02:53:32 +0000 (02:53 +0000)
committerAndy Spencer <andy753421@gmail.com>
Wed, 11 Dec 2013 02:53:32 +0000 (02:53 +0000)
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
src/org/pileus/spades/Task.java

index c7ef308e69f24dd72d9f7f0c33977a6c4b337de1..a920a7ad569418b3ac2041804fc1b3e17986cc39 100644 (file)
@@ -315,6 +315,7 @@ public class Main extends Activity
        public void onStart()
        {
                super.onStart();
+               this.register();
                Os.debug("Main: onStart");
        }
 
index ac1a243bf3073fd2988f949ce2a703195dcbd798..34425d174781d23712c70fef661903d6729be0e5 100644 (file)
@@ -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");