altosdroid: Add 'Auto' to map tracker list
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / AltosDroid.java
index b87b51b58fd98f9bcc3aab2385c0eab31de62cee..71ac298e77b6d6000d4620db1a16eddd57871b5b 100644 (file)
@@ -133,7 +133,6 @@ public class AltosDroid extends FragmentActivity implements AltosUnitsListener {
 
                        switch (msg.what) {
                        case MSG_STATE:
-                               AltosDebug.debug("MSG_STATE");
                                if (msg.obj == null) {
                                        AltosDebug.debug("telemetry_state null!");
                                        return;
@@ -141,7 +140,6 @@ public class AltosDroid extends FragmentActivity implements AltosUnitsListener {
                                ad.update_state((TelemetryState) msg.obj);
                                break;
                        case MSG_UPDATE_AGE:
-                               AltosDebug.debug("MSG_UPDATE_AGE");
                                ad.update_age();
                                break;
                        }
@@ -654,6 +652,8 @@ public class AltosDroid extends FragmentActivity implements AltosUnitsListener {
                super.onStart();
                AltosDebug.debug("++ ON START ++");
 
+               set_switch_time();
+
                noticeIntent(getIntent());
 
                // Start Telemetry Service
@@ -691,12 +691,6 @@ public class AltosDroid extends FragmentActivity implements AltosUnitsListener {
        public void onStop() {
                super.onStop();
                AltosDebug.debug("-- ON STOP --");
-
-               doUnbindService();
-               if (mAltosVoice != null) {
-                       mAltosVoice.stop();
-                       mAltosVoice = null;
-               }
        }
 
        @Override
@@ -704,7 +698,11 @@ public class AltosDroid extends FragmentActivity implements AltosUnitsListener {
                super.onDestroy();
                AltosDebug.debug("--- ON DESTROY ---");
 
-               if (mAltosVoice != null) mAltosVoice.stop();
+               doUnbindService();
+               if (mAltosVoice != null) {
+                       mAltosVoice.stop();
+                       mAltosVoice = null;
+               }
                stop_timer();
        }
 
@@ -859,6 +857,26 @@ public class AltosDroid extends FragmentActivity implements AltosUnitsListener {
                update_state(null);
        }
 
+       void touch_trackers(Integer[] serials) {
+               AlertDialog.Builder builder_tracker = new AlertDialog.Builder(this);
+               builder_tracker.setTitle("Select Tracker");
+               final String[] trackers = new String[serials.length + 1];
+               trackers[0] = "Auto";
+               for (int i = 0; i < serials.length; i++)
+                       trackers[i+1] = String.format("%d", serials[i]);
+               builder_tracker.setItems(trackers,
+                                        new DialogInterface.OnClickListener() {
+                                                public void onClick(DialogInterface dialog, int item) {
+                                                        if (item == 0)
+                                                                select_tracker(0);
+                                                        else
+                                                                select_tracker(Integer.parseInt(trackers[item]));
+                                                }
+                                        });
+               AlertDialog alert_tracker = builder_tracker.create();
+               alert_tracker.show();
+       }
+
        void delete_track(int serial) {
                try {
                        mService.send(Message.obtain(null, TelemetryService.MSG_DELETE_SERIAL, (Integer) serial));