X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosdroid%2Fsrc%2Forg%2Faltusmetrum%2FAltosDroid%2FTabDescent.java;h=3429ee721ee734b36a120f508aef1480ef6c722f;hb=c813c2c8f71017a686128e06b5178fc99ece251c;hp=3805b7e77b98757a3e518deacc6cbdb18f8630c4;hpb=84d35e4cbd7ea2f681c43496b9b9db84f9dd923f;p=fw%2Faltos diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabDescent.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabDescent.java index 3805b7e7..3429ee72 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TabDescent.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabDescent.java @@ -17,8 +17,7 @@ package org.altusmetrum.AltosDroid; -import org.altusmetrum.altoslib_1.AltosGreatCircle; -import org.altusmetrum.altoslib_1.AltosState; +import org.altusmetrum.altoslib_7.*; import android.app.Activity; import android.os.Bundle; @@ -28,10 +27,9 @@ import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; +import android.location.Location; -public class TabDescent extends Fragment implements AltosDroidTab { - AltosDroid mAltosDroid; - +public class TabDescent extends AltosDroidTab { private TextView mSpeedView; private TextView mHeightView; private TextView mElevationView; @@ -46,14 +44,6 @@ public class TabDescent extends Fragment implements AltosDroidTab { private TextView mMainVoltageView; private GoNoGoLights mMainLights; - - @Override - public void onAttach(Activity activity) { - super.onAttach(activity); - mAltosDroid = (AltosDroid) activity; - mAltosDroid.registerTab(this); - } - @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.tab_descent, container, false); @@ -81,32 +71,36 @@ public class TabDescent extends Fragment implements AltosDroidTab { return v; } - - @Override - public void onDestroy() { - super.onDestroy(); - mAltosDroid.unregisterTab(this); - mAltosDroid = null; - } - - public void update_ui(AltosState state) { - mSpeedView.setText(String.format("%6.0f m/s", state.speed())); - mHeightView.setText(String.format("%6.0f m", state.height)); - mElevationView.setText(String.format("%3.0f°", state.elevation)); - mRangeView.setText(String.format("%6.0f m", state.range)); - if (state.from_pad != null) { - mBearingView.setText(String.format("%3.0f°", state.from_pad.bearing)); - mCompassView.setText(state.from_pad.bearing_words(AltosGreatCircle.BEARING_LONG)); + public String tab_name() { return "descent"; } + + public void show(TelemetryState telem_state, AltosState state, AltosGreatCircle from_receiver, Location receiver) { + if (state != null) { + set_value(mSpeedView, AltosConvert.speed, 6, state.speed()); + set_value(mHeightView, AltosConvert.height, 6, state.height()); + if (from_receiver != null) { + mElevationView.setText(AltosDroid.number("%3.0f°", from_receiver.elevation)); + set_value(mRangeView, AltosConvert.distance, 6, from_receiver.range); + mBearingView.setText(AltosDroid.number("%3.0f°", from_receiver.bearing)); + mCompassView.setText(from_receiver.bearing_words(AltosGreatCircle.BEARING_LONG)); + set_value(mDistanceView, AltosConvert.distance, 6, from_receiver.distance); + } else { + mElevationView.setText(""); + mRangeView.setText(""); + mBearingView.setText(""); + mCompassView.setText(""); + mDistanceView.setText(""); + } + if (state.gps != null) { + mLatitudeView.setText(AltosDroid.pos(state.gps.lat, "N", "S")); + mLongitudeView.setText(AltosDroid.pos(state.gps.lon, "E", "W")); + } + + mApogeeVoltageView.setText(AltosDroid.number("%4.2f V", state.apogee_voltage)); + mApogeeLights.set(state.apogee_voltage > 3.2, state.apogee_voltage == AltosLib.MISSING); + + mMainVoltageView.setText(AltosDroid.number("%4.2f V", state.main_voltage)); + mMainLights.set(state.main_voltage > 3.2, state.main_voltage == AltosLib.MISSING); } - mDistanceView.setText(String.format("%6.0f m", state.range)); - mLatitudeView.setText(AltosDroid.pos(state.gps.lat, "N", "S")); - mLongitudeView.setText(AltosDroid.pos(state.gps.lon, "W", "E")); - - mApogeeVoltageView.setText(String.format("%4.2f V", state.drogue_sense)); - mApogeeLights.set(state.drogue_sense > 3.2); - - mMainVoltageView.setText(String.format("%4.2f V", state.main_sense)); - mMainLights.set(state.main_sense > 3.2); } }