]> Pileus Git - ~andy/iBeaconNav/blobdiff - src/edu/ucla/iBeaconNav/Main.java
Get iBeacon service running
[~andy/iBeaconNav] / src / edu / ucla / iBeaconNav / Main.java
index 6bb29f93b17ba25e023a6afe658770c7c0faf45d..81f40513eaac3c3d532331ccc57b72523658996a 100644 (file)
@@ -40,7 +40,6 @@ public class Main extends Activity
        private Messenger    messenger;
        private Task         task;
        private Toast        toast;
-       private boolean      running;
 
        /* Widgets */
        private TabHost      window;
@@ -64,7 +63,6 @@ public class Main extends Activity
        {
                Util.debug("Main: onRegister");
                this.task    = task;
-               this.running = this.task.isRunning();
        }
 
        private void onPosition()
@@ -85,7 +83,7 @@ public class Main extends Activity
        {
                Util.debug("Main: register");
                startService(new Intent(this, Task.class)
-                               .putExtra("Command",   Task.REGISTER)
+                               .putExtra("Command",   Task.Command.REGISTER)
                                .putExtra("Messenger", this.messenger));
        }
 
@@ -93,16 +91,14 @@ public class Main extends Activity
        {
                Util.debug("Main: connect");
                startService(new Intent(this, Task.class)
-                               .putExtra("Command", Task.CONNECT));
-               this.running = true;
+                               .putExtra("Command", Task.Command.CONNECT));
        }
 
        private void disconnect()
        {
                Util.debug("Main: disconnect");
                startService(new Intent(this, Task.class)
-                               .putExtra("Command", Task.DISCONNECT));
-               this.running = false;
+                               .putExtra("Command", Task.Command.DISCONNECT));
        }
 
        private void quit()
@@ -234,8 +230,9 @@ public class Main extends Activity
        @Override
        public boolean onPrepareOptionsMenu(Menu menu)
        {
-               menu.findItem(R.id.connect).setVisible(!this.running);
-               menu.findItem(R.id.disconnect).setVisible(this.running);
+               boolean running = this.task != null && this.task.isRunning();
+               menu.findItem(R.id.connect).setVisible(!running);
+               menu.findItem(R.id.disconnect).setVisible(running);
                return true;
        }
 
@@ -262,24 +259,16 @@ public class Main extends Activity
        {
                public void handleMessage(android.os.Message msg)
                {
-                       switch (msg.what) {
-                               case Task.REGISTER:
-                                       Main.this.onRegister((Task)msg.obj);
-                                       break;
-                               case Task.POSITION:
+                       Task.Response resp = Task.Response.values()[msg.what];
+                       switch (resp) {
+                               case POSITION:
                                        Main.this.onPosition();
                                        break;
-                               case Task.CONNECT:
-                                       Main.this.running = true;
-                                       break;
-                               case Task.DISCONNECT:
-                                       Main.this.running = false;
-                                       break;
-                               case Task.NOTIFY:
+                               case NOTIFY:
                                        Main.this.onNotify((String)msg.obj);
                                        break;
                                default:
-                                       Util.debug("Main: unknown message - " + msg.what);
+                                       Util.debug("Main: unknown message - " + resp);
                                        break;
                        }
                }