diff --git a/extras/pandroid_event_viewer/.classpath b/extras/pandroid_event_viewer/.classpath
index 6aed2ebfbe..a9f0767dbb 100644
--- a/extras/pandroid_event_viewer/.classpath
+++ b/extras/pandroid_event_viewer/.classpath
@@ -1,8 +1,9 @@
-
-
+
+
+
diff --git a/extras/pandroid_event_viewer/ChangeLog b/extras/pandroid_event_viewer/ChangeLog
index ebd45d82f1..7825dcaaa5 100644
--- a/extras/pandroid_event_viewer/ChangeLog
+++ b/extras/pandroid_event_viewer/ChangeLog
@@ -1,3 +1,10 @@
+2012-07-03 Santiago Munín
+ * src/pandroid_event_viewer/pandorafms/IncidentListItem.java: Deleted, not necessary class.
+ * src/pandroid_event_viewer/pandorafms/IncidentList.java: Deleted, not necessary class.
+ * src/pandroid_event_viewer/pandorafms/EventList.java: The event type images are now fetched from the application (not internet).
+ * src/pandroid_event_viewer/pandorafms/Core.java: Added a method which returns the event type image.
+ * res/res/drawable-ldpi/: Added some images.
+
2012-06-30 Santiago Munín
* src/pandroid_event_viewer/pandorafms/Main.java: Added a check in order to prevent profile overwritings.
* src/pandroid_event_viewer/pandorafms/Core.java: Added method which finds a string in a list (case insensitive).
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/b_green.png b/extras/pandroid_event_viewer/res/drawable-ldpi/b_green.png
new file mode 100644
index 0000000000..f0b4d64acd
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/b_green.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/b_red.png b/extras/pandroid_event_viewer/res/drawable-ldpi/b_red.png
new file mode 100644
index 0000000000..452e757d75
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/b_red.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/b_yellow.png b/extras/pandroid_event_viewer/res/drawable-ldpi/b_yellow.png
new file mode 100644
index 0000000000..117285ff7e
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/b_yellow.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/bell.png b/extras/pandroid_event_viewer/res/drawable-ldpi/bell.png
new file mode 100644
index 0000000000..6e0015df4f
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/bell.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/cog.png b/extras/pandroid_event_viewer/res/drawable-ldpi/cog.png
new file mode 100644
index 0000000000..8f4eeb7611
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/cog.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/err.png b/extras/pandroid_event_viewer/res/drawable-ldpi/err.png
new file mode 100644
index 0000000000..3cb2e983a4
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/err.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/error.png b/extras/pandroid_event_viewer/res/drawable-ldpi/error.png
new file mode 100644
index 0000000000..dbfda22975
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/error.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/eye.png b/extras/pandroid_event_viewer/res/drawable-ldpi/eye.png
new file mode 100644
index 0000000000..403aaa4126
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/eye.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/network.png b/extras/pandroid_event_viewer/res/drawable-ldpi/network.png
new file mode 100644
index 0000000000..eb6ee812cb
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/network.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/severity_critical.png b/extras/pandroid_event_viewer/res/drawable-ldpi/severity_critical.png
new file mode 100644
index 0000000000..3a23a87013
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/severity_critical.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/severity_informational.png b/extras/pandroid_event_viewer/res/drawable-ldpi/severity_informational.png
new file mode 100644
index 0000000000..841319de1d
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/severity_informational.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/severity_maintenance.png b/extras/pandroid_event_viewer/res/drawable-ldpi/severity_maintenance.png
new file mode 100644
index 0000000000..f0b9b3c123
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/severity_maintenance.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/severity_normal.png b/extras/pandroid_event_viewer/res/drawable-ldpi/severity_normal.png
new file mode 100644
index 0000000000..d5d63511fc
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/severity_normal.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/severity_warning.png b/extras/pandroid_event_viewer/res/drawable-ldpi/severity_warning.png
new file mode 100644
index 0000000000..63bfee13a5
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/severity_warning.png differ
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/wand.png b/extras/pandroid_event_viewer/res/drawable-ldpi/wand.png
new file mode 100644
index 0000000000..1da4964f22
Binary files /dev/null and b/extras/pandroid_event_viewer/res/drawable-ldpi/wand.png differ
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Core.java b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Core.java
index 4b4483551b..cd0067d3f8 100644
--- a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Core.java
+++ b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Core.java
@@ -606,4 +606,71 @@ public class Core {
}
return false;
}
+
+ /**
+ * Returns the corresponding image to the given severity code.
+ *
+ * @param context
+ * Application context.
+ * @param severityCode
+ * Severity code.
+ * @return a Drawable item.
+ */
+ public static Drawable getSeverityImage(Context context, int severityCode) {
+ switch (severityCode) {
+ case 0:
+ return context.getResources().getDrawable(
+ R.drawable.severity_maintenance);
+ case 1:
+ return context.getResources().getDrawable(
+ R.drawable.severity_informational);
+
+ case 2:
+ return context.getResources().getDrawable(
+ R.drawable.severity_normal);
+
+ case 3:
+ return context.getResources().getDrawable(
+ R.drawable.severity_warning);
+
+ case 4:
+ return context.getResources().getDrawable(
+ R.drawable.severity_critical);
+ }
+ return null;
+ }
+
+ /**
+ * Returns the corresponding image to the given event type.
+ *
+ * @param context
+ * Application context.
+ * @param eventType
+ * Event type.
+ * @return Drawable
+ */
+ public static Drawable getEventTypeImage(Context context, String eventType) {
+ eventType = eventType.toLowerCase();
+ Map images = new HashMap();
+ images.put("alert_recovered", R.drawable.error);
+ images.put("alert_manual_validation", R.drawable.eye);
+ images.put("going_up_warning", R.drawable.b_yellow);
+ images.put("going_up_critical", R.drawable.b_red);
+ images.put("going_down_critical", R.drawable.b_red);
+ images.put("going_up_normal", R.drawable.b_green);
+ images.put("going_down_normal", R.drawable.b_green);
+ images.put("going_down_warning", R.drawable.b_yellow);
+ images.put("alert_fired", R.drawable.bell);
+ images.put("system", R.drawable.cog);
+ images.put("recon_host_detected", R.drawable.network);
+ images.put("new_agent", R.drawable.wand);
+ images.put("unknown", R.drawable.err);
+
+ Integer code = images.get(eventType.toLowerCase());
+ if (code != null) {
+ return context.getResources().getDrawable(code);
+ } else {
+ return null;
+ }
+ }
}
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/EventList.java b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/EventList.java
index 22af74a538..2fd1f5d681 100644
--- a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/EventList.java
+++ b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/EventList.java
@@ -387,9 +387,9 @@ public class EventList extends ListActivity {
timestamp.setText(item.timestamp);
if (item.criticity_image.length() != 0)
- Core.setTextViewLeftImage(
- (TextView) view.findViewById(R.id.event_name),
- Core.downloadImage(item.criticity_image));
+ Core.setTextViewLeftImage((TextView) view.findViewById(R.id.event_name), Core
+ .getSeverityImage(getApplicationContext(),
+ item.criticity), 16);
if (item.group_icon.length() != 0)
Core.setTextViewLeftImage(
@@ -471,10 +471,9 @@ public class EventList extends ListActivity {
text.setMovementMethod(LinkMovementMethod.getInstance());
}
- if (item.description_image.length() != 0)
- Core.setTextViewLeftImage((TextView) viewEventExtended
- .findViewById(R.id.type_text),
- item.description_image);
+ Core.setTextViewLeftImage((TextView) viewEventExtended
+ .findViewById(R.id.type_text),
+ Core.getEventTypeImage(getApplicationContext(), item.event_type), 16);
text = (TextView) viewEventExtended
.findViewById(R.id.type_text);
@@ -484,12 +483,10 @@ public class EventList extends ListActivity {
text = (TextView) viewEventExtended
.findViewById(R.id.severity_text);
text.setText(item.criticity_name);
-
- if (item.criticity_image.length() != 0)
- Core.setTextViewLeftImage(
- (TextView) viewEventExtended
- .findViewById(R.id.severity_text),
- item.criticity_image);
+ Core.setTextViewLeftImage((TextView) viewEventExtended
+ .findViewById(R.id.severity_text), Core
+ .getSeverityImage(getApplicationContext(),
+ item.criticity), 16);
}
// Set the open and close the extended info event row
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/IncidentList.java b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/IncidentList.java
deleted file mode 100644
index f7293b5b14..0000000000
--- a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/IncidentList.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
-Pandora FMS - http://pandorafms.com
-
-==================================================
-Copyright (c) 2005-2011 Artica Soluciones Tecnologicas
-Please see http://pandorafms.org for full contribution list
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public License
-as published by the Free Software Foundation; version 2
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
- */
-package pandroid_event_viewer.pandorafms;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import android.app.ListActivity;
-import android.content.Context;
-import android.os.AsyncTask;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup;
-import android.widget.BaseAdapter;
-import android.widget.Button;
-import android.widget.LinearLayout;
-import android.widget.ListView;
-import android.widget.RelativeLayout;
-import android.widget.TextView;
-
-/**
- * Activity where incidents are displayed.
- *
- * @author Santiago Munín González
- *
- */
-public class IncidentList extends ListActivity {
- private ListView lv;
- private MyIncidentListAdapter la;
- private boolean loadInProgress;
- private static String TAG = "IncidentList";
- private List incidents = new ArrayList();
- private int newIncidents;
- private int offset, pagination;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.list_view_layout);
- offset = 0;
- pagination = 0;
- la = new MyIncidentListAdapter(getBaseContext());
- this.toggleLoadingLayout();
- lv = (ListView) findViewById(android.R.id.list);
- lv.setAdapter(la);
- // TODO broadcast receiver went here
- this.toggleLoadingLayout();
- loadIncidents();
- this.toggleLoadingLayout();
- }
-
- /**
- * Shows loading information.
- */
- private void toggleLoadingLayout() {
- LinearLayout layout;
-
- layout = (LinearLayout) findViewById(R.id.empty_list_layout);
- layout.setVisibility(LinearLayout.GONE);
-
- // layout = (LinearLayout) findViewById(R.id.loading_layout);
-
- if (loadInProgress) {
- layout.setVisibility(LinearLayout.VISIBLE);
- } else {
- layout.setVisibility(LinearLayout.GONE);
- }
- }
- /**
- * Loads incidents.
- *
- */
- private void loadIncidents() {
- la.showLoadingEvents = true;
- new GetIncidentsTask().execute((Void)null);
- }
- private class GetIncidentsTask extends AsyncTask {
- List list = new ArrayList();
- @Override
- protected Void doInBackground(Void... params) {
- incidents = new ArrayList();
- //TODO just a tests
- IncidentListItem i = new IncidentListItem();
- i.title = "Test";
- i.description = "asdadsadads";
- i.timestamp = "ASDD";
- i.statusImage = "http://www.limpiatumundo.com/imagenes/circle_blue.png";
- list.add(i);
- i = new IncidentListItem();
- i.title = "Test2";
- list.add(i);
-
- return null;
- }
- @Override
- protected void onPostExecute(Void result) {
- super.onPostExecute(result);
- incidents.clear();
- incidents.addAll(list);
- la.notifyDataSetChanged();
- }
-
- }
- /**
- * Private adapter (incident list).
- *
- * @author Santiago Munín González
- *
- */
- private class MyIncidentListAdapter extends BaseAdapter {
- private Context mContext;
- public boolean showLoadingEvents;
-
- public MyIncidentListAdapter(Context c) {
- super();
- mContext = c;
- showLoadingEvents = false;
-
- }
-
- @Override
- public int getCount() {
- // TODO +1?
- return incidents.size();
- }
-
- @Override
- public Object getItem(int position) {
- return null;
- }
-
- @Override
- public long getItemId(int position) {
- return 0;
- }
-
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- View view;
-
- LayoutInflater inflater = (LayoutInflater) mContext
- .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- view = inflater.inflate(R.layout.item_list_incident_layout, null);
- view.setOnClickListener(new OnIncidentClickListener(position));
- // If the end of the list.
- if (incidents.size() == position) {
- // Show button to get more events
- if ((!loadInProgress) && (newIncidents != 0)) {
- if (showLoadingEvents) {
- LinearLayout layout = (LinearLayout) view
- .findViewById(R.id.loading_more_incidents);
- layout.setVisibility(LinearLayout.VISIBLE);
-
- RelativeLayout layout2 = (RelativeLayout) view
- .findViewById(R.id.content_incident_item);
- layout2.setVisibility(RelativeLayout.VISIBLE);
-
- Button button = (Button) view
- .findViewById(R.id.button_load_more_incidents);
- button.setVisibility(Button.GONE);
- } else {
- Button button = (Button) view
- .findViewById(R.id.button_load_more_incidents);
-
- /* if (incidents.size() == 0) {
- button.setVisibility(Button.GONE);
- } else if (incidents.size() >= newIncidents) {
- button.setVisibility(Button.GONE);
- } else {
- button.setVisibility(Button.VISIBLE);
- }*/
-
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- offset += pagination;
- loadIncidents();
- }
- });
-
- /*RelativeLayout content_event_item = (RelativeLayout) view
- .findViewById(R.id.content_event_item);
- content_event_item.setVisibility(RelativeLayout.GONE);*/
- }
- }
- } else {
- IncidentListItem item = incidents.get(position);
-
- TextView tv = (TextView) view.findViewById(R.id.incident_name);
- tv.setText(item.title);
- Core.setTextViewLeftImage(tv, item.statusImage);
-
- tv = (TextView) view.findViewById(R.id.incident_agent);
- tv.setText(item.nameAgent);
- Core.setTextViewLeftImage(tv, item.priorityImage);
-
- tv = (TextView) view
- .findViewById(R.id.incident_last_update_timestamp);
- tv.setText(item.timestamp);
-
- // Show extended info
- if (item.opened) {
- ((LinearLayout) view.findViewById(R.id.incident_extra_info)).setVisibility(View.VISIBLE);
-
- TextView text = (TextView) view.findViewById(R.id.incident_description);
- text.setText(item.description);
-
- view.setOnClickListener(new OnIncidentClickListener(position));
-
- Button button;
- button = (Button) findViewById(R.id.incident_close_button);
- // TODO if status == closed then
- // button.setVisibility(Visibility.GONE);
- // else
- /* button.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(View v) {
- // TODO close event
- }
- });*/
-
- } else {
- ((LinearLayout) view.findViewById(R.id.incident_extra_info)).setVisibility(View.GONE);
- }
- }
-
- return view;
- }
-
- /**
- * Custom click listener (show more information).
- *
- * @author Santiago Munín González
- *
- */
- private class OnIncidentClickListener implements OnClickListener {
- private int mPosition;
-
- OnIncidentClickListener(int position) {
- mPosition = position;
- }
-
- @Override
- public void onClick(View arg0) {
- IncidentListItem item = incidents.get(mPosition);
- item.opened = !item.opened;
- incidents.set(mPosition, item);
- la.notifyDataSetChanged();
- }
- }
- }
-}
\ No newline at end of file
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/IncidentListItem.java b/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/IncidentListItem.java
deleted file mode 100644
index 565fea9e39..0000000000
--- a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/IncidentListItem.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package pandroid_event_viewer.pandorafms;
-
-import java.util.List;
-
-/**
- * Represents an incident.
- *
- * @author Santiago Munín González
- *
- */
-public class IncidentListItem {
- public int id;
- public int idAgent;
- public String nameAgent;
- public String title;
- public String description;
- public int priority;
- public String priorityImage;
- public int idGroup;
- public String nameGroup;
- public List notes;
- public int status;
- public String statusImage;
- public String timestamp;
- public boolean opened = false;
- //TODO attachments too?
-}