altosdroid: Import initial versions of XML and Java for Tab content
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / AltosDroid.java
index 006896842a338fc2b2b330c85de4d12c48241eed..625a2eee430d7f278a023264d47dbd8112911f3a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2012 Mike Beattie <mike@ethernal.org>
+ * Copyright © 2012-2013 Mike Beattie <mike@ethernal.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -33,7 +33,6 @@ import android.os.Handler;
 import android.os.Message;
 import android.os.Messenger;
 import android.os.RemoteException;
-import android.text.method.ScrollingMovementMethod;
 import android.util.Log;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -43,11 +42,8 @@ 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.
- */
 public class AltosDroid extends Activity {
        // Debugging
        private static final String TAG = "AltosDroid";
@@ -79,14 +75,17 @@ public class AltosDroid extends Activity {
        private TextView mLatitudeView;
        private TextView mLongitudeView;
 
-       // Generic field for extras at the bottom
-       private TextView mTextView;
+       // field to display the version at the bottom of the screen
+       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
@@ -114,8 +113,6 @@ public class AltosDroid extends Activity {
                                        ad.mTitle.append(str);
                                        Toast.makeText(ad.getApplicationContext(), "Connected to " + str, Toast.LENGTH_SHORT).show();
                                        ad.mAltosVoice.speak("Connected");
-                                       //TEST!
-                                       ad.mTextView.setText(Dumper.dump(ad.mConfigData));
                                        break;
                                case TelemetryService.STATE_CONNECTING:
                                        ad.mTitle.setText(R.string.title_connecting);
@@ -124,14 +121,11 @@ public class AltosDroid extends Activity {
                                case TelemetryService.STATE_NONE:
                                        ad.mConfigData = null;
                                        ad.mTitle.setText(R.string.title_not_connected);
-                                       ad.mTextView.setText("");
                                        break;
                                }
                                break;
                        case MSG_TELEMETRY:
                                ad.update_ui((AltosState) msg.obj);
-                               // TEST!
-                               ad.mTextView.setText(Dumper.dump(msg.obj));
                                break;
                        }
                }
@@ -156,7 +150,6 @@ public class AltosDroid extends Activity {
                }
        };
 
-
        void doBindService() {
                bindService(new Intent(this, TelemetryService.class), mConnection, Context.BIND_AUTO_CREATE);
                mIsBound = true;
@@ -180,16 +173,19 @@ public class AltosDroid extends Activity {
                }
        }
 
+       public void registerTab(AltosDroidTab mTab) {
+       }
+
+       public void unregisterTab(AltosDroidTab mTab) {
+       }
+
        void update_ui(AltosState state) {
                mCallsignView.setText(state.data.callsign);
                mRSSIView.setText(String.format("%d", state.data.rssi));
                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));
@@ -202,7 +198,7 @@ public class AltosDroid extends Activity {
                mAltosVoice.tell(state);
        }
 
-       String pos(double p, String pos, String neg) {
+       static String pos(double p, String pos, String neg) {
                String  h = pos;
                if (p < 0) {
                        h = neg;
@@ -228,9 +224,12 @@ 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);
                setContentView(R.layout.altosdroid);
                getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);
 
@@ -239,11 +238,11 @@ public class AltosDroid extends Activity {
                mTitle.setText(R.string.app_name);
                mTitle = (TextView) findViewById(R.id.title_right_text);
 
-               // Set up the temporary Text View
-               mTextView = (TextView) findViewById(R.id.text);
-               mTextView.setMovementMethod(new ScrollingMovementMethod());
-               mTextView.setClickable(false);
-               mTextView.setLongClickable(false);
+               // Display the Version
+               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);
@@ -306,9 +305,6 @@ public class AltosDroid extends Activity {
                mAltosVoice.stop();
        }
 
-
-
-
        public void onActivityResult(int requestCode, int resultCode, Intent data) {
                if(D) Log.d(TAG, "onActivityResult " + resultCode);
                switch (requestCode) {