diff options
author | Keith Packard <keithp@keithp.com> | 2015-07-11 19:55:43 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2015-07-11 19:55:43 -0700 |
commit | ed682ca39496849b6c0d6bdf81bee6263864895f (patch) | |
tree | c7e572e3ba70bcd4120ff0fcc3ebb2f95e54258c | |
parent | 84021b8e0ab9262262345ce47671c3c0c6c43566 (diff) |
altosdroid: Add other igniter status, various other layout changes
Show the first four igniters (A-D) in the pad tab. Make pad and flight
layouts look a bit better
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | altosdroid/Notebook | 18 | ||||
-rw-r--r-- | altosdroid/res/layout/tab_flight.xml | 751 | ||||
-rw-r--r-- | altosdroid/res/layout/tab_pad.xml | 803 | ||||
-rw-r--r-- | altosdroid/res/values/strings.xml | 16 | ||||
-rw-r--r-- | altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java | 86 |
5 files changed, 940 insertions, 734 deletions
diff --git a/altosdroid/Notebook b/altosdroid/Notebook index 22271e7c..73b5ed27 100644 --- a/altosdroid/Notebook +++ b/altosdroid/Notebook @@ -15,7 +15,9 @@ Desired AltosDroid feature list *) Monitor-idle mode - *) Monitor TeleMega igniters + *) Online maps comes up tracking object at 0,0 + + *) Have names for each serial number, default to callsign Completed features @@ -90,3 +92,17 @@ Completed features *) Make voice responses depend on selected tab Done. + + *) Monitor TeleMega igniters + + Done. Visible only in Pad tab + + *) Make it harder to switch trackers in map view. Too easy to touch + the screen and switch on accident. + + Done. A menu pops up with trackers within a small radius of + the touch point, letting you cancel if that wasn't your intent. + + *) Make sure it keeps talking with the screen blanked + + Done. Don't shut down voice when stopping UI. diff --git a/altosdroid/res/layout/tab_flight.xml b/altosdroid/res/layout/tab_flight.xml index 4fa026ca..27c903d0 100644 --- a/altosdroid/res/layout/tab_flight.xml +++ b/altosdroid/res/layout/tab_flight.xml @@ -15,377 +15,386 @@ with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. --> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:orientation="vertical" > + + <LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_weight="0" + android:baselineAligned="true" + android:orientation="horizontal" > + + <RelativeLayout + android:layout_width="0dp" android:layout_height="wrap_content" - android:orientation="vertical" > - - <LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_weight="0" - android:baselineAligned="true" - android:orientation="horizontal" > - - <RelativeLayout - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" > - - <TextView - android:id="@+id/speed_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/speed_label" /> - - <TextView - android:id="@+id/speed_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_below="@id/speed_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" > - - <TextView - android:id="@+id/height_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/height_label" /> - - <TextView - android:id="@+id/height_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_below="@id/height_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - </LinearLayout> - - <LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_weight="0" - android:baselineAligned="true" - android:orientation="horizontal" > - - <RelativeLayout - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" > - - <TextView - android:id="@+id/max_speed_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/max_speed_label" /> - - <TextView - android:id="@+id/max_speed_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_below="@id/max_speed_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" > - - <TextView - android:id="@+id/max_height_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/max_height_label" /> - - <TextView - android:id="@+id/max_height_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_below="@id/max_height_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - </LinearLayout> - - <LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_weight="0" - android:baselineAligned="true" - android:orientation="horizontal" - android:paddingTop="5dp" > - - <RelativeLayout - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" > - - <TextView - android:id="@+id/elevation_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/elevation_label" /> - - <TextView - android:id="@+id/elevation_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_below="@id/elevation_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" > - - <TextView - android:id="@+id/range_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/range_label" /> - - <TextView - android:id="@+id/range_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_below="@id/range_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - </LinearLayout> - - <LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_weight="0" - android:baselineAligned="true" - android:orientation="horizontal" - android:paddingTop="5dp" > - - <RelativeLayout - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" > - - <TextView - android:id="@+id/bearing_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/bearing_label" /> - - <TextView - android:id="@+id/bearing_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_below="@id/bearing_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" > - - <TextView - android:id="@+id/compass_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="" /> - - <TextView - android:id="@+id/compass_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_below="@id/compass_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - </LinearLayout> - - <LinearLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_weight="0" - android:baselineAligned="true" - android:orientation="horizontal" - android:paddingTop="5dp" > - - <RelativeLayout - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" > - - <TextView - android:id="@+id/distance_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/gnd_distance_label" /> - - <TextView - android:id="@+id/distance_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_below="@id/distance_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <TextView - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" > - </TextView> - - </LinearLayout> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingTop="5dp" > - - <TextView - android:id="@+id/lat_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/latitude_label" /> - - <TextView - android:id="@+id/lat_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_below="@id/lat_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingTop="5dp" > - - <TextView - android:id="@+id/lon_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/longitude_label" /> - - <TextView - android:id="@+id/lon_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_below="@id/lon_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingTop="5dp" > - - <ImageView - android:id="@+id/apogee_redled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:contentDescription="@string/apogee_voltage_label" - android:src="@drawable/grayled" /> - - <ImageView - android:id="@+id/apogee_greenled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/apogee_redled" - android:contentDescription="@string/apogee_voltage_label" - android:paddingRight="5dp" - android:src="@drawable/grayled" /> - - <TextView - android:id="@+id/apogee_voltage_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/apogee_greenled" - android:text="@string/apogee_voltage_label" /> - - <TextView - android:id="@+id/apogee_voltage_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_below="@id/apogee_voltage_label" - android:layout_toRightOf="@id/apogee_greenled" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingTop="5dp" > - - <ImageView - android:id="@+id/main_redled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:contentDescription="@string/main_voltage_label" - android:src="@drawable/grayled" /> - - <ImageView - android:id="@+id/main_greenled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/main_redled" - android:contentDescription="@string/main_voltage_label" - android:paddingRight="5dp" - android:src="@drawable/grayled" /> - - <TextView - android:id="@+id/main_voltage_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/main_greenled" - android:text="@string/main_voltage_label" /> - - <TextView - android:id="@+id/main_voltage_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentRight="true" - android:layout_below="@id/main_voltage_label" - android:layout_toRightOf="@id/main_greenled" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> + android:layout_weight="1" > + + <TextView + android:id="@+id/speed_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/speed_label" /> + + <TextView + android:id="@+id/speed_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_below="@id/speed_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </RelativeLayout> + + <RelativeLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" > + + <TextView + android:id="@+id/height_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/height_label" /> + + <TextView + android:id="@+id/height_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_below="@id/height_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </RelativeLayout> + + </LinearLayout> + + <LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_weight="0" + android:baselineAligned="true" + android:orientation="horizontal" > + + <RelativeLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" > + + <TextView + android:id="@+id/max_speed_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/max_speed_label" /> + + <TextView + android:id="@+id/max_speed_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_below="@id/max_speed_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </RelativeLayout> + + <RelativeLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" > + + <TextView + android:id="@+id/max_height_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/max_height_label" /> + + <TextView + android:id="@+id/max_height_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_below="@id/max_height_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </RelativeLayout> + + </LinearLayout> + + <LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_weight="0" + android:baselineAligned="true" + android:orientation="horizontal" + android:paddingTop="5dp" > + + <RelativeLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" > + + <TextView + android:id="@+id/elevation_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/elevation_label" /> + + <TextView + android:id="@+id/elevation_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_below="@id/elevation_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </RelativeLayout> + + <RelativeLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" > + + <TextView + android:id="@+id/range_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/range_label" /> + + <TextView + android:id="@+id/range_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_below="@id/range_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </RelativeLayout> + + </LinearLayout> + + <LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_weight="0" + android:baselineAligned="true" + android:orientation="horizontal" + android:paddingTop="5dp" > + + <RelativeLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" > + + <TextView + android:id="@+id/bearing_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/bearing_label" /> + + <TextView + android:id="@+id/bearing_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_below="@id/bearing_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </RelativeLayout> + + <RelativeLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" > + + <TextView + android:id="@+id/compass_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="" /> + + <TextView + android:id="@+id/compass_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_below="@id/compass_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </RelativeLayout> + + </LinearLayout> + + <LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_weight="0" + android:baselineAligned="true" + android:orientation="horizontal" + android:paddingTop="5dp" > + + <RelativeLayout + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" > + + <TextView + android:id="@+id/distance_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/gnd_distance_label" /> + + <TextView + android:id="@+id/distance_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_below="@id/distance_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </RelativeLayout> + + <TextView + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" > + </TextView> + + </LinearLayout> + + <RelativeLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingTop="5dp" > + + <TextView + android:id="@+id/lat_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/latitude_label" /> + + <TextView + android:id="@+id/lat_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_below="@id/lat_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </RelativeLayout> + + <RelativeLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingTop="5dp" > + + <TextView + android:id="@+id/lon_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/longitude_label" /> + + <TextView + android:id="@+id/lon_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_below="@id/lon_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </RelativeLayout> + + <RelativeLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingTop="5dp" > + + <ImageView + android:visibility="gone" + android:id="@+id/apogee_redled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/apogee_voltage_label" + android:src="@drawable/grayled" /> + + <ImageView + android:visibility="gone" + android:id="@+id/apogee_greenled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_toRightOf="@id/apogee_redled" + android:contentDescription="@string/apogee_voltage_label" + android:paddingRight="5dp" + android:src="@drawable/grayled" /> + + <TextView + android:visibility="gone" + android:id="@+id/apogee_voltage_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_toRightOf="@id/apogee_greenled" + android:text="@string/apogee_voltage_label" /> + + <TextView + android:visibility="gone" + android:id="@+id/apogee_voltage_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_below="@id/apogee_voltage_label" + android:layout_toRightOf="@id/apogee_greenled" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </RelativeLayout> + + <RelativeLayout + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingTop="5dp" > + + <ImageView + android:visibility="gone" + android:id="@+id/main_redled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/main_voltage_label" + android:src="@drawable/grayled" /> + + <ImageView + android:visibility="gone" + android:id="@+id/main_greenled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_toRightOf="@id/main_redled" + android:contentDescription="@string/main_voltage_label" + android:paddingRight="5dp" + android:src="@drawable/grayled" /> + + <TextView + android:visibility="gone" + android:id="@+id/main_voltage_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_toRightOf="@id/main_greenled" + android:text="@string/main_voltage_label" /> + + <TextView + android:visibility="gone" + android:id="@+id/main_voltage_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentRight="true" + android:layout_below="@id/main_voltage_label" + android:layout_toRightOf="@id/main_greenled" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </RelativeLayout> </LinearLayout> diff --git a/altosdroid/res/layout/tab_pad.xml b/altosdroid/res/layout/tab_pad.xml index 380eab91..f7a69f21 100644 --- a/altosdroid/res/layout/tab_pad.xml +++ b/altosdroid/res/layout/tab_pad.xml @@ -15,343 +15,466 @@ with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. --> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_weight="0" - android:orientation="vertical" > - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" > - - <ImageView - android:id="@+id/battery_redled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:contentDescription="@string/battery_voltage_label" - android:src="@drawable/grayled" /> - - <ImageView - android:id="@+id/battery_greenled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/battery_redled" - android:contentDescription="@string/battery_voltage_label" - android:paddingRight="5dp" - android:src="@drawable/grayled" /> - - <TextView - android:id="@+id/battery_voltage_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/battery_greenled" - android:text="@string/battery_voltage_label" /> - - <TextView - android:id="@+id/battery_voltage_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_below="@id/battery_voltage_label" - android:layout_toRightOf="@id/battery_greenled" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" > - - <ImageView - android:id="@+id/receiver_redled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:contentDescription="@string/receiver_voltage_label" - android:src="@drawable/grayled" /> - - <ImageView - android:id="@+id/receiver_greenled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/receiver_redled" - android:contentDescription="@string/receiver_voltage_label" - android:paddingRight="5dp" - android:src="@drawable/grayled" /> - - <TextView - android:id="@+id/receiver_voltage_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/receiver_greenled" - android:text="@string/receiver_voltage_label" /> - - <TextView - android:id="@+id/receiver_voltage_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_below="@id/receiver_voltage_label" - android:layout_toRightOf="@id/receiver_greenled" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingTop="5dp" > - - <ImageView - android:id="@+id/apogee_redled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:contentDescription="@string/apogee_voltage_label" - android:src="@drawable/grayled" /> - - <ImageView - android:id="@+id/apogee_greenled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/apogee_redled" - android:contentDescription="@string/apogee_voltage_label" - android:paddingRight="5dp" - android:src="@drawable/grayled" /> - - <TextView - android:id="@+id/apogee_voltage_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/apogee_greenled" - android:text="@string/apogee_voltage_label" /> - - <TextView - android:id="@+id/apogee_voltage_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_below="@id/apogee_voltage_label" - android:layout_toRightOf="@id/apogee_greenled" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingTop="5dp" > - - <ImageView - android:id="@+id/main_redled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:contentDescription="@string/main_voltage_label" - android:src="@drawable/grayled" /> - - <ImageView - android:id="@+id/main_greenled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/main_redled" - android:contentDescription="@string/main_voltage_label" - android:paddingRight="5dp" - android:src="@drawable/grayled" /> - - <TextView - android:id="@+id/main_voltage_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/main_greenled" - android:text="@string/main_voltage_label" /> - - <TextView - android:id="@+id/main_voltage_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_below="@id/main_voltage_label" - android:layout_toRightOf="@id/main_greenled" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingTop="5dp" > - - <ImageView - android:id="@+id/logging_redled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:contentDescription="@string/logging_label" - android:src="@drawable/grayled" /> - - <ImageView - android:id="@+id/logging_greenled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/logging_redled" - android:contentDescription="@string/logging_label" - android:paddingRight="5dp" - android:src="@drawable/grayled" /> - - <TextView - android:id="@+id/logging_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/logging_greenled" - android:text="@string/logging_label" /> - - <TextView - android:id="@+id/logging_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_below="@id/logging_label" - android:layout_toRightOf="@id/logging_greenled" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingTop="5dp" > - - <ImageView - android:id="@+id/gps_locked_redled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:contentDescription="@string/gps_locked_label" - android:src="@drawable/grayled" /> - - <ImageView - android:id="@+id/gps_locked_greenled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/gps_locked_redled" - android:contentDescription="@string/gps_locked_label" - android:paddingRight="5dp" - android:src="@drawable/grayled" /> - - <TextView - android:id="@+id/gps_locked_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/gps_locked_greenled" - android:text="@string/gps_locked_label" /> - - <TextView - android:id="@+id/gps_locked_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_below="@id/gps_locked_label" - android:layout_toRightOf="@id/gps_locked_greenled" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingTop="5dp" > - - <ImageView - android:id="@+id/gps_ready_redled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:contentDescription="@string/gps_ready_label" - android:src="@drawable/grayled" /> - - <ImageView - android:id="@+id/gps_ready_greenled" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/gps_ready_redled" - android:contentDescription="@string/gps_ready_label" - android:paddingRight="5dp" - android:src="@drawable/grayled" /> - - <TextView - android:id="@+id/gps_ready_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/gps_ready_greenled" - android:text="@string/gps_ready_label" /> - - <TextView - android:id="@+id/gps_ready_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_below="@id/gps_ready_label" - android:layout_toRightOf="@id/gps_ready_greenled" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingLeft="69dp"> - - <TextView - android:id="@+id/pad_lat_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:width="100sp" - android:paddingRight="10sp" - android:layout_toRightOf="@id/gps_ready_greenled" - android:text="@string/pad_lat_label" /> - - <TextView - android:id="@+id/pad_lat_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/pad_lat_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingLeft="69dp"> - - <TextView - android:id="@+id/pad_lon_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:width="100sp" - android:paddingRight="10sp" - android:layout_toRightOf="@id/gps_ready_greenled" - android:text="@string/pad_lon_label" /> - - <TextView - android:id="@+id/pad_lon_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/pad_lon_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - - <RelativeLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:paddingLeft="69dp"> - - <TextView - android:id="@+id/pad_alt_label" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:width="100sp" - android:paddingRight="10sp" - android:layout_toRightOf="@id/gps_ready_greenled" - android:text="@string/pad_alt_label" /> - - <TextView - android:id="@+id/pad_alt_value" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_toRightOf="@id/pad_alt_label" - android:text="" - android:textAppearance="?android:attr/textAppearanceSmall" /> - </RelativeLayout> - -</LinearLayout> + +<TableLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:stretchColumns="2,3" + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + + <TableRow + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + + <ImageView + android:id="@+id/battery_redled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/battery_voltage_label" + android:src="@drawable/grayled" + /> + + <ImageView + android:id="@+id/battery_greenled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/battery_voltage_label" + android:src="@drawable/grayled" /> + + <TextView + android:id="@+id/battery_voltage_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/battery_voltage_label" /> + + <TextView + android:id="@+id/battery_voltage_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" + /> + </TableRow> + + + <TableRow + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + + <ImageView + android:visibility="gone" + android:id="@+id/receiver_redled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/receiver_voltage_label" + android:src="@drawable/grayled" /> + + <ImageView + android:visibility="gone" + android:id="@+id/receiver_greenled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/receiver_voltage_label" + android:src="@drawable/grayled" /> + + <TextView + android:visibility="gone" + android:id="@+id/receiver_voltage_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/receiver_voltage_label" /> + + <TextView + android:visibility="gone" + android:id="@+id/receiver_voltage_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </TableRow> + + <TableRow + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content" > + + <ImageView + android:id="@+id/logging_redled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/logging_label" + android:src="@drawable/grayled" /> + + <ImageView + android:id="@+id/logging_greenled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/logging_label" + android:src="@drawable/grayled" /> + + <TextView + android:id="@+id/logging_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/logging_label" /> + + <TextView + android:id="@+id/logging_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@id/logging_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </TableRow> + + <TableRow + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content" > + + <ImageView + android:id="@+id/gps_locked_redled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/gps_locked_label" + android:src="@drawable/grayled" /> + + <ImageView + android:id="@+id/gps_locked_greenled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/gps_locked_label" + android:src="@drawable/grayled" /> + + <TextView + android:id="@+id/gps_locked_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/gps_locked_label" /> + + <TextView + android:id="@+id/gps_locked_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@id/gps_locked_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </TableRow> + + <TableRow + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content" > + + <ImageView + android:id="@+id/gps_ready_redled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/gps_ready_label" + android:src="@drawable/grayled" /> + + <ImageView + android:id="@+id/gps_ready_greenled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/gps_ready_label" + android:src="@drawable/grayled" /> + + <TextView + android:id="@+id/gps_ready_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/gps_ready_label" /> + + <TextView + android:id="@+id/gps_ready_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_below="@id/gps_ready_label" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </TableRow> + + <TableRow + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + + <ImageView + android:visibility="gone" + android:id="@+id/apogee_redled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/apogee_voltage_label" + android:src="@drawable/grayled" /> + + <ImageView + android:visibility="gone" + android:id="@+id/apogee_greenled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/apogee_voltage_label" + android:src="@drawable/grayled" /> + + <TextView + android:visibility="gone" + android:id="@+id/apogee_voltage_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/apogee_voltage_label" /> + + <TextView + android:visibility="gone" + android:id="@+id/apogee_voltage_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </TableRow> + + <TableRow + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content" > + + <ImageView + android:visibility="gone" + android:id="@+id/main_redled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/main_voltage_label" + android:src="@drawable/grayled" /> + + <ImageView + android:visibility="gone" + android:id="@+id/main_greenled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/main_voltage_label" + android:src="@drawable/grayled" /> + + <TextView + android:visibility="gone" + android:id="@+id/main_voltage_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/main_voltage_label" /> + + <TextView + android:visibility="gone" + android:id="@+id/main_voltage_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </TableRow> + + <TableRow + android:layout_width="wrap_content" + android:layout_height="wrap_content" > + + <ImageView + android:visibility="gone" + android:id="@+id/ignite_a_redled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/ignite_a_voltage_label" + android:src="@drawable/grayled" /> + + <ImageView + android:visibility="gone" + android:id="@+id/ignite_a_greenled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/ignite_a_voltage_label" + android:src="@drawable/grayled" /> + + <TextView + android:visibility="gone" + android:id="@+id/ignite_a_voltage_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/ignite_a_voltage_label" /> + + <TextView + android:visibility="gone" + android:id="@+id/ignite_a_voltage_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </TableRow> + + <TableRow + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content" > + + <ImageView + android:visibility="gone" + android:id="@+id/ignite_b_redled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/ignite_b_voltage_label" + android:src="@drawable/grayled" /> + + <ImageView + android:visibility="gone" + android:id="@+id/ignite_b_greenled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/ignite_b_voltage_label" + android:src="@drawable/grayled" /> + + <TextView + android:visibility="gone" + android:id="@+id/ignite_b_voltage_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/ignite_b_voltage_label" /> + + <TextView + android:visibility="gone" + android:id="@+id/ignite_b_voltage_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </TableRow> + + <TableRow + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content" > + + <ImageView + android:visibility="gone" + android:id="@+id/ignite_c_redled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/ignite_c_voltage_label" + android:src="@drawable/grayled" /> + + <ImageView + android:visibility="gone" + android:id="@+id/ignite_c_greenled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/ignite_c_voltage_label" + android:src="@drawable/grayled" /> + + <TextView + android:visibility="gone" + android:id="@+id/ignite_c_voltage_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/ignite_c_voltage_label" /> + + <TextView + android:visibility="gone" + android:id="@+id/ignite_c_voltage_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </TableRow> + + <TableRow + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content" > + + <ImageView + android:visibility="gone" + android:id="@+id/ignite_d_redled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/ignite_d_voltage_label" + android:src="@drawable/grayled" /> + + <ImageView + android:visibility="gone" + android:id="@+id/ignite_d_greenled" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:contentDescription="@string/ignite_d_voltage_label" + android:src="@drawable/grayled" /> + + <TextView + android:visibility="gone" + android:id="@+id/ignite_d_voltage_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/ignite_d_voltage_label" /> + + <TextView + android:visibility="gone" + android:id="@+id/ignite_d_voltage_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </TableRow> + + <TableRow + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + + <TextView + android:id="@+id/receiver_lat_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_column="2" + android:text="@string/receiver_latitude_label" /> + + <TextView + android:id="@+id/receiver_lat_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </TableRow> + + <TableRow + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + + <TextView + android:id="@+id/receiver_lon_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_column="2" + android:text="@string/receiver_longitude_label" /> + + <TextView + android:id="@+id/receiver_lon_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </TableRow> + + <TableRow + android:padding="2dip" + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + + <TextView + android:id="@+id/receiver_alt_label" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_column="2" + android:text="@string/receiver_altitude_label" /> + + <TextView + android:id="@+id/receiver_alt_value" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="" + android:textAppearance="?android:attr/textAppearanceSmall" /> + </TableRow> +</TableLayout> diff --git a/altosdroid/res/values/strings.xml b/altosdroid/res/values/strings.xml index 36b07bc2..e7014fc9 100644 --- a/altosdroid/res/values/strings.xml +++ b/altosdroid/res/values/strings.xml @@ -77,11 +77,15 @@ <string name="max_height_label">Max Height</string> <string name="max_speed_label">Max Speed</string> <string name="max_accel_label">Max Accel</string> - <string name="battery_voltage_label">Battery Voltage</string> + <string name="battery_voltage_label">Battery</string> <string name="receiver_voltage_label">Receiver Battery</string> - <string name="apogee_voltage_label">Apogee Igniter Voltage</string> - <string name="main_voltage_label">Main Igniter Voltage</string> - <string name="logging_label">On-board Data Logging</string> + <string name="apogee_voltage_label">Apogee Igniter</string> + <string name="main_voltage_label">Main Igniter</string> + <string name="ignite_a_voltage_label">Igniter A</string> + <string name="ignite_b_voltage_label">Igniter B</string> + <string name="ignite_c_voltage_label">Igniter C</string> + <string name="ignite_d_voltage_label">Igniter D</string> + <string name="logging_label">Data Logging</string> <string name="gps_locked_label">GPS Locked</string> <string name="gps_ready_label">GPS Ready</string> <string name="latitude_label">Latitude</string> @@ -90,9 +94,7 @@ <string name="target_longitude_label">Tar Lon</string> <string name="receiver_latitude_label">My Lat</string> <string name="receiver_longitude_label">My Lon</string> - <string name="pad_lat_label">Pad Lat</string> - <string name="pad_lon_label">Pad Lon</string> - <string name="pad_alt_label">Pad Alt</string> + <string name="receiver_altitude_label">My Alt</string> <!-- Map preload --> <string name="preload_site_label">Known Launch Sites</string> diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java index cfc55261..f6204547 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java @@ -54,9 +54,14 @@ public class TabPad extends AltosDroidTab { private TextView gps_ready_view; private GoNoGoLights gps_ready_lights; - private TextView pad_latitude_view; - private TextView pad_longitude_view; - private TextView pad_altitude_view; + private TextView receiver_latitude_view; + private TextView receiver_longitude_view; + private TextView receiver_altitude_view; + + private TextView[] ignite_voltage_view = new TextView[4]; + private TextView[] ignite_voltage_label = new TextView[4]; + private GoNoGoLights[] ignite_lights = new GoNoGoLights[4]; + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -99,9 +104,46 @@ public class TabPad extends AltosDroidTab { (ImageView) v.findViewById(R.id.gps_ready_greenled), getResources()); - pad_latitude_view = (TextView) v.findViewById(R.id.pad_lat_value); - pad_longitude_view = (TextView) v.findViewById(R.id.pad_lon_value); - pad_altitude_view = (TextView) v.findViewById(R.id.pad_alt_value); + for (int i = 0; i < 4; i++) { + int view_id, label_id, lights_id; + int red_id, green_id; + switch (i) { + case 0: + default: + view_id = R.id.ignite_a_voltage_value; + label_id = R.id.ignite_a_voltage_label; + red_id = R.id.ignite_a_redled; + green_id = R.id.ignite_a_greenled; + break; + case 1: + view_id = R.id.ignite_b_voltage_value; + label_id = R.id.ignite_b_voltage_label; + red_id = R.id.ignite_b_redled; + green_id = R.id.ignite_b_greenled; + break; + case 2: + view_id = R.id.ignite_c_voltage_value; + label_id = R.id.ignite_c_voltage_label; + red_id = R.id.ignite_c_redled; + green_id = R.id.ignite_c_greenled; + break; + case 3: + view_id = R.id.ignite_d_voltage_value; + label_id = R.id.ignite_d_voltage_label; + red_id = R.id.ignite_d_redled; + green_id = R.id.ignite_d_greenled; + break; + } + ignite_voltage_view[i] = (TextView) v.findViewById(view_id); + ignite_voltage_label[i] = (TextView) v.findViewById(label_id); + ignite_lights[i] = new GoNoGoLights((ImageView) v.findViewById(red_id), + (ImageView) v.findViewById(green_id), + getResources()); + } + + receiver_latitude_view = (TextView) v.findViewById(R.id.receiver_lat_value); + receiver_longitude_view = (TextView) v.findViewById(R.id.receiver_lon_value); + receiver_altitude_view = (TextView) v.findViewById(R.id.receiver_alt_value); return v; } @@ -109,13 +151,13 @@ public class TabPad extends AltosDroidTab { public void show(TelemetryState telem_state, AltosState state, AltosGreatCircle from_receiver, Location receiver) { if (state != null) { - battery_voltage_view.setText(AltosDroid.number("%4.2f V", state.battery_voltage)); + battery_voltage_view.setText(AltosDroid.number(" %4.2f V", state.battery_voltage)); battery_lights.set(state.battery_voltage >= AltosLib.ao_battery_good, state.battery_voltage == AltosLib.MISSING); if (state.apogee_voltage == AltosLib.MISSING) { apogee_voltage_view.setVisibility(View.GONE); apogee_voltage_label.setVisibility(View.GONE); } else { - apogee_voltage_view.setText(AltosDroid.number("%4.2f V", state.apogee_voltage)); + apogee_voltage_view.setText(AltosDroid.number(" %4.2f V", state.apogee_voltage)); apogee_voltage_view.setVisibility(View.VISIBLE); apogee_voltage_label.setVisibility(View.VISIBLE); } @@ -124,12 +166,27 @@ public class TabPad extends AltosDroidTab { main_voltage_view.setVisibility(View.GONE); main_voltage_label.setVisibility(View.GONE); } else { - main_voltage_view.setText(AltosDroid.number("%4.2f V", state.main_voltage)); + main_voltage_view.setText(AltosDroid.number(" %4.2f V", state.main_voltage)); main_voltage_view.setVisibility(View.VISIBLE); main_voltage_label.setVisibility(View.VISIBLE); } main_lights.set(state.main_voltage >= AltosLib.ao_igniter_good, state.main_voltage == AltosLib.MISSING); + int num_igniter = state.ignitor_voltage == null ? 0 : state.ignitor_voltage.length; + + for (int i = 0; i < 4; i++) { + double voltage = i >= num_igniter ? AltosLib.MISSING : state.ignitor_voltage[i]; + if (voltage == AltosLib.MISSING) { + ignite_voltage_view[i].setVisibility(View.GONE); + ignite_voltage_label[i].setVisibility(View.GONE); + } else { + ignite_voltage_view[i].setText(AltosDroid.number(" %4.2f V", voltage)); + ignite_voltage_view[i].setVisibility(View.VISIBLE); + ignite_voltage_label[i].setVisibility(View.VISIBLE); + } + ignite_lights[i].set(voltage >= AltosLib.ao_igniter_good, voltage == AltosLib.MISSING); + } + if (state.flight != 0) { if (state.state <= AltosLib.ao_flight_pad) data_logging_view.setText("Ready to record"); @@ -145,7 +202,7 @@ public class TabPad extends AltosDroidTab { if (state.gps != null) { int soln = state.gps.nsat; int nsat = state.gps.cc_gps_sat != null ? state.gps.cc_gps_sat.length : 0; - gps_locked_view.setText(String.format("%4d in soln, %4d in view", soln, nsat)); + gps_locked_view.setText(String.format("%d in soln, %d in view", soln, nsat)); gps_locked_lights.set(state.gps.locked && state.gps.nsat >= 4, false); if (state.gps_ready) gps_ready_view.setText("Ready"); @@ -161,7 +218,7 @@ public class TabPad extends AltosDroidTab { receiver_voltage_view.setVisibility(View.GONE); receiver_voltage_label.setVisibility(View.GONE); } else { - receiver_voltage_view.setText(AltosDroid.number("%4.2f V", telem_state.receiver_battery)); + receiver_voltage_view.setText(AltosDroid.number(" %4.2f V", telem_state.receiver_battery)); receiver_voltage_view.setVisibility(View.VISIBLE); receiver_voltage_label.setVisibility(View.VISIBLE); } @@ -172,10 +229,9 @@ public class TabPad extends AltosDroidTab { double altitude = AltosLib.MISSING; if (receiver.hasAltitude()) altitude = receiver.getAltitude(); - pad_latitude_view.setText(AltosDroid.pos(receiver.getLatitude(), "N", "S")); - pad_longitude_view.setText(AltosDroid.pos(receiver.getLongitude(), "E", "W")); - set_value(pad_altitude_view, AltosConvert.height, 6, altitude); + receiver_latitude_view.setText(AltosDroid.pos(receiver.getLatitude(), "N", "S")); + receiver_longitude_view.setText(AltosDroid.pos(receiver.getLongitude(), "E", "W")); + set_value(receiver_altitude_view, AltosConvert.height, 1, altitude); } } - } |