From d6c2aad62a24b91c7abca612fa565f897d188177 Mon Sep 17 00:00:00 2001 From: James Cotton Date: Sun, 5 Aug 2012 14:38:29 -0500 Subject: [PATCH] AndroidGCS: Fix the getDouble() method for enum fields and make the UAVO browser properly initialize enums in editing mode --- .../src/org/openpilot/androidgcs/ObjectEditView.java | 1 + androidgcs/src/org/openpilot/uavtalk/UAVObjectField.java | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/androidgcs/src/org/openpilot/androidgcs/ObjectEditView.java b/androidgcs/src/org/openpilot/androidgcs/ObjectEditView.java index 8f3147c14..7946a357b 100644 --- a/androidgcs/src/org/openpilot/androidgcs/ObjectEditView.java +++ b/androidgcs/src/org/openpilot/androidgcs/ObjectEditView.java @@ -91,6 +91,7 @@ public class ObjectEditView extends GridLayout { ArrayAdapter adapter = new ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item); adapter.addAll(field.getOptions()); ((Spinner) fieldValue).setAdapter(adapter); + ((Spinner) fieldValue).setSelection((int) field.getDouble(idx)); break; } diff --git a/androidgcs/src/org/openpilot/uavtalk/UAVObjectField.java b/androidgcs/src/org/openpilot/uavtalk/UAVObjectField.java index 988642ff0..da5184be8 100644 --- a/androidgcs/src/org/openpilot/uavtalk/UAVObjectField.java +++ b/androidgcs/src/org/openpilot/uavtalk/UAVObjectField.java @@ -390,7 +390,14 @@ public class UAVObjectField { } public double getDouble() { return getDouble(0); }; - public double getDouble(int index) { + @SuppressWarnings("unchecked") + public double getDouble(int index) { + switch (type) { + case ENUM: + return ((List)data).get(index); + default: + break; + } return ((Number) getValue(index)).doubleValue(); }