altosdroid: Add version information to UI
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / AltosDroid.java
index 2776016216beb9f4f3687ad6f2c80318aa44d27b..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);
@@ -355,12 +365,15 @@ public class AltosDroid extends Activity {
        }
 
        void setFrequency(double freq) {
-               
+               try {
+                       mService.send(Message.obtain(null, TelemetryService.MSG_SETFREQUENCY, freq));
+               } catch (RemoteException e) {
+               }
        }
 
        void setFrequency(String freq) {
                try {
-                       setFrequency (Double.parseDouble(freq));
+                       setFrequency (Double.parseDouble(freq.substring(11, 17)));
                } catch (NumberFormatException e) {
                }
        }
@@ -378,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);
@@ -399,6 +412,7 @@ public class AltosDroid extends Activity {
                                                 }
                                         });
                        AlertDialog alert = builder.create();
+                       alert.show();
                        return true;
                }
                return false;