Merge remote-tracking branch 'mjb/master'
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / AltosDroid.java
index de0b02a6f24d26fd9b023e6621506c3008d78f0f..caa1a1c5a7c80b73639ea1b5c149f87bd3fbcf96 100644 (file)
@@ -43,7 +43,7 @@ import android.widget.TextView;
 import android.widget.Toast;
 import android.app.AlertDialog;
 
-import org.altusmetrum.AltosLib.*;
+import org.altusmetrum.altoslib_1.*;
 
 /**
  * This is the main Activity that displays the current chat session.
@@ -81,12 +81,16 @@ public class AltosDroid extends Activity {
 
        // Generic field for extras at the bottom
        private TextView mTextView;
+       private TextView mVersion;
 
        // Service
        private boolean mIsBound   = false;
        private Messenger mService = null;
        final Messenger mMessenger = new Messenger(new IncomingHandler(this));
 
+       // Preferences
+       private AltosDroidPreferences prefs = null;
+
        // TeleBT Config data
        private AltosConfigData mConfigData = null;
        // Local Bluetooth adapter
@@ -115,7 +119,7 @@ public class AltosDroid extends Activity {
                                        Toast.makeText(ad.getApplicationContext(), "Connected to " + str, Toast.LENGTH_SHORT).show();
                                        ad.mAltosVoice.speak("Connected");
                                        //TEST!
-                                       ad.mTextView.setText(Dumper.dump(ad.mConfigData));
+                                       //ad.mTextView.setText(Dumper.dump(ad.mConfigData));
                                        break;
                                case TelemetryService.STATE_CONNECTING:
                                        ad.mTitle.setText(R.string.title_connecting);
@@ -131,7 +135,7 @@ public class AltosDroid extends Activity {
                        case MSG_TELEMETRY:
                                ad.update_ui((AltosState) msg.obj);
                                // TEST!
-                               ad.mTextView.setText(Dumper.dump(msg.obj));
+                               //ad.mTextView.setText(Dumper.dump(msg.obj));
                                break;
                        }
                }
@@ -186,10 +190,7 @@ public class AltosDroid extends Activity {
                mSerialView.setText(String.format("%d", state.data.serial));
                mFlightView.setText(String.format("%d", state.data.flight));
                mStateView.setText(state.data.state());
-               double speed = state.speed;
-               if (!state.ascent)
-                       speed = state.baro_speed;
-               mSpeedView.setText(String.format("%6.0f m/s", speed));
+               mSpeedView.setText(String.format("%6.0f m/s", state.speed()));
                mAccelView.setText(String.format("%6.0f m/s²", state.acceleration));
                mRangeView.setText(String.format("%6.0f m", state.range));
                mHeightView.setText(String.format("%6.0f m", state.height));
@@ -228,6 +229,10 @@ public class AltosDroid extends Activity {
                        return;
                }
 
+               // Initialise preferences
+               prefs = new AltosDroidPreferences(this);
+               AltosPreferences.init(prefs);
+
                // Set up the window layout
                requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
                //setContentView(R.layout.main);
@@ -245,6 +250,11 @@ public class AltosDroid extends Activity {
                mTextView.setClickable(false);
                mTextView.setLongClickable(false);
 
+               mVersion = (TextView) findViewById(R.id.version);
+               mVersion.setText("Version: " + BuildInfo.version +
+                                "  Built: " + BuildInfo.builddate + " " + BuildInfo.buildtime + " " + BuildInfo.buildtz +
+                                "  (" + BuildInfo.branch + "-" + BuildInfo.commitnum + "-" + BuildInfo.commithash + ")");
+
                mCallsignView  = (TextView) findViewById(R.id.callsign_value);
                mRSSIView      = (TextView) findViewById(R.id.rssi_value);
                mSerialView    = (TextView) findViewById(R.id.serial_value);
@@ -363,7 +373,7 @@ public class AltosDroid extends Activity {
 
        void setFrequency(String freq) {
                try {
-                       setFrequency (Double.parseDouble(freq));
+                       setFrequency (Double.parseDouble(freq.substring(11, 17)));
                } catch (NumberFormatException e) {
                }
        }
@@ -381,16 +391,16 @@ public class AltosDroid extends Activity {
                        // Set the TBT radio frequency
 
                        final String[] frequencies = {
-                               "434.550",
-                               "434.650",
-                               "434.750",
-                               "434.850",
-                               "434.950",
-                               "435.050",
-                               "435.150",
-                               "435.250",
-                               "435.350",
-                               "435.450"
+                               "Channel 0 (434.550MHz)",
+                               "Channel 1 (434.650MHz)",
+                               "Channel 2 (434.750MHz)",
+                               "Channel 3 (434.850MHz)",
+                               "Channel 4 (434.950MHz)",
+                               "Channel 5 (435.050MHz)",
+                               "Channel 6 (435.150MHz)",
+                               "Channel 7 (435.250MHz)",
+                               "Channel 8 (435.350MHz)",
+                               "Channel 9 (435.450MHz)"
                        };
 
                        AlertDialog.Builder builder = new AlertDialog.Builder(this);