diff --git a/androidgcs/AndroidManifest.xml b/androidgcs/AndroidManifest.xml index d6d85d5e7..f6a728378 100644 --- a/androidgcs/AndroidManifest.xml +++ b/androidgcs/AndroidManifest.xml @@ -28,6 +28,7 @@ + + + + + + \ No newline at end of file diff --git a/androidgcs/src/org/openpilot/androidgcs/HomePage.java b/androidgcs/src/org/openpilot/androidgcs/HomePage.java index c67605ee6..500afeec3 100644 --- a/androidgcs/src/org/openpilot/androidgcs/HomePage.java +++ b/androidgcs/src/org/openpilot/androidgcs/HomePage.java @@ -48,6 +48,12 @@ public class HomePage extends ObjectManagerActivity { } }); + Button alarms = (Button) findViewById(R.id.launch_alarms); + alarms.setOnClickListener(new OnClickListener() { + public void onClick(View arg0) { + startActivity(new Intent(HomePage.this, SystemAlarmActivity.class)); + } + }); } } diff --git a/androidgcs/src/org/openpilot/androidgcs/SystemAlarmActivity.java b/androidgcs/src/org/openpilot/androidgcs/SystemAlarmActivity.java new file mode 100644 index 000000000..b69c2a297 --- /dev/null +++ b/androidgcs/src/org/openpilot/androidgcs/SystemAlarmActivity.java @@ -0,0 +1,45 @@ +package org.openpilot.androidgcs; + +import java.util.List; + +import org.openpilot.uavtalk.UAVObject; +import org.openpilot.uavtalk.UAVObjectField; + +import android.os.Bundle; +import android.widget.TextView; + +public class SystemAlarmActivity extends ObjectManagerActivity { + /** + * Update the UI whenever the attitude is updated + */ + protected void objectUpdated(UAVObject obj) { + if (obj.getName().compareTo("SystemAlarms") != 0) + return; + + TextView alarms = (TextView) findViewById(R.id.system_alarms_status); + UAVObjectField a = obj.getField("Alarm"); + List names = a.getElementNames(); + String contents = new String(); + for (int i = 0; i < names.size(); i++) { + contents += names.get(i) + " : " + a.getValue(i).toString() + "\n"; + } + alarms.setText(contents); + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.system_alarms); + } + + @Override + void onOPConnected() { + super.onOPConnected(); + + // Connect the update method to AttitudeActual + UAVObject obj = objMngr.getObject("SystemAlarms"); + if (obj != null) + registerObjectUpdates(obj); + objectUpdated(obj); + } +}