altosdroid: Add version information to UI
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / AltosDroid.java
index a79071d0f396aea6378df6018054a2b445518811..ab1fb0dee09f837cf56df1b4ddb00efc8c550337 100644 (file)
@@ -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
@@ -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.split(" ")[0]));
+                       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 (Channel 0)",
-                               "434.650 (Channel 1)",
-                               "434.750 (Channel 2)",
-                               "434.850 (Channel 3)",
-                               "434.950 (Channel 4)",
-                               "435.050 (Channel 5)",
-                               "435.150 (Channel 6)",
-                               "435.250 (Channel 7)",
-                               "435.350 (Channel 8)",
-                               "435.450 (Channel 9)"
+                               "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);