package org.altusmetrum.AltosDroid;
-import org.altusmetrum.altoslib_13.*;
+import org.altusmetrum.altoslib_14.*;
-import android.app.Activity;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
import android.view.*;
import android.widget.*;
import android.location.Location;
public class TabFlight extends AltosDroidTab {
private TextView speed_view;
private TextView height_view;
+ private TextView altitude_view;
+ private View tilt_view;
+ private TextView tilt_value;
private TextView max_speed_view;
private TextView max_height_view;
+ private TextView max_altitude_view;
private TextView elevation_view;
private TextView range_view;
private TextView bearing_view;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.tab_flight, container, false);
- speed_view = (TextView) v.findViewById(R.id.speed_value);
- height_view = (TextView) v.findViewById(R.id.height_value);
- max_speed_view = (TextView) v.findViewById(R.id.max_speed_value);
- max_height_view= (TextView) v.findViewById(R.id.max_height_value);
+ speed_view = (TextView) v.findViewById(R.id.speed_value);
+ height_view = (TextView) v.findViewById(R.id.height_value);
+ altitude_view = (TextView) v.findViewById(R.id.altitude_value);
+ tilt_view = (View) v.findViewById(R.id.tilt_view);
+ tilt_value = (TextView) v.findViewById(R.id.tilt_value);
+ max_speed_view = (TextView) v.findViewById(R.id.max_speed_value);
+ max_height_view = (TextView) v.findViewById(R.id.max_height_value);
+ max_altitude_view= (TextView) v.findViewById(R.id.max_altitude_value);
elevation_view = (TextView) v.findViewById(R.id.elevation_value);
range_view = (TextView) v.findViewById(R.id.range_value);
bearing_view = (TextView) v.findViewById(R.id.bearing_value);
public void show(TelemetryState telem_state, AltosState state, AltosGreatCircle from_receiver, Location receiver) {
if (state != null) {
- set_value(speed_view, AltosConvert.speed, 6, state.speed());
- set_value(height_view, AltosConvert.height, 6, state.height());
- set_value(max_speed_view, AltosConvert.speed, 6, state.max_speed());
- set_value(max_height_view, AltosConvert.height, 6, state.max_height());
+ set_value(speed_view, AltosConvert.speed, 1, state.speed());
+ set_value(height_view, AltosConvert.height, 1, state.height());
+ set_value(altitude_view, AltosConvert.height, 1, state.altitude());
+ double orient = state.orient();
+ if (orient == AltosLib.MISSING) {
+ tilt_view.setVisibility(View.GONE);
+ } else {
+ tilt_value.setText(AltosDroid.number("%1.0f°", orient));
+ tilt_view.setVisibility(View.VISIBLE);
+ }
+ set_value(max_speed_view, AltosConvert.speed, 1, state.max_speed());
+ set_value(max_height_view, AltosConvert.height, 1, state.max_height());
+ set_value(max_altitude_view, AltosConvert.height, 1, state.max_altitude());
if (from_receiver != null) {
- elevation_view.setText(AltosDroid.number("%3.0f°", from_receiver.elevation));
- set_value(range_view, AltosConvert.distance, 6, from_receiver.range);
- bearing_view.setText(AltosDroid.number("%3.0f°", from_receiver.bearing));
+ elevation_view.setText(AltosDroid.number("%1.0f°", from_receiver.elevation));
+ set_value(range_view, AltosConvert.distance, 1, from_receiver.range);
+ bearing_view.setText(AltosDroid.number("%1.0f°", from_receiver.bearing));
compass_view.setText(from_receiver.bearing_words(AltosGreatCircle.BEARING_LONG));
- set_value(distance_view, AltosConvert.distance, 6, from_receiver.distance);
+ set_value(distance_view, AltosConvert.distance, 1, from_receiver.distance);
} else {
elevation_view.setText("<unknown>");
range_view.setText("<unknown>");
if (state.apogee_voltage == AltosLib.MISSING) {
apogee_view.setVisibility(View.GONE);
} else {
- apogee_voltage_view.setText(AltosDroid.number("%4.2f V", state.apogee_voltage));
+ apogee_voltage_view.setText(AltosDroid.number("%1.2f V", state.apogee_voltage));
apogee_lights.set(state.apogee_voltage > 3.2, state.apogee_voltage == AltosLib.MISSING);
apogee_view.setVisibility(View.VISIBLE);
}
if (state.main_voltage == AltosLib.MISSING) {
main_view.setVisibility(View.GONE);
} else {
- main_voltage_view.setText(AltosDroid.number("%4.2f V", state.main_voltage));
+ main_voltage_view.setText(AltosDroid.number("%1.2f V", state.main_voltage));
main_lights.set(state.main_voltage > 3.2, state.main_voltage == AltosLib.MISSING);
main_view.setVisibility(View.VISIBLE);
}