diff --git a/extras/android-event-viewer/.gitignore b/extras/android-event-viewer/.gitignore
new file mode 100644
index 0000000000..28a312e757
--- /dev/null
+++ b/extras/android-event-viewer/.gitignore
@@ -0,0 +1,56 @@
+# Built application files
+*.apk
+*.ap_
+
+# Files for the ART/Dalvik VM
+*.dex
+
+# Java class files
+*.class
+
+# Generated files
+bin/
+gen/
+out/
+
+# Gradle files
+.gradle/
+build/
+
+# Local configuration file (sdk path, etc)
+local.properties
+
+# Proguard folder generated by Eclipse
+proguard/
+
+# Log Files
+*.log
+
+# Android Studio Navigation editor temp files
+.navigation/
+
+# Android Studio captures folder
+captures/
+
+# Intellij
+*.iml
+.idea/workspace.xml
+.idea/tasks.xml
+.idea/gradle.xml
+.idea/dictionaries
+.idea/libraries
+
+# Keystore files
+*.jks
+
+# External native build folder generated in Android Studio 2.2 and later
+.externalNativeBuild
+
+# Google Services (e.g. APIs or Firebase)
+google-services.json
+
+# Freeline
+freeline.py
+freeline/
+freeline_project_description.json
+
diff --git a/extras/android-event-viewer/.idea/compiler.xml b/extras/android-event-viewer/.idea/compiler.xml
new file mode 100644
index 0000000000..96cc43efa6
--- /dev/null
+++ b/extras/android-event-viewer/.idea/compiler.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/extras/android-event-viewer/.idea/copyright/profiles_settings.xml b/extras/android-event-viewer/.idea/copyright/profiles_settings.xml
new file mode 100644
index 0000000000..e7bedf3377
--- /dev/null
+++ b/extras/android-event-viewer/.idea/copyright/profiles_settings.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/extras/android-event-viewer/.idea/misc.xml b/extras/android-event-viewer/.idea/misc.xml
new file mode 100644
index 0000000000..38041c7cc6
--- /dev/null
+++ b/extras/android-event-viewer/.idea/misc.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/extras/android-event-viewer/.idea/modules.xml b/extras/android-event-viewer/.idea/modules.xml
new file mode 100644
index 0000000000..135b400226
--- /dev/null
+++ b/extras/android-event-viewer/.idea/modules.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/extras/android-event-viewer/.idea/runConfigurations.xml b/extras/android-event-viewer/.idea/runConfigurations.xml
new file mode 100644
index 0000000000..7f68460d8b
--- /dev/null
+++ b/extras/android-event-viewer/.idea/runConfigurations.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/extras/android-event-viewer/app/build.gradle b/extras/android-event-viewer/app/build.gradle
new file mode 100644
index 0000000000..92924f93b3
--- /dev/null
+++ b/extras/android-event-viewer/app/build.gradle
@@ -0,0 +1,19 @@
+apply plugin: 'com.android.application'
+
+android {
+ compileSdkVersion 8
+ buildToolsVersion "25.0.2"
+
+ defaultConfig {
+ applicationId "pandroid_event_viewer.pandorafms"
+ minSdkVersion 8
+ targetSdkVersion 8
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
+ }
+ }
+}
diff --git a/extras/pandroid_event_viewer/lint.xml b/extras/android-event-viewer/app/lint.xml
similarity index 61%
rename from extras/pandroid_event_viewer/lint.xml
rename to extras/android-event-viewer/app/lint.xml
index f4be1f0ca4..b148b1a931 100644
--- a/extras/pandroid_event_viewer/lint.xml
+++ b/extras/android-event-viewer/app/lint.xml
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/extras/pandroid_event_viewer/AndroidManifest.xml b/extras/android-event-viewer/app/src/main/AndroidManifest.xml
similarity index 98%
rename from extras/pandroid_event_viewer/AndroidManifest.xml
rename to extras/android-event-viewer/app/src/main/AndroidManifest.xml
index 443f3c8bd0..bdd70a163e 100644
--- a/extras/pandroid_event_viewer/AndroidManifest.xml
+++ b/extras/android-event-viewer/app/src/main/AndroidManifest.xml
@@ -16,8 +16,8 @@
-->
+ android:versionCode="6"
+ android:versionName="1.5" >
parameters = new ArrayList();
parameters.add(new BasicNameValuePair("op", "get"));
parameters.add(new BasicNameValuePair("op2", "events"));
parameters.add(new BasicNameValuePair("other_mode",
"url_encode_separator_|"));
- parameters.add(new BasicNameValuePair("return_type", "csv"));
+ parameters.add(new BasicNameValuePair("return_type", returnType));
parameters.add(new BasicNameValuePair("other",
serializeEventsParamsToAPI(filterAgentName, idGroup,
filterSeverity, filterStatus, filterEventSearch,
@@ -159,6 +162,88 @@ public class API {
more_criticity)));
return Core.httpGet(context, parameters);
}
+
+ /**
+ * Performs a get_events API call.
+ *
+ * @param context
+ * Application context.
+ * @param filterAgentName
+ * Agent name.
+ * @param idGroup
+ * Group id.
+ * @param filterSeverity
+ * Severity.
+ * @param filterStatus
+ * Status.
+ * @param filterEventSearch
+ * Text in event title.
+ * @param filterTag
+ * Tag.
+ * @param filterTimestamp
+ * Events after this time.
+ * @param itemsPerPage
+ * Number of items retrieved per list in each call.
+ * @param offset
+ * List offset.
+ * @param total
+ * Retrieve number of events instead of events info.
+ * @param more_criticity
+ * Retrieve maximum criticity instead of events info.
+ *
+ * @return API call result.
+ * @throws IOException
+ * if there was any problem.
+ */
+ public static String getEvents (Context context, String filterAgentName,
+ int idGroup, int filterSeverity, int filterStatus,
+ String filterEventSearch, String filterTag,
+ long filterTimestamp, long itemsPerPage, long offset,
+ boolean total, boolean more_criticity) throws IOException {
+ return API.getEvents(context,
+ filterAgentName, idGroup, filterSeverity, filterStatus, filterEventSearch,
+ filterTag, filterTimestamp, itemsPerPage, offset, total, more_criticity, "csv");
+ }
+
+ /**
+ * Performs a get_events API call.
+ *
+ * @param context
+ * Application context.
+ * @param filterAgentName
+ * Agent name.
+ * @param idGroup
+ * Group id.
+ * @param filterSeverity
+ * Severity.
+ * @param filterStatus
+ * Status.
+ * @param filterEventSearch
+ * Text in event title.
+ * @param filterTag
+ * Tag.
+ * @param filterTimestamp
+ * Events after this time.
+ * @param itemsPerPage
+ * Number of items retrieved per list in each call.
+ * @param offset
+ * List offset.
+ * @param returnType
+ * To chose the type of the returned data (csv, json...).
+ *
+ * @return API call result.
+ * @throws IOException
+ * if there was any problem.
+ */
+ public static String getEvents (Context context, String filterAgentName,
+ int idGroup, int filterSeverity, int filterStatus,
+ String filterEventSearch, String filterTag,
+ long filterTimestamp, long itemsPerPage, long offset,
+ String returnType) throws IOException {
+ return API.getEvents(context,
+ filterAgentName, idGroup, filterSeverity, filterStatus, filterEventSearch,
+ filterTag, filterTimestamp, itemsPerPage, offset, false, false, returnType);
+ }
/**
* Get tags through an api call.
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/About.java b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/About.java
similarity index 100%
rename from extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/About.java
rename to extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/About.java
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Core.java b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/Core.java
similarity index 95%
rename from extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Core.java
rename to extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/Core.java
index 462a0af2d5..4363e7d57a 100644
--- a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Core.java
+++ b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/Core.java
@@ -34,6 +34,8 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
@@ -755,4 +757,32 @@ public class Core {
return null;
}
}
+
+ /**
+ * Returns the major version by extracting it from the api_version token from the preferences.
+ *
+ * @param context Application context.
+ * @return int Major API version
+ *
+ * @throws Exception If the major version cannot be extracted.
+ * @throws NumberFormatException If the major version cannot be casted to integer.
+ */
+ public static int getMajorVersion (Context context) throws Exception {
+ SharedPreferences preferences = context.getSharedPreferences(
+ context.getString(R.string.const_string_preferences),
+ Activity.MODE_PRIVATE);
+ // It is something like v5.0SP1
+ String api_version = preferences.getString("api_version", "");
+
+ // Try to get the version number
+ Matcher apiVerMatcher = Pattern.compile("^v(\\d)+\\.\\d+.*$").matcher(api_version);
+
+ if (apiVerMatcher.find()) {
+ String apiVerString = apiVerMatcher.group(1);
+ int apiVerNumber = Integer.parseInt(apiVerString);
+
+ return apiVerNumber;
+ }
+ throw new Exception("The version number cannot be extracted from the version string");
+ }
}
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/EventList.java b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/EventList.java
similarity index 100%
rename from extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/EventList.java
rename to extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/EventList.java
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/EventListItem.java b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/EventListItem.java
similarity index 100%
rename from extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/EventListItem.java
rename to extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/EventListItem.java
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Info.java b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/Info.java
similarity index 100%
rename from extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Info.java
rename to extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/Info.java
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Main.java b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/Main.java
similarity index 100%
rename from extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Main.java
rename to extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/Main.java
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/NaiveTrustManager.java b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/NaiveTrustManager.java
similarity index 100%
rename from extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/NaiveTrustManager.java
rename to extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/NaiveTrustManager.java
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/OnBootLoader.java b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/OnBootLoader.java
similarity index 100%
rename from extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/OnBootLoader.java
rename to extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/OnBootLoader.java
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Options.java b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/Options.java
similarity index 100%
rename from extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/Options.java
rename to extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/Options.java
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/PandroidEventviewerActivity.java b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/PandroidEventviewerActivity.java
similarity index 60%
rename from extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/PandroidEventviewerActivity.java
rename to extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/PandroidEventviewerActivity.java
index 510fe0303c..df270c8fc7 100644
--- a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/PandroidEventviewerActivity.java
+++ b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/PandroidEventviewerActivity.java
@@ -22,6 +22,8 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import android.app.Activity;
import android.app.Notification;
@@ -39,9 +41,12 @@ import android.widget.BaseAdapter;
import android.widget.TabHost;
import android.widget.Toast;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
-public class PandroidEventviewerActivity extends TabActivity implements
- Serializable {
+
+public class PandroidEventviewerActivity extends TabActivity implements Serializable {
private static String TAG = "PandroidEventviewerActivity";
private static final int PROBLEM_NOTIFICATION_ID = 1;
private static final long serialVersionUID = 1L;
@@ -259,250 +264,220 @@ public class PandroidEventviewerActivity extends TabActivity implements
"Configuration changes commited (timestamp)");
}
}
-
+
/**
- * Get events from pandora console. For only Pandora 5.0 version
- *
- * @throws IOException
- * If there is any connection problem.
- *
+ * Parses a JSON object and returns a valid event list item.
+ * For >= v7.
+ *
+ * @param item Object with the event columns.
+ *
+ * @return EventListItem
+ * @throws JSONException, NumberFormatException
*/
- private void getEvents_v50(String[] lines) {
- for (int i = 0; i < lines.length; i++) {
- String[] items = lines[i].split(";");
+ private EventListItem parseEvent (JSONObject item) throws JSONException, NumberFormatException {
+ EventListItem event = new EventListItem();
- EventListItem event = new EventListItem();
- boolean extract = true;
+ // Event id
+ event.id_event = item.optInt("id_evento");
+ // Agent id
+ event.id_agent = item.optInt("id_agente");
+ // User id
+ event.id_user = item.getString("id_usuario");
+ // Group id
+ event.id_group = item.optInt("id_grupo");
+ // Status
+ event.status = item.optInt("estado");
+ // Timestamp (Y-M-d H:m:s)
+ event.timestamp = item.getString("timestamp");
+ // Event text
+ event.event = item.getString("evento");
+ // Unix timestamp
+ event.utimestamp = item.optInt("utimestamp");
+ // Event type
+ event.event_type = item.getString("event_type");
+ // Module id
+ event.id_agentmodule = item.optInt("id_agentmodule");
+ // Alert id
+ event.id_alert_am = item.optInt("id_alert_am");
+ // Event priority
+ event.criticity = item.optInt("criticity");
+ // User comments
+ event.user_comment = item.getString("user_comment");
+ // Tags
+ event.tags = item.getString("tags");
+ // Agent name (try to use the alias)
+ event.agent_name = item.optString("agent_alias", item.optString("agent_name"));
+ // Group name
+ event.group_name = item.optString("group_name");
+ // Group icon
+ event.group_icon = item.optString("group_icon");
+ // Event description
+ event.description_event = item.optString("description_event");
+ // Event description image
+ event.description_image = item.optString("img_description");
+ // Event priority name
+ event.criticity_name = item.optString("criticity_name");
+ // Event priority image
+ event.criticity_image = item.optString("img_criticy");
+
+ event.opened = false;
+
+ return event;
+ }
+
+ /**
+ * Parses a string array and returns a valid event list item.
+ *
+ * THIS IS AN HORRIBLE WAY TO DO THIS.
+ * Any change on the columns order on the tevento's table from the database
+ * or any change to the public API can break this in multiple ways.
+ * CSV is bad for a maintainable and scalable APIs, but someone could almost map the
+ * head (nonexistent) with the line columns indexes... /rage
+ *
+ * For <= v6.
+ *
+ * @param columns String array with the event columns.
+ * @param old Whether to use the csv parsing for the <=v4 or the >=v5 && <= v6.
+ *
+ * @return EventListItem
+ * @throws NumberFormatException
+ */
+ private EventListItem parseEvent (String[] columns, boolean old) throws NumberFormatException {
+ EventListItem event = new EventListItem();
+
+ // Event id
+ event.id_event = (columns[0].length() > 0) ? Integer.parseInt(columns[0]) : 0;
+ // Agent id
+ event.id_agent = (columns[1].length() > 0) ? Integer.parseInt(columns[1]) : 0;
+ // User id
+ event.id_user = columns[2];
+ //Get id group
+ event.id_group = (columns[3].length() > 0) ? Integer.parseInt(columns[3]) : 0;
+ // Status
+ event.status = (columns[4].length() > 0) ? Integer.parseInt(columns[4]) : 0;
+ // Timestamp (format Y-M-d H:m:s)
+ event.timestamp = columns[5];
+ //Get event as text
+ event.event = columns[6];
+ // Unix timestamp
+ event.utimestamp = (columns[7].length() > 0) ? Integer.parseInt(columns[7]) : 0;
+ // Event type
+ event.event_type = columns[8];
+ // Module id
+ event.id_agentmodule = (columns[9].length() > 0) ? Integer.parseInt(columns[9]) : 0;
+ // Alert id
+ event.id_alert_am = (columns[10].length() > 0) ? Integer.parseInt(columns[10]) : 0;
+ // Priority
+ event.criticity = (columns[11].length() > 0) ? Integer.parseInt(columns[11]) : 0;
+ // User comment
+ event.user_comment = columns[12];
+ // Tags
+ event.tags = columns[13];
+
+ // For <= v4
+ if (old) {
+ // Agent name
+ event.agent_name = (columns.length >= 15) ? columns[14] : "";
+ // Group name
+ event.group_name = (columns.length >= 16) ? columns[15] : "";
+ // Group icon
+ event.group_icon = (columns.length >= 17) ? columns[16] : "";
+ // Event description
+ event.description_event = (columns.length >= 18) ? columns[17] : "";
+ // Event description image
+ event.description_image = (columns.length >= 19) ? columns[18] : "";
+ // Priority image
+ event.criticity_image = (columns.length >= 20) ? columns[19] : "";
+ // Priority name
+ event.criticity_name = (columns.length >= 21) ? columns[20] : "";
+ }
+ // For v5 and v6
+ else {
+ // Agent name
+ event.agent_name = (columns.length >= 23) ? columns[22] : "";
+ // Group name
+ event.group_name = (columns.length >= 24) ? columns[23] : "";
+ // Group icon
+ event.group_icon = (columns.length >= 25) ? columns[24] : "";
+ // Event description
+ event.description_event = (columns.length >= 26) ? columns[25] : "";
+ // Event description image
+ event.description_image = (columns.length >= 27) ? columns[26] : "";
+ // Priority image
+ event.criticity_image = (columns.length >= 28) ? columns[27] : "";
+ // Priority name
+ event.criticity_name = (columns.length >= 29) ? columns[28] : "";
+ }
+
+ event.opened = false;
+
+ return event;
+ }
+
+ /**
+ * Process a JSON response from the api and save the new events.
+ * For >= v7.
+ *
+ * @param items JSONObject array with the event rows.
+ */
+ private void saveEvents (JSONArray items) {
+ if (items.length() == 0) {
+ Log.d("WORKS?", "NEWEVENTS = FALSE");
+ this.newEvents = false;
+ return;
+ }
+ this.newEvents = true;
+
+ // Iterate the JSON Objects
+ for (int i = 0; i < items.length(); i++) {
try {
- if (items.length < 14) {
- extract = false;
- continue;
- }
- //Get id event
- if (items[0].length() == 0) {
- event.id_event = 0;
- }
- else {
- event.id_event = Integer.parseInt(items[0]);
- }
-
- //Get id agent
- if (items[1].length() == 0) {
- event.id_agent = 0;
- }
- else {
- event.id_agent = Integer.parseInt(items[1]);
- }
-
- //Get id user
- event.id_user = items[2];
-
- //Get id group
- if (items[3].length() == 0) {
- event.id_group = 0;
- }
- else {
- event.id_group = Integer.parseInt(items[3]);
- }
-
- //Get status
- if (items[4].length() == 0) {
- event.status = 0;
- }
- else {
- event.status = Integer.parseInt(items[4]);
- }
-
- //Get timestamp (format Y-M-d H:m:s)
- event.timestamp = items[5];
-
- //Get event as text
- event.event = items[6];
-
- //Get unix timestamp
- if (items[7].length() == 0) {
- event.utimestamp = 0;
- }
- else {
- event.utimestamp = Integer.parseInt(items[7]);
- }
-
- //Get event type
- event.event_type = items[8];
-
- //Get id module
- if (items[9].length() == 0) {
- event.id_agentmodule = 0;
- }
- else {
- event.id_agentmodule = Integer.parseInt(items[9]);
- }
-
- //Get id alert
- if (items[10].length() == 0) {
- event.id_alert_am = 0;
- }
- else {
- event.id_alert_am = Integer.parseInt(items[10]);
- }
-
- //Get criticity
- if (items[11].length() == 0) {
- event.criticity = 0;
- }
- else {
- event.criticity = Integer.parseInt(items[11]);
- }
-
- //Get user comment
- event.user_comment = items[12];
-
- //Get tags
- event.tags = items[13];
-
- /* This fields are not used in the Pandroid event
-
- event.source = item[14];
- event.id_extra = item[15];
- event.critical_instructions = item[16];
- event.warning_instructions = item[17];
- event.unknown_instructions = item[18];
- event.owner_user = item[19];
- event.ack_utimestamp = item[20];
- event.custom_data = item[21]
-
- */
-
- event.agent_name = "";
- event.group_name = "";
- event.group_icon = "";
- event.description_event = "";
- event.description_image = "";
- event.criticity_name = "";
- event.criticity_image = "";
-
- if (items.length >= 23)
- event.agent_name = items[22];
- if (items.length >= 24)
- event.group_name = items[23];
- if (items.length >= 25)
- event.group_icon = items[24];
- if (items.length >= 26)
- event.description_event = items[25];
- if (items.length >= 27)
- event.description_image = items[26];
- if (items.length >= 28)
- event.criticity_name = items[28];
- if (items.length >= 27)
- event.criticity_image = items[27];
-
- event.opened = false;
- }
- catch (NumberFormatException nfe) {
- event.event = getApplication().getString(
- R.string.unknown_event_str);
- launchProblemParsingNotification();
- }
- if (extract)
+ JSONObject item = items.getJSONObject(i);
+ EventListItem event = this.parseEvent(item);
this.eventList.add(event);
- }
- }
-
- /**
- * Get events from pandora console. For old versions of Pandora (v4 <)
- *
- * @throws IOException
- * If there is any connection problem.
- *
- */
- private void getEvents_old(String[] lines) {
- for (int i = 0; i < lines.length; i++) {
- String[] items = lines[i].split(";");
-
- EventListItem event = new EventListItem();
- try {
-
- if (items[0].length() == 0) {
- event.id_event = 0;
- }
- else {
- event.id_event = Integer.parseInt(items[0]);
- }
- if (items[1].length() == 0) {
- event.id_agent = 0;
- }
- else {
- event.id_agent = Integer.parseInt(items[1]);
- }
- event.id_user = items[2];
- if (items[3].length() == 0) {
- event.id_group = 0;
- }
- else {
- event.id_group = Integer.parseInt(items[3]);
- }
- if (items[4].length() == 0) {
- event.status = 0;
- }
- else {
- event.status = Integer.parseInt(items[4]);
- }
- event.timestamp = items[5];
- event.event = items[6];
- if (items[7].length() == 0) {
- event.utimestamp = 0;
- }
- else {
- event.utimestamp = Integer.parseInt(items[7]);
- }
- event.event_type = items[8];
- if (items[9].length() == 0) {
- event.id_agentmodule = 0;
- }
- else {
- event.id_agentmodule = Integer.parseInt(items[9]);
- }
- if (items[10].length() == 0) {
- event.id_alert_am = 0;
- }
- else {
- event.id_alert_am = Integer.parseInt(items[10]);
- }
- if (items[11].length() == 0) {
- event.criticity = 0;
- }
- else {
- event.criticity = Integer.parseInt(items[11]);
- }
- event.user_comment = items[12];
- event.tags = items[13];
- event.agent_name = items[14];
- event.group_name = items[15];
- event.group_icon = items[16];
- event.description_event = items[17];
- event.description_image = items[18];
- event.criticity_name = items[19];
- event.criticity_image = items[20];
-
- event.opened = false;
}
catch (NumberFormatException nfe) {
- event.event = getApplication().getString(
- R.string.unknown_event_str);
launchProblemParsingNotification();
}
- this.eventList.add(event);
+ catch (JSONException e) {
+ launchProblemParsingNotification();
+ }
}
}
-
+
+ /**
+ * Process a CSV response from the api and save the new events.
+ * For <= v6.
+ *
+ * @param lines String array with the event lines in CSV format.
+ * @param old Whether to use the csv parsing for the <=v4 or the >=v5 && <= v6.
+ */
+ private void saveEvents (String[] lines, boolean old) {
+ if (lines.length == 0) {
+ Log.d("WORKS?", "NEWEVENTS = FALSE");
+ this.newEvents = false;
+ return;
+ }
+ this.newEvents = true;
+
+ // Iterate the CSV lines
+ for (int i = 0; i < lines.length; i++) {
+ try {
+ String[] columns = lines[i].split(";");
+ EventListItem event = this.parseEvent(columns, old);
+ this.eventList.add(event);
+ }
+ catch (NumberFormatException nfe) {
+ launchProblemParsingNotification();
+ }
+ }
+ }
+
/**
* Get events from pandora console.
*
- * @throws IOException
- * If there is any connection problem.
- *
+ * @throws IOException If there is any connection problem.
*/
- private void getEvents() throws IOException {
+ private void getEvents () throws IOException {
// Get total count.
String return_api = API.getEvents(getApplicationContext(),
agentNameStr, id_group, severity, status, eventSearch,
@@ -521,35 +496,42 @@ public class PandroidEventviewerActivity extends TabActivity implements
return;
}
+ // Try to get the API version number
+ int apiVerNumber = 0;
+ try {
+ apiVerNumber = Core.getMajorVersion(getApplicationContext());
+ }
+ catch (Exception e) {}
+
// Get the list of events.
- return_api = API.getEvents(getApplicationContext(), agentNameStr,
- id_group, severity, status, eventSearch, eventTag, timestamp,
- pagination, offset, false, false);
+ String returnType = (apiVerNumber < 7) ? "csv" : "json";
+ return_api = API.getEvents(getApplicationContext(),
+ agentNameStr, id_group, severity, status, eventSearch,
+ eventTag, timestamp, pagination, offset, returnType);
+
Log.d(TAG, "List of events: " + return_api);
-
Log.i(TAG + " getEvents - return_api", return_api);
- String[] lines = return_api.split("\n");
- newEvents = true;
- if (return_api.length() == 0) {
- Log.d("WORKS?", "NEWEVENTS = FALSE");
- newEvents = false;
- return;
+ try {
+ if (apiVerNumber >= 7) {
+ JSONObject response = new JSONObject(return_api);
+ if (!response.optString("type").equals("array")) {
+ throw new Exception("Invalid API return type");
+ }
+
+ JSONArray rows = response.getJSONArray("data");
+ this.saveEvents(rows);
+ }
+ else {
+ String[] lines = return_api.split("\n");
+
+ // The Console API changed in the v5
+ boolean old = apiVerNumber < 5;
+ this.saveEvents(lines, old);
+ }
}
-
- SharedPreferences preferences = getSharedPreferences(
- getString(R.string.const_string_preferences),
- Activity.MODE_PRIVATE);
- String api_version = preferences.getString("api_version", "");
-
- // Get the short form of the version. I.E. "v5" for "v5.0SP1"
- String[] api_version_short = api_version.split("\\.");
-
- if (api_version_short[0].equals("v5")) {
- this.getEvents_v50(lines);
- }
- else {
- this.getEvents_old(lines);
+ catch (Exception e) {
+ this.newEvents = false;
}
}
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/PandroidEventviewerService.java b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/PandroidEventviewerService.java
similarity index 100%
rename from extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/PandroidEventviewerService.java
rename to extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/PandroidEventviewerService.java
diff --git a/extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/PopupValidationEvent.java b/extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/PopupValidationEvent.java
similarity index 100%
rename from extras/pandroid_event_viewer/src/pandroid_event_viewer/pandorafms/PopupValidationEvent.java
rename to extras/android-event-viewer/app/src/main/java/pandroid_event_viewer/pandorafms/PopupValidationEvent.java
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/about.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/about.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/about.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/about.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/b_green.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/b_green.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/b_green.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/b_green.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/b_red.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/b_red.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/b_red.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/b_red.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/b_yellow.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/b_yellow.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/b_yellow.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/b_yellow.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/bell.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/bell.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/bell.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/bell.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/cog.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/cog.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/cog.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/cog.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/config.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/config.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/config.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/config.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/criticity_0.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/criticity_0.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/criticity_0.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/criticity_0.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/criticity_1.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/criticity_1.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/criticity_1.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/criticity_1.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/criticity_2.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/criticity_2.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/criticity_2.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/criticity_2.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/criticity_3.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/criticity_3.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/criticity_3.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/criticity_3.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/criticity_4.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/criticity_4.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/criticity_4.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/criticity_4.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/criticity_default.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/criticity_default.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/criticity_default.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/criticity_default.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/cross.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/cross.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/cross.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/cross.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/delete.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/delete.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/delete.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/delete.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/delete_pressed.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/delete_pressed.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/delete_pressed.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/delete_pressed.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/err.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/err.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/err.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/err.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/error.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/error.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/error.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/error.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/eye.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/eye.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/eye.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/eye.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/help.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/help.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/help.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/help.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/icon_filter.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/icon_filter.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/icon_filter.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/icon_filter.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/icon_filter_pressed.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/icon_filter_pressed.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/icon_filter_pressed.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/icon_filter_pressed.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/icon_refresh.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/icon_refresh.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/icon_refresh.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/icon_refresh.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/icon_refresh_pressed.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/icon_refresh_pressed.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/icon_refresh_pressed.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/icon_refresh_pressed.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/network.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/network.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/network.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/network.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/ok.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/ok.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/ok.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/ok.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/pandorafms_logo.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/pandorafms_logo.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/pandorafms_logo.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/pandorafms_logo.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/refresh.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/refresh.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/refresh.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/refresh.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/save.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/save.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/save.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/save.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/save_pressed.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/save_pressed.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/save_pressed.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/save_pressed.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/severity_critical.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/severity_critical.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/severity_critical.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/severity_critical.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/severity_informational.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/severity_informational.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/severity_informational.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/severity_informational.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/severity_maintenance.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/severity_maintenance.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/severity_maintenance.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/severity_maintenance.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/severity_normal.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/severity_normal.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/severity_normal.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/severity_normal.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/severity_warning.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/severity_warning.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/severity_warning.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/severity_warning.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/tick.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/tick.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/tick.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/tick.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/tick_off.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/tick_off.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/tick_off.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/tick_off.png
diff --git a/extras/pandroid_event_viewer/res/drawable-ldpi/wand.png b/extras/android-event-viewer/app/src/main/res/drawable-ldpi/wand.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable-ldpi/wand.png
rename to extras/android-event-viewer/app/src/main/res/drawable-ldpi/wand.png
diff --git a/extras/pandroid_event_viewer/res/drawable/btn_dropdown.xml b/extras/android-event-viewer/app/src/main/res/drawable/btn_dropdown.xml
similarity index 93%
rename from extras/pandroid_event_viewer/res/drawable/btn_dropdown.xml
rename to extras/android-event-viewer/app/src/main/res/drawable/btn_dropdown.xml
index 6632f1172e..d02baf24eb 100644
--- a/extras/pandroid_event_viewer/res/drawable/btn_dropdown.xml
+++ b/extras/android-event-viewer/app/src/main/res/drawable/btn_dropdown.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/extras/pandroid_event_viewer/res/drawable/button_normal.9.png b/extras/android-event-viewer/app/src/main/res/drawable/button_normal.9.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable/button_normal.9.png
rename to extras/android-event-viewer/app/src/main/res/drawable/button_normal.9.png
diff --git a/extras/pandroid_event_viewer/res/drawable/button_pressed.9.png b/extras/android-event-viewer/app/src/main/res/drawable/button_pressed.9.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable/button_pressed.9.png
rename to extras/android-event-viewer/app/src/main/res/drawable/button_pressed.9.png
diff --git a/extras/pandroid_event_viewer/res/drawable/combobox_normal.9.png b/extras/android-event-viewer/app/src/main/res/drawable/combobox_normal.9.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable/combobox_normal.9.png
rename to extras/android-event-viewer/app/src/main/res/drawable/combobox_normal.9.png
diff --git a/extras/pandroid_event_viewer/res/drawable/combobox_pressed.9.png b/extras/android-event-viewer/app/src/main/res/drawable/combobox_pressed.9.png
similarity index 100%
rename from extras/pandroid_event_viewer/res/drawable/combobox_pressed.9.png
rename to extras/android-event-viewer/app/src/main/res/drawable/combobox_pressed.9.png
diff --git a/extras/pandroid_event_viewer/res/drawable/delete_icon_button.xml b/extras/android-event-viewer/app/src/main/res/drawable/delete_icon_button.xml
similarity index 92%
rename from extras/pandroid_event_viewer/res/drawable/delete_icon_button.xml
rename to extras/android-event-viewer/app/src/main/res/drawable/delete_icon_button.xml
index 12fb68eebd..e84bc69184 100644
--- a/extras/pandroid_event_viewer/res/drawable/delete_icon_button.xml
+++ b/extras/android-event-viewer/app/src/main/res/drawable/delete_icon_button.xml
@@ -1,4 +1,4 @@
-
+
-
+
-
+
-
+
-
+
diff --git a/extras/pandroid_event_viewer/res/drawable/round_event_item_blue.xml b/extras/android-event-viewer/app/src/main/res/drawable/round_event_item_blue.xml
similarity index 84%
rename from extras/pandroid_event_viewer/res/drawable/round_event_item_blue.xml
rename to extras/android-event-viewer/app/src/main/res/drawable/round_event_item_blue.xml
index c92f785f94..80eda4b5a7 100644
--- a/extras/pandroid_event_viewer/res/drawable/round_event_item_blue.xml
+++ b/extras/android-event-viewer/app/src/main/res/drawable/round_event_item_blue.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/extras/pandroid_event_viewer/res/drawable/round_event_item_green.xml b/extras/android-event-viewer/app/src/main/res/drawable/round_event_item_green.xml
similarity index 84%
rename from extras/pandroid_event_viewer/res/drawable/round_event_item_green.xml
rename to extras/android-event-viewer/app/src/main/res/drawable/round_event_item_green.xml
index 34214ad096..bca8d276f9 100644
--- a/extras/pandroid_event_viewer/res/drawable/round_event_item_green.xml
+++ b/extras/android-event-viewer/app/src/main/res/drawable/round_event_item_green.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/extras/pandroid_event_viewer/res/drawable/round_event_item_grey.xml b/extras/android-event-viewer/app/src/main/res/drawable/round_event_item_grey.xml
similarity index 84%
rename from extras/pandroid_event_viewer/res/drawable/round_event_item_grey.xml
rename to extras/android-event-viewer/app/src/main/res/drawable/round_event_item_grey.xml
index 184aa46014..fb034f0191 100644
--- a/extras/pandroid_event_viewer/res/drawable/round_event_item_grey.xml
+++ b/extras/android-event-viewer/app/src/main/res/drawable/round_event_item_grey.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/extras/pandroid_event_viewer/res/drawable/round_event_item_red.xml b/extras/android-event-viewer/app/src/main/res/drawable/round_event_item_red.xml
similarity index 84%
rename from extras/pandroid_event_viewer/res/drawable/round_event_item_red.xml
rename to extras/android-event-viewer/app/src/main/res/drawable/round_event_item_red.xml
index 15c4cc96e9..2102af9a64 100644
--- a/extras/pandroid_event_viewer/res/drawable/round_event_item_red.xml
+++ b/extras/android-event-viewer/app/src/main/res/drawable/round_event_item_red.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/extras/pandroid_event_viewer/res/drawable/round_event_item_yellow.xml b/extras/android-event-viewer/app/src/main/res/drawable/round_event_item_yellow.xml
similarity index 84%
rename from extras/pandroid_event_viewer/res/drawable/round_event_item_yellow.xml
rename to extras/android-event-viewer/app/src/main/res/drawable/round_event_item_yellow.xml
index 07e2edaf5e..0b2f00baf3 100644
--- a/extras/pandroid_event_viewer/res/drawable/round_event_item_yellow.xml
+++ b/extras/android-event-viewer/app/src/main/res/drawable/round_event_item_yellow.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/extras/pandroid_event_viewer/res/drawable/save_icon_button.xml b/extras/android-event-viewer/app/src/main/res/drawable/save_icon_button.xml
similarity index 92%
rename from extras/pandroid_event_viewer/res/drawable/save_icon_button.xml
rename to extras/android-event-viewer/app/src/main/res/drawable/save_icon_button.xml
index 4412e49258..8f4f24ecc1 100644
--- a/extras/pandroid_event_viewer/res/drawable/save_icon_button.xml
+++ b/extras/android-event-viewer/app/src/main/res/drawable/save_icon_button.xml
@@ -1,4 +1,4 @@
-
+
-
+
+
diff --git a/pandora_console/operation/visual_console/public_console.php b/pandora_console/operation/visual_console/public_console.php
index 9233615b41..17a70505c9 100755
--- a/pandora_console/operation/visual_console/public_console.php
+++ b/pandora_console/operation/visual_console/public_console.php
@@ -84,7 +84,7 @@ if ($layout) {
//~ ob_start();
//~ // Render map
visual_map_print_visual_map($id_layout, true, true, $width, $height,
- '../../', true, $graph_javascript, true);
+ '../../', true, true, true);
//~ return;
}
else {
@@ -92,7 +92,7 @@ else {
}
// Floating menu - Start
-echo '