diff --git a/pandora_agents/android/ChangeLog b/pandora_agents/android/ChangeLog index e2cc5b3407..b45aaca565 100644 --- a/pandora_agents/android/ChangeLog +++ b/pandora_agents/android/ChangeLog @@ -1,3 +1,27 @@ +2013-04-26 Mark Holland + + * src/pandroid/agent/Core.java: Single SharedPreferences and + Editor objects that are retrieved when needed. getSharedData() + and putSharedData() moved to this class from + PandroidAgentListener. + + * src/pandroid/agent/PandroidAgent.java: Instantiate static + SharedPreferences and Editor objects with getters for each. + + * src/pandroid/agent/PandroidAgentListener.java: buildXML() and + contact() are now background tasks. Implemented buffer, if xml fails + to send it stays in the system, next succesful conection after sends + all of the unsent xml files, current buffer size = 99 files. + + * src/pandroid/agent/PandroidAgentTentacle.java: Changed socket to + timeout after 1000ms. + + * src/pandroid/agent/SMSBroadcastReceiver.java: Changed SharedPreferences + to static version from PandroidAgent.java + + * Pandroid Agent v3.0_iso-8859-1.apk: Updated to include latest + changes. + 2013-04-25 Mark Holland * src/pandroid/agent/Core.java: Separate load and store diff --git a/pandora_agents/android/Pandroid Agent v3.0_iso-8859-1.apk b/pandora_agents/android/Pandroid Agent v3.0_iso-8859-1.apk index 5244e84ece..73d78040f7 100644 Binary files a/pandora_agents/android/Pandroid Agent v3.0_iso-8859-1.apk and b/pandora_agents/android/Pandroid Agent v3.0_iso-8859-1.apk differ diff --git a/pandora_agents/android/src/pandroid/agent/Core.java b/pandora_agents/android/src/pandroid/agent/Core.java index aa6a91d04c..12b007377b 100644 --- a/pandora_agents/android/src/pandroid/agent/Core.java +++ b/pandora_agents/android/src/pandroid/agent/Core.java @@ -177,6 +177,10 @@ public class Core { static DataBaseHandler db; + //Single SharedPreferences object + static volatile public SharedPreferences agentPreferences; + static volatile public SharedPreferences.Editor editor; + public Core() { } @@ -214,9 +218,7 @@ public class Core { con = context; } - SharedPreferences agentPreferences = con.getSharedPreferences( - con.getString(R.string.const_string_preferences), - Activity.MODE_PRIVATE); + agentPreferences = PandroidAgent.getSharedPrefs(); latitude = agentPreferences.getFloat("latitude", CONST_INVALID_COORDS); longitude = agentPreferences.getFloat("longitude", CONST_INVALID_COORDS); @@ -255,9 +257,7 @@ public class Core { con = context; } - SharedPreferences agentPreferences = con.getSharedPreferences( - con.getString(R.string.const_string_preferences), - Activity.MODE_PRIVATE); + agentPreferences = PandroidAgent.getSharedPrefs(); serverAddr = agentPreferences.getString("serverAddr", defaultServerAddr); serverPort = agentPreferences.getString("serverPort", defaultServerPort); @@ -321,10 +321,8 @@ public class Core { con = context; } - SharedPreferences agentPreferences = con.getSharedPreferences( - con.getString(R.string.const_string_preferences), - Activity.MODE_PRIVATE); - SharedPreferences.Editor editor = agentPreferences.edit(); + agentPreferences = PandroidAgent.getSharedPrefs(); + editor = PandroidAgent.getEditor(); editor.putString("serverAddr", _serverAddr); editor.putString("serverPort", _serverPort); @@ -379,203 +377,256 @@ public class Core { }// end updateConf - //database// - - static synchronized public void loadLastValuesDatabase(Context context) { - if (con == null) { - con = context; - } - - - - - latitude = Float.parseFloat(getDatabaseValue(con, "latitude")); - longitude = Float.parseFloat(getDatabaseValue(con, "longitude")); - batteryLevel = Integer.parseInt(getDatabaseValue(con, "batteryLevel")); - orientation = Float.parseFloat(getDatabaseValue(con, "orientation")); - proximity = Float.parseFloat(getDatabaseValue(con, "proximity")); - taskStatus = getDatabaseValue(con, "taskStatus"); - task = getDatabaseValue(con, "task"); - taskHumanName = getDatabaseValue(con, "taskHumanName"); - taskRun = getDatabaseValue(con, "taskRun"); - memoryStatus = getDatabaseValue(con, "memoryStatus"); - availableRamKb = Long.parseLong(getDatabaseValue(con, "availableRamKb")); - totalRamKb = Long.parseLong(getDatabaseValue(con, "totalRamKb")); - lastContact = Long.parseLong(getDatabaseValue(con, "lastContact")); - contactError = Integer.parseInt(getDatabaseValue(con, "contactError")); - simID = getDatabaseValue(con, "simID"); - upTime = Long.parseLong(getDatabaseValue(con, "upTime")); - SMSReceived = Integer.parseInt(getDatabaseValue(con, "SMSReceived")); - SMSSent = Integer.parseInt(getDatabaseValue(con, "SMSSent")); - networkOperator = getDatabaseValue(con, "networkOperator"); - networkType = getDatabaseValue(con, "networkType"); - phoneType = getDatabaseValue(con, "phoneType"); - signalStrength = Integer.parseInt(getDatabaseValue(con, "signalStrength")); - incomingCalls = Integer.parseInt(getDatabaseValue(con, "incomingCalls")); - missedCalls = Integer.parseInt(getDatabaseValue(con, "missedCalls")); - outgoingCalls = Integer.parseInt(getDatabaseValue(con, "outgoingCalls")); - receiveBytes = Long.parseLong(getDatabaseValue(con, "receiveBytes")); - transmitBytes = Long.parseLong(getDatabaseValue(con, "transmitBytes")); - helloSignal = Integer.parseInt(getDatabaseValue(con, "helloSignal")); - roaming = Integer.parseInt(getDatabaseValue(con, "roaming")); + public synchronized static void putSharedData(String preferenceName, String tokenName, String data, String type) { + int mode = Activity.MODE_PRIVATE; + agentPreferences = PandroidAgent.getSharedPrefs(); + editor = PandroidAgent.getEditor(); - }// end loadLastValues - - static synchronized public void loadConfDatabase(Context context) { - if (con == null) { - con = context; - } - - - serverAddr = getDatabaseValue(con, "serverAddr"); - serverPort = getDatabaseValue(con, "serverPort"); - interval = Integer.parseInt(getDatabaseValue(con, "interval")); - agentName = getDatabaseValue(con, "agentName"); - mobileWebURL = getDatabaseValue(con, "mobileWebURL"); - gpsStatus = getDatabaseValue(con, "gpsStatus"); - memoryStatus = getDatabaseValue(con, "memoryStatus"); - taskStatus = getDatabaseValue(con, "taskStatus"); - task = getDatabaseValue(con, "task"); - taskHumanName = getDatabaseValue(con, "taskHumanName"); - taskRun = getDatabaseValue(con, "taskRun"); - password = getDatabaseValue(con, "password"); - passwordCheck = getDatabaseValue(con, "passwordCheck"); - simIDReport = getDatabaseValue(con, "simIDReport"); - DeviceUpTimeReport = getDatabaseValue(con, "DeviceUpTimeReport"); - NetworkOperatorReport = getDatabaseValue(con, "NetworkOperatorReport"); - NetworkTypeReport = getDatabaseValue(con, "NetworkTypeReport"); - PhoneTypeReport = getDatabaseValue(con, "PhoneTypeReport"); - SignalStrengthReport = getDatabaseValue(con, "SignalStrengthReport"); - ReceivedSMSReport = getDatabaseValue(con, "ReceivedSMSReport"); - SentSMSReport = getDatabaseValue(con, "SentSMSReport"); - IncomingCallsReport = getDatabaseValue(con, "IncomingCallsReport"); - MissedCallsReport = getDatabaseValue(con, "MissedCallsReport"); - OutgoingCallsReport = getDatabaseValue(con, "OutgoingCallsReport"); - BytesReceivedReport = getDatabaseValue(con, "BytesReceivedReport"); - BytesSentReport = getDatabaseValue(con, "BytesSentReport"); - HelloSignalReport = getDatabaseValue(con, "HelloSignalReport"); - BatteryLevelReport = getDatabaseValue(con, "BatteryLevelReport"); - RoamingReport = getDatabaseValue(con, "RoamingReport"); - InventoryReport = getDatabaseValue(con, "InventoryReport"); - NotificationCheck = getDatabaseValue(con, "NotificationCheck"); - }// end loadConf - - static synchronized public boolean updateDatabase(Context context) { - return updateDatabase(context, serverAddr, serverPort, interval, agentName, - gpsStatus, memoryStatus, taskStatus, task, taskHumanName, simID, simIDReport, upTime, - networkOperator, SMSReceived, SMSSent, networkType, phoneType, signalStrength, - incomingCalls, missedCalls, outgoingCalls, receiveBytes, transmitBytes, password, helloSignal, - passwordCheck, DeviceUpTimeReport, NetworkOperatorReport, NetworkTypeReport, PhoneTypeReport, - SignalStrengthReport, ReceivedSMSReport, SentSMSReport, IncomingCallsReport, MissedCallsReport, - OutgoingCallsReport, BytesReceivedReport, BytesSentReport, HelloSignalReport, BatteryLevelReport, - RoamingReport, roaming, mobileWebURL, InventoryReport , NotificationCheck - ); - - }// end updateConf - - static synchronized public boolean updateDatabase(Context context, String _serverAddr, - String _serverPort, int _interval, String _agentName, String _gpsStatus, - String _memoryStatus, String _taskStatus, String _task, - String _taskHumanName, String _simID, String _simIDReport, long _upTime, String _networkOperator, - int _smsReceived, int _smsSent, String _networkType, String _phoneType, int _signalStrength, - int _incomingCalls, int _missedCalls, int _outgoingCalls, long _receiveBytes, long _transmitBytes, - String _password, int _helloSignal, String _passwordCheck, String _DeviceUpTimeReport, String _NetworkOperatorReport, - String _NetworkTypeReport, String _PhoneTypeReport, String _SignalStrengthReport, String _ReceivedSMSReport, - String _SentSMSReport, String _IncomingCallsReport, String _MissedCallsReport, String _OutgoingCallsReport, String _BytesReceivedReport, - String _BytesSentReport, String _HelloSignalReport, String _BatteryLevelReport, String _RoamingReport, int _roaming, String _mobileWebURL, - String _InventoryReport, String _NotificationCheck) { - - if (con == null) { - con = context; - } - + if(type == "boolean") { + editor.putBoolean(tokenName, Boolean.parseBoolean(data)); + } + else if(type == "float") { + editor.putFloat(tokenName, Float.parseFloat(data)); + } + else if(type == "integer") { + editor.putInt(tokenName, Integer.parseInt(data)); + } + else if(type == "long") { + editor.putLong(tokenName, Long.parseLong(data)); + } + else if(type == "string") { + editor.putString(tokenName, data); + } - updateDatabaseValue(con,"serverAddr", _serverAddr); - updateDatabaseValue(con,"serverPort", _serverPort); - updateDatabaseValue(con,"interval", ""+_interval); - updateDatabaseValue(con,"agentName", _agentName); - updateDatabaseValue(con,"gpsStatus", _gpsStatus); - updateDatabaseValue(con,"memoryStatus", _memoryStatus); - updateDatabaseValue(con,"taskStatus", _taskStatus); - updateDatabaseValue(con,"task", _task); - updateDatabaseValue(con,"taskHumanName", _taskHumanName); - updateDatabaseValue(con,"simID", _simID); - updateDatabaseValue(con,"simIDReport", _simIDReport); - updateDatabaseValue(con,"upTime", ""+_upTime); - updateDatabaseValue(con,"networkOperator", _networkOperator); - updateDatabaseValue(con,"SMSReceived", ""+_smsReceived); - updateDatabaseValue(con,"SMSSent", ""+_smsSent); - updateDatabaseValue(con,"networkType", _networkType); - updateDatabaseValue(con,"phoneType", _phoneType); - updateDatabaseValue(con,"signalStrength", ""+_signalStrength); - updateDatabaseValue(con,"incomingCalls", ""+_incomingCalls); - updateDatabaseValue(con,"missedCalls", ""+_missedCalls); - updateDatabaseValue(con,"outgoingCalls", ""+_outgoingCalls); - updateDatabaseValue(con,"receiveBytes", ""+_receiveBytes); - updateDatabaseValue(con,"transmitBytes", ""+_transmitBytes); - updateDatabaseValue(con,"password", _password); - updateDatabaseValue(con,"passwordCheck", _passwordCheck); - updateDatabaseValue(con,"helloSignal", ""+_helloSignal); - updateDatabaseValue(con,"roaming", ""+_roaming); - updateDatabaseValue(con,"DeviceUpTimeReport", _DeviceUpTimeReport); - updateDatabaseValue(con,"NetworkOperatorReport", _NetworkOperatorReport); - updateDatabaseValue(con,"NetworkTypeReport", _NetworkTypeReport); - updateDatabaseValue(con,"PhoneTypeReport", _PhoneTypeReport); - updateDatabaseValue(con,"SignalStrengthReport", _SignalStrengthReport); - updateDatabaseValue(con,"ReceivedSMSReport", _ReceivedSMSReport); - updateDatabaseValue(con,"SentSMSReport", _SentSMSReport); - updateDatabaseValue(con,"IncomingCallsReport", _IncomingCallsReport); - updateDatabaseValue(con,"MissedCallsReport", _MissedCallsReport); - updateDatabaseValue(con,"OutgoingCallsReport", _OutgoingCallsReport); - updateDatabaseValue(con,"BytesReceivedReport", _BytesReceivedReport); - updateDatabaseValue(con,"BytesSentReport", _BytesSentReport); - updateDatabaseValue(con,"HelloSignalReport", _HelloSignalReport); - updateDatabaseValue(con,"BatteryLevelReport", _BatteryLevelReport); - updateDatabaseValue(con,"RoamingReport", _RoamingReport); - updateDatabaseValue(con,"InventoryReport", _InventoryReport); - updateDatabaseValue(con,"NotificationCheck", _NotificationCheck); - updateDatabaseValue(con,"mobileWebURL", _mobileWebURL); + editor.commit(); + } + + public synchronized static String getSharedData(String preferenceName, String tokenName, String defaultValue, String type) { + int mode = Activity.MODE_PRIVATE; + agentPreferences = PandroidAgent.getSharedPrefs(); + if(type == "boolean") { + boolean a = agentPreferences.getBoolean(tokenName, Boolean.parseBoolean(defaultValue)); + return Boolean.valueOf(a).toString(); + } + else if(type == "float") { + float a = agentPreferences.getFloat(tokenName, Float.parseFloat(defaultValue)); + return Float.valueOf(a).toString(); + } + else if(type == "integer") { + int a = agentPreferences.getInt(tokenName, Integer.parseInt(defaultValue)); + return Integer.valueOf(a).toString(); + } + else if(type == "long") { + long a = agentPreferences.getLong(tokenName, Long.parseLong(defaultValue)); + return Long.valueOf(a).toString(); + } + else if(type == "string") { + return agentPreferences.getString(tokenName, defaultValue); + } - return true; - }// end updateConf + return ""; + } - -// //Adds a new row "name" with the value "value" -// public static void addValue(Context context, String name, String value){ -// db = new DataBaseHandler(con); +// //database// +// +// static synchronized public void loadLastValuesDatabase(Context context) { +// if (con == null) { +// con = context; +// } +// +// +// +// +// latitude = Float.parseFloat(getDatabaseValue(con, "latitude")); +// longitude = Float.parseFloat(getDatabaseValue(con, "longitude")); +// batteryLevel = Integer.parseInt(getDatabaseValue(con, "batteryLevel")); +// orientation = Float.parseFloat(getDatabaseValue(con, "orientation")); +// proximity = Float.parseFloat(getDatabaseValue(con, "proximity")); +// taskStatus = getDatabaseValue(con, "taskStatus"); +// task = getDatabaseValue(con, "task"); +// taskHumanName = getDatabaseValue(con, "taskHumanName"); +// taskRun = getDatabaseValue(con, "taskRun"); +// memoryStatus = getDatabaseValue(con, "memoryStatus"); +// availableRamKb = Long.parseLong(getDatabaseValue(con, "availableRamKb")); +// totalRamKb = Long.parseLong(getDatabaseValue(con, "totalRamKb")); +// lastContact = Long.parseLong(getDatabaseValue(con, "lastContact")); +// contactError = Integer.parseInt(getDatabaseValue(con, "contactError")); +// simID = getDatabaseValue(con, "simID"); +// upTime = Long.parseLong(getDatabaseValue(con, "upTime")); +// SMSReceived = Integer.parseInt(getDatabaseValue(con, "SMSReceived")); +// SMSSent = Integer.parseInt(getDatabaseValue(con, "SMSSent")); +// networkOperator = getDatabaseValue(con, "networkOperator"); +// networkType = getDatabaseValue(con, "networkType"); +// phoneType = getDatabaseValue(con, "phoneType"); +// signalStrength = Integer.parseInt(getDatabaseValue(con, "signalStrength")); +// incomingCalls = Integer.parseInt(getDatabaseValue(con, "incomingCalls")); +// missedCalls = Integer.parseInt(getDatabaseValue(con, "missedCalls")); +// outgoingCalls = Integer.parseInt(getDatabaseValue(con, "outgoingCalls")); +// receiveBytes = Long.parseLong(getDatabaseValue(con, "receiveBytes")); +// transmitBytes = Long.parseLong(getDatabaseValue(con, "transmitBytes")); +// helloSignal = Integer.parseInt(getDatabaseValue(con, "helloSignal")); +// roaming = Integer.parseInt(getDatabaseValue(con, "roaming")); +// +// }// end loadLastValues +// +// static synchronized public void loadConfDatabase(Context context) { +// if (con == null) { +// con = context; +// } +// +// +// serverAddr = getDatabaseValue(con, "serverAddr"); +// serverPort = getDatabaseValue(con, "serverPort"); +// interval = Integer.parseInt(getDatabaseValue(con, "interval")); +// agentName = getDatabaseValue(con, "agentName"); +// mobileWebURL = getDatabaseValue(con, "mobileWebURL"); +// gpsStatus = getDatabaseValue(con, "gpsStatus"); +// memoryStatus = getDatabaseValue(con, "memoryStatus"); +// taskStatus = getDatabaseValue(con, "taskStatus"); +// task = getDatabaseValue(con, "task"); +// taskHumanName = getDatabaseValue(con, "taskHumanName"); +// taskRun = getDatabaseValue(con, "taskRun"); +// password = getDatabaseValue(con, "password"); +// passwordCheck = getDatabaseValue(con, "passwordCheck"); +// simIDReport = getDatabaseValue(con, "simIDReport"); +// DeviceUpTimeReport = getDatabaseValue(con, "DeviceUpTimeReport"); +// NetworkOperatorReport = getDatabaseValue(con, "NetworkOperatorReport"); +// NetworkTypeReport = getDatabaseValue(con, "NetworkTypeReport"); +// PhoneTypeReport = getDatabaseValue(con, "PhoneTypeReport"); +// SignalStrengthReport = getDatabaseValue(con, "SignalStrengthReport"); +// ReceivedSMSReport = getDatabaseValue(con, "ReceivedSMSReport"); +// SentSMSReport = getDatabaseValue(con, "SentSMSReport"); +// IncomingCallsReport = getDatabaseValue(con, "IncomingCallsReport"); +// MissedCallsReport = getDatabaseValue(con, "MissedCallsReport"); +// OutgoingCallsReport = getDatabaseValue(con, "OutgoingCallsReport"); +// BytesReceivedReport = getDatabaseValue(con, "BytesReceivedReport"); +// BytesSentReport = getDatabaseValue(con, "BytesSentReport"); +// HelloSignalReport = getDatabaseValue(con, "HelloSignalReport"); +// BatteryLevelReport = getDatabaseValue(con, "BatteryLevelReport"); +// RoamingReport = getDatabaseValue(con, "RoamingReport"); +// InventoryReport = getDatabaseValue(con, "InventoryReport"); +// NotificationCheck = getDatabaseValue(con, "NotificationCheck"); +// }// end loadConf +// +// static synchronized public boolean updateDatabase(Context context) { +// return updateDatabase(context, serverAddr, serverPort, interval, agentName, +// gpsStatus, memoryStatus, taskStatus, task, taskHumanName, simID, simIDReport, upTime, +// networkOperator, SMSReceived, SMSSent, networkType, phoneType, signalStrength, +// incomingCalls, missedCalls, outgoingCalls, receiveBytes, transmitBytes, password, helloSignal, +// passwordCheck, DeviceUpTimeReport, NetworkOperatorReport, NetworkTypeReport, PhoneTypeReport, +// SignalStrengthReport, ReceivedSMSReport, SentSMSReport, IncomingCallsReport, MissedCallsReport, +// OutgoingCallsReport, BytesReceivedReport, BytesSentReport, HelloSignalReport, BatteryLevelReport, +// RoamingReport, roaming, mobileWebURL, InventoryReport , NotificationCheck +// ); +// +// }// end updateConf +// +// static synchronized public boolean updateDatabase(Context context, String _serverAddr, +// String _serverPort, int _interval, String _agentName, String _gpsStatus, +// String _memoryStatus, String _taskStatus, String _task, +// String _taskHumanName, String _simID, String _simIDReport, long _upTime, String _networkOperator, +// int _smsReceived, int _smsSent, String _networkType, String _phoneType, int _signalStrength, +// int _incomingCalls, int _missedCalls, int _outgoingCalls, long _receiveBytes, long _transmitBytes, +// String _password, int _helloSignal, String _passwordCheck, String _DeviceUpTimeReport, String _NetworkOperatorReport, +// String _NetworkTypeReport, String _PhoneTypeReport, String _SignalStrengthReport, String _ReceivedSMSReport, +// String _SentSMSReport, String _IncomingCallsReport, String _MissedCallsReport, String _OutgoingCallsReport, String _BytesReceivedReport, +// String _BytesSentReport, String _HelloSignalReport, String _BatteryLevelReport, String _RoamingReport, int _roaming, String _mobileWebURL, +// String _InventoryReport, String _NotificationCheck) { +// +// if (con == null) { +// con = context; +// } +// +// +// +// updateDatabaseValue(con,"serverAddr", _serverAddr); +// updateDatabaseValue(con,"serverPort", _serverPort); +// updateDatabaseValue(con,"interval", ""+_interval); +// updateDatabaseValue(con,"agentName", _agentName); +// updateDatabaseValue(con,"gpsStatus", _gpsStatus); +// updateDatabaseValue(con,"memoryStatus", _memoryStatus); +// updateDatabaseValue(con,"taskStatus", _taskStatus); +// updateDatabaseValue(con,"task", _task); +// updateDatabaseValue(con,"taskHumanName", _taskHumanName); +// updateDatabaseValue(con,"simID", _simID); +// updateDatabaseValue(con,"simIDReport", _simIDReport); +// updateDatabaseValue(con,"upTime", ""+_upTime); +// updateDatabaseValue(con,"networkOperator", _networkOperator); +// updateDatabaseValue(con,"SMSReceived", ""+_smsReceived); +// updateDatabaseValue(con,"SMSSent", ""+_smsSent); +// updateDatabaseValue(con,"networkType", _networkType); +// updateDatabaseValue(con,"phoneType", _phoneType); +// updateDatabaseValue(con,"signalStrength", ""+_signalStrength); +// updateDatabaseValue(con,"incomingCalls", ""+_incomingCalls); +// updateDatabaseValue(con,"missedCalls", ""+_missedCalls); +// updateDatabaseValue(con,"outgoingCalls", ""+_outgoingCalls); +// updateDatabaseValue(con,"receiveBytes", ""+_receiveBytes); +// updateDatabaseValue(con,"transmitBytes", ""+_transmitBytes); +// updateDatabaseValue(con,"password", _password); +// updateDatabaseValue(con,"passwordCheck", _passwordCheck); +// updateDatabaseValue(con,"helloSignal", ""+_helloSignal); +// updateDatabaseValue(con,"roaming", ""+_roaming); +// updateDatabaseValue(con,"DeviceUpTimeReport", _DeviceUpTimeReport); +// updateDatabaseValue(con,"NetworkOperatorReport", _NetworkOperatorReport); +// updateDatabaseValue(con,"NetworkTypeReport", _NetworkTypeReport); +// updateDatabaseValue(con,"PhoneTypeReport", _PhoneTypeReport); +// updateDatabaseValue(con,"SignalStrengthReport", _SignalStrengthReport); +// updateDatabaseValue(con,"ReceivedSMSReport", _ReceivedSMSReport); +// updateDatabaseValue(con,"SentSMSReport", _SentSMSReport); +// updateDatabaseValue(con,"IncomingCallsReport", _IncomingCallsReport); +// updateDatabaseValue(con,"MissedCallsReport", _MissedCallsReport); +// updateDatabaseValue(con,"OutgoingCallsReport", _OutgoingCallsReport); +// updateDatabaseValue(con,"BytesReceivedReport", _BytesReceivedReport); +// updateDatabaseValue(con,"BytesSentReport", _BytesSentReport); +// updateDatabaseValue(con,"HelloSignalReport", _HelloSignalReport); +// updateDatabaseValue(con,"BatteryLevelReport", _BatteryLevelReport); +// updateDatabaseValue(con,"RoamingReport", _RoamingReport); +// updateDatabaseValue(con,"InventoryReport", _InventoryReport); +// updateDatabaseValue(con,"NotificationCheck", _NotificationCheck); +// updateDatabaseValue(con,"mobileWebURL", _mobileWebURL); +// +// +// return true; +// }// end updateConf +// +// +// +//// //Adds a new row "name" with the value "value" +//// public static void addValue(Context context, String name, String value){ +//// db = new DataBaseHandler(con); +//// +//// DataHandler dh = new DataHandler(name, value); +//// +//// db.addValue(dh); +//// +//// } +// +// //Updates a given row "name" with a "value" +// public static synchronized void updateDatabaseValue(Context context, String name, String value){ +// db = new DataBaseHandler(con, "pandroid", null, 1); +// //Retrieve id of row to update +// int id = getDataHandler(con, name).get_id(); // -// DataHandler dh = new DataHandler(name, value); +// DataHandler dh = new DataHandler(id, name, value); // -// db.addValue(dh); +// db.updateValue(dh); +// } +// +// //Returns the DataHandler object of the given row "name" +// public static synchronized DataHandler getDataHandler(Context context, String name){ +// db = new DataBaseHandler(con, "pandroid", null, 1); +// +// return db.getValue(name); +// } +// +// //Returns the value of the given row "name" +// public static synchronized String getDatabaseValue(Context context, String name){ +// db = new DataBaseHandler(con, "pandroid", null, 1); +// +// return db.getValue(name).get_value(); // // } - - //Updates a given row "name" with a "value" - public static synchronized void updateDatabaseValue(Context context, String name, String value){ - db = new DataBaseHandler(con, "pandroid", null, 1); - //Retrieve id of row to update - int id = getDataHandler(con, name).get_id(); - - DataHandler dh = new DataHandler(id, name, value); - - db.updateValue(dh); - } - - //Returns the DataHandler object of the given row "name" - public static synchronized DataHandler getDataHandler(Context context, String name){ - db = new DataBaseHandler(con, "pandroid", null, 1); - - return db.getValue(name); - } - - //Returns the value of the given row "name" - public static synchronized String getDatabaseValue(Context context, String name){ - db = new DataBaseHandler(con, "pandroid", null, 1); - - return db.getValue(name).get_value(); - - } } diff --git a/pandora_agents/android/src/pandroid/agent/PandroidAgent.java b/pandora_agents/android/src/pandroid/agent/PandroidAgent.java index 95aad572b2..e838e3dcd8 100755 --- a/pandora_agents/android/src/pandroid/agent/PandroidAgent.java +++ b/pandora_agents/android/src/pandroid/agent/PandroidAgent.java @@ -16,16 +16,21 @@ package pandroid.agent; import java.io.File; -//import android.app.Dialog; +import android.app.Activity; import android.app.TabActivity; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; +import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.os.Handler; import android.telephony.TelephonyManager; +import android.widget.TabHost; +//import android.app.Dialog; //import android.util.Log; //import android.view.WindowManager.LayoutParams; -import android.widget.TabHost; + + public class PandroidAgent extends TabActivity { @@ -33,6 +38,10 @@ public class PandroidAgent extends TabActivity { int defaultInterval = 300; TabHost tabHost; + static SharedPreferences agentPreferences; + static Editor editor; + + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -40,9 +49,15 @@ public class PandroidAgent extends TabActivity { //database// - Core.loadConfDatabase(this); - Core.loadLastValuesDatabase(this); + agentPreferences = this.getSharedPreferences( + this.getString(R.string.const_string_preferences), + Activity.MODE_PRIVATE); + editor = agentPreferences.edit(); + + //Core.loadConfDatabase(this); + //Core.loadLastValuesDatabase(this); + //Core.updateConf(this); /* final Dialog dialog = new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen); @@ -106,13 +121,13 @@ public class PandroidAgent extends TabActivity { public void onPause(){ super.onPause(); Core.updateConf(getApplicationContext()); - Core.updateDatabase(this); + //Core.updateDatabase(this); } public void onDestroy(){ super.onDestroy(); Core.updateConf(getApplicationContext()); - Core.updateDatabase(this); + //Core.updateDatabase(this); } //Sets hello signal to 1(first connect since pandroid was closed) @@ -127,5 +142,17 @@ public class PandroidAgent extends TabActivity { // Called from activity to allow tab switching public void switchTab(int tab){ tabHost.setCurrentTab(tab); - } + } + + public static SharedPreferences getSharedPrefs() { + // TODO Auto-generated method stub + return agentPreferences; + } + + public static Editor getEditor() { + // TODO Auto-generated method stub + return editor; + } + + } \ No newline at end of file diff --git a/pandora_agents/android/src/pandroid/agent/PandroidAgentListener.java b/pandora_agents/android/src/pandroid/agent/PandroidAgentListener.java index 058fb8d002..858f1e78c6 100644 --- a/pandora_agents/android/src/pandroid/agent/PandroidAgentListener.java +++ b/pandora_agents/android/src/pandroid/agent/PandroidAgentListener.java @@ -13,7 +13,6 @@ // GNU General Public License for more details. package pandroid.agent; -import java.io.BufferedWriter; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -23,10 +22,10 @@ import java.text.DecimalFormat; import java.util.Calendar; import java.util.Date; import java.util.List; +import java.util.concurrent.ExecutionException; import org.apache.commons.lang3.StringEscapeUtils; -import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityManager.MemoryInfo; import android.app.ActivityManager.RunningAppProcessInfo; @@ -37,7 +36,6 @@ import android.app.Service; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; -import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.database.Cursor; @@ -59,6 +57,8 @@ import android.telephony.PhoneStateListener; import android.telephony.SignalStrength; import android.telephony.TelephonyManager; import android.util.Log; +import android.view.Gravity; +import android.widget.Toast; public class PandroidAgentListener extends Service { @@ -76,7 +76,7 @@ public class PandroidAgentListener extends Service { } catch (Exception e) { Log.e("notification", e.toString()); } - Log.v("MARK","notif"+Core.NotificationCheck); + if(Core.NotificationCheck == "enabled"){ Notification notification = new Notification(R.drawable.icon, getText(R.string.ticker_text), @@ -114,55 +114,55 @@ public class PandroidAgentListener extends Service { - private void contact(){ - Date date = new Date(); - - putSharedData("PANDROID_DATA", "contactError", "0", "integer"); - putSharedData("PANDROID_DATA", "lastContact", Long.toString(date.getTime() / 1000), "long"); - - // Keep lastXML sended if is not empty (empty means error sending it) - String lastXML = buildXML(); - - - String agentName = getSharedData("PANDROID_DATA", "agentName", Core.defaultAgentName, "string"); - - String destFileName = agentName + "." + System.currentTimeMillis() + ".data"; - - writeFile(destFileName, lastXML); - - String[] tentacleData = { - "-a", - getSharedData("PANDROID_DATA", "serverAddr", "", "string"), - "-p", - Core.defaultServerPort, - "-v", - "/data/data/pandroid.agent/files/" + destFileName - }; - - int tentacleRet = new tentacle_client().tentacle_client(tentacleData); - - // Deleting the file after send it - File file = new File("/data/data/pandroid.agent/files/" + destFileName); - file.delete(); - - if(tentacleRet == 0) { - putSharedData("PANDROID_DATA", "lastXML", lastXML, "string"); - if (Core.helloSignal >= 1) - Core.helloSignal = 0; - Core.updateConf(getApplicationContext()); - } - else { - putSharedData("PANDROID_DATA", "contactError", "1", "integer"); - } - - updateValues(); - } +// private void contact(){ +// Date date = new Date(); +// +// Core.putSharedData("PANDROID_DATA", "contactError", "0", "integer"); +// Core.putSharedData("PANDROID_DATA", "lastContact", Long.toString(date.getTime() / 1000), "long"); +// +// // Keep lastXML sended if is not empty (empty means error sending it) +// String lastXML = buildXML(); +// +// +// String agentName = Core.getSharedData("PANDROID_DATA", "agentName", Core.defaultAgentName, "string"); +// +// String destFileName = agentName + "." + System.currentTimeMillis() + ".data"; +// +// writeFile(destFileName, lastXML); +// +// String[] tentacleData = { +// "-a", +// Core.getSharedData("PANDROID_DATA", "serverAddr", "", "string"), +// "-p", +// Core.defaultServerPort, +// "-v", +// "/data/data/pandroid.agent/files/" + destFileName +// }; +// +// int tentacleRet = new tentacle_client().tentacle_client(tentacleData); +// +// // Deleting the file after send it +// File file = new File("/data/data/pandroid.agent/files/" + destFileName); +// file.delete(); +// +// if(tentacleRet == 0) { +// Core.putSharedData("PANDROID_DATA", "lastXML", lastXML, "string"); +// if (Core.helloSignal >= 1) +// Core.helloSignal = 0; +// Core.updateConf(getApplicationContext()); +// } +// else { +// Core.putSharedData("PANDROID_DATA", "contactError", "1", "integer"); +// } +// +// updateValues(); +// } + - /* private void contact(){ - /* + Toast toast = Toast.makeText(getApplicationContext(), getString(R.string.loading), @@ -174,57 +174,119 @@ public class PandroidAgentListener extends Service { Date date = new Date(); - putSharedData("PANDROID_DATA", "lastContact", Long.toString(date.getTime() / 1000), "long"); + Core.putSharedData("PANDROID_DATA", "lastContact", Long.toString(date.getTime() / 1000), "long"); + Boolean xmlBuilt = true; + String xml = ""; - String lastXML = ""; - new contactTask().execute(lastXML); + try { + xml = new buildXMLTask().execute().get(); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + xmlBuilt = false; + } catch (ExecutionException e) { + // TODO Auto-generated catch block + xmlBuilt = false; + } + + + + new contactTask().execute(xml); updateValues(); }//end contact - + - private class contactTask extends AsyncTask{ - + private class contactTask extends AsyncTask{ + String destFileName = ""; + + @Override + protected void onPreExecute(){ + + } + @Override - protected Void doInBackground(String...params) { + protected Integer doInBackground(String... lastXML) { + + + //Check for files + + String[] buffer = getApplicationContext().fileList(); +// for(int i = 0; i 1 && contact) { - String lastXML = params[0]; - lastXML = buildXML(); - String destFileName = ""; - String agentName = getSharedData("PANDROID_DATA", "agentName", Core.defaultAgentName, "string"); - destFileName = agentName + "." + System.currentTimeMillis() + ".data"; + destFileName = buffer[i]; + + String[] tentacleData = { + "-a", + Core.getSharedData("PANDROID_DATA", "serverAddr", "", "string"), + "-p", + Core.defaultServerPort, + "-v", + "/data/data/pandroid.agent/files/" + destFileName + }; + + + tentacleRet = new tentacle_client().tentacle_client(tentacleData); + + if(tentacleRet == 0) { + Core.putSharedData("PANDROID_DATA", "contactError", "0", "integer"); + // Deleting the file after send it + // move to only delete if sent successfully + File file = new File("/data/data/pandroid.agent/files/" + destFileName); + file.delete(); + if (Core.helloSignal >= 1) + Core.helloSignal = 0; + Core.updateConf(getApplicationContext()); + + } + if(tentacleRet == -1){ + //file not deleted + Core.putSharedData("PANDROID_DATA", "contactError", "1", "integer"); + contact = false; + } + i++; + + } + + return tentacleRet; - writeFile(destFileName, lastXML); - String[] tentacleData = { - "-a", - getSharedData("PANDROID_DATA", "serverAddr", "", "string"), - "-p", - Core.defaultServerPort, - "-v", - "/data/data/pandroid.agent/files/" + destFileName - }; - - int tentacleRet = new tentacle_client().tentacle_client(tentacleData); + }//end doInBackground - putSharedData("PANDROID_DATA", "lastXML", lastXML, "string"); - if(tentacleRet == 0) { - putSharedData("PANDROID_DATA", "contactError", "0", "integer"); - // Deleting the file after send it - // move to only delete if sent successfully - File file = new File("/data/data/pandroid.agent/files/" + destFileName); - file.delete(); - if (Core.helloSignal >= 1) - Core.helloSignal = 0; - Core.updateConf(getApplicationContext()); - } - else{ - putSharedData("PANDROID_DATA", "contactError", "1", "integer"); - } - return null; - }//end doInBackground } - */ + + private class buildXMLTask extends AsyncTask{ + + @Override + protected String doInBackground(Void... v) { + + String lastXML = buildXML(); + + String destFileName = ""; + String agentName = Core.getSharedData("PANDROID_DATA", "agentName", Core.defaultAgentName, "string"); + destFileName = agentName + "." + System.currentTimeMillis() + ".data"; + + + //Check if number of files is less than a value + if(getApplicationContext().fileList().length < 100){ + writeFile(destFileName, lastXML); + Core.putSharedData("PANDROID_DATA", "lastXML", lastXML, "string"); + }else{ + //buffer full + } + Core.putSharedData("PANDROID_DATA", "lastXML", lastXML, "string"); + + return lastXML; + + } + } + //////////////////////////////////////////////////////////////////////////////////////// // From unfinished task of buffering unsent xml files when no connection available // //////////////////////////////////////////////////////////////////////////////////////// @@ -257,15 +319,15 @@ public class PandroidAgentListener extends Service { String gpsData = ""; buffer += "\n"; - String latitude = getSharedData("PANDROID_DATA", "latitude", "181", "float"); - String longitude = getSharedData("PANDROID_DATA", "longitude", "181", "float"); + String latitude = Core.getSharedData("PANDROID_DATA", "latitude", "181", "float"); + String longitude = Core.getSharedData("PANDROID_DATA", "longitude", "181", "float"); if(!latitude.equals("181.0") && !longitude.equals("181.0")) { gpsData = " latitude='" + latitude + "' longitude='" + longitude + "'"; } - String agentName = getSharedData("PANDROID_DATA", "agentName", Core.defaultAgentName, "string"); - String interval = getSharedData("PANDROID_DATA", "interval", Integer.toString(Core.defaultInterval), "integer"); + String agentName = Core.getSharedData("PANDROID_DATA", "agentName", Core.defaultAgentName, "string"); + String interval = Core.getSharedData("PANDROID_DATA", "interval", Integer.toString(Core.defaultInterval), "integer"); buffer += "= 0 && scale > 0) { - putSharedData("PANDROID_DATA", "batteryLevel", Integer.valueOf((rawlevel * 100) / scale).toString(), "integer"); + Core.putSharedData("PANDROID_DATA", "batteryLevel", Integer.valueOf((rawlevel * 100) / scale).toString(), "integer"); } } @@ -563,7 +625,7 @@ public class PandroidAgentListener extends Service { SensorEventListener orientationLevelReceiver = new SensorEventListener() { public void onSensorChanged(SensorEvent sensorEvent) { - putSharedData("PANDROID_DATA", "orientation", Float.toString(sensorEvent.values[0]), "float"); + Core.putSharedData("PANDROID_DATA", "orientation", Float.toString(sensorEvent.values[0]), "float"); } public void onAccuracyChanged(Sensor sensor, int accuracy) { } @@ -571,7 +633,7 @@ public class PandroidAgentListener extends Service { SensorEventListener proximityLevelReceiver = new SensorEventListener() { public void onSensorChanged(SensorEvent sensorEvent) { - putSharedData("PANDROID_DATA", "proximity", Float.toString(sensorEvent.values[0]), "float"); + Core.putSharedData("PANDROID_DATA", "proximity", Float.toString(sensorEvent.values[0]), "float"); } public void onAccuracyChanged(Sensor sensor, int accuracy) { } @@ -621,7 +683,7 @@ public class PandroidAgentListener extends Service { private void updateValues() { batteryLevel(); - String gpsStatus = getSharedData("PANDROID_DATA", "gpsStatus", Core.defaultGpsStatus, "string"); + String gpsStatus = Core.getSharedData("PANDROID_DATA", "gpsStatus", Core.defaultGpsStatus, "string"); if(gpsStatus.equals("enabled")) { Log.d("PANDROID AGENT", "ENABLED"); @@ -629,8 +691,8 @@ public class PandroidAgentListener extends Service { } else { Log.d("PANDROID AGENT", "DISABLED"); - putSharedData("PANDROID_DATA", "latitude", "181.0", "float"); - putSharedData("PANDROID_DATA", "longitude", "181.0", "float"); + Core.putSharedData("PANDROID_DATA", "latitude", "181.0", "float"); + Core.putSharedData("PANDROID_DATA", "longitude", "181.0", "float"); } //sensors(); @@ -653,7 +715,7 @@ public class PandroidAgentListener extends Service { } private void getMemoryStatus() { - String memoryStatus = getSharedData("PANDROID_DATA", "memoryStatus", Core.defaultMemoryStatus, "string"); + String memoryStatus = Core.getSharedData("PANDROID_DATA", "memoryStatus", Core.defaultMemoryStatus, "string"); long availableRamKb = 0; long totalRamKb = 0; @@ -679,14 +741,14 @@ public class PandroidAgentListener extends Service { } } - putSharedData("PANDROID_DATA", "availableRamKb", "" + availableRamKb, "long"); - putSharedData("PANDROID_DATA", "totalRamKb", "" + totalRamKb, "long"); + Core.putSharedData("PANDROID_DATA", "availableRamKb", "" + availableRamKb, "long"); + Core.putSharedData("PANDROID_DATA", "totalRamKb", "" + totalRamKb, "long"); }// end getMemoryStatus private void getTaskStatus() { - String taskStatus = getSharedData("PANDROID_DATA", "taskStatus", Core.defaultTaskStatus, "string"); - String task = getSharedData("PANDROID_DATA", "task", Core.defaultTask, "string"); - String taskHumanName = getSharedData("PANDROID_DATA", "taskHumanName", Core.defaultTaskHumanName, "string"); + String taskStatus = Core.getSharedData("PANDROID_DATA", "taskStatus", Core.defaultTaskStatus, "string"); + String task = Core.getSharedData("PANDROID_DATA", "task", Core.defaultTask, "string"); + String taskHumanName = Core.getSharedData("PANDROID_DATA", "taskHumanName", Core.defaultTaskHumanName, "string"); String run = "false"; if (taskStatus.equals("enabled")) { @@ -706,7 +768,7 @@ public class PandroidAgentListener extends Service { } } } - putSharedData("PANDROID_DATA", "taskRun", run, "string"); + Core.putSharedData("PANDROID_DATA", "taskRun", run, "string"); }//end getTaskStatus /** @@ -714,12 +776,12 @@ public class PandroidAgentListener extends Service { */ private void getSimID(){ - String simID = getSharedData("PANDROID_DATA", "simID", Core.defaultSimID, "string"); + String simID = Core.getSharedData("PANDROID_DATA", "simID", Core.defaultSimID, "string"); String serviceName = Context.TELEPHONY_SERVICE; TelephonyManager telephonyManager = (TelephonyManager) getApplicationContext().getSystemService(serviceName); simID = telephonyManager.getSimSerialNumber(); - putSharedData("PANDROID_DATA", "simID", simID, "string"); + Core.putSharedData("PANDROID_DATA", "simID", simID, "string"); } /** * Retrieves the time in seconds since the device was switched on @@ -728,7 +790,7 @@ public class PandroidAgentListener extends Service { long upTime = Core.defaultUpTime; upTime = SystemClock.elapsedRealtime()/1000; if(upTime != 0) - putSharedData("PANDROID_DATA", "upTime", ""+upTime, "long"); + Core.putSharedData("PANDROID_DATA", "upTime", ""+upTime, "long"); } /** * Retrieve currently registered network operator, i.e. vodafone, movistar, etc... @@ -740,7 +802,7 @@ public class PandroidAgentListener extends Service { networkOperator = telephonyManager.getNetworkOperatorName(); if(networkOperator != null) - putSharedData("PANDROID_DATA", "networkOperator", networkOperator, "string"); + Core.putSharedData("PANDROID_DATA", "networkOperator", networkOperator, "string"); } /** * Retrieves the number of sent sms messages using the android messaging app only @@ -748,7 +810,7 @@ public class PandroidAgentListener extends Service { private void getSMSSent(){ String SMSSent = ""+Core.defaultSMSSent; - SMSSent = getSharedData("PANDROID_DATA", "SMSSent", ""+Core.defaultSMSSent, "integer"); + SMSSent = Core.getSharedData("PANDROID_DATA", "SMSSent", ""+Core.defaultSMSSent, "integer"); Uri allMessages = Uri.parse("content://sms/sent"); Cursor c = getContentResolver().query(allMessages, null, null, null, null); int totalMessages = 0; @@ -767,7 +829,7 @@ public class PandroidAgentListener extends Service { SMSSent =""+ totalMessages; if(SMSSent != null) - putSharedData("PANDROID_DATA", "SMSSent", SMSSent, "integer"); + Core.putSharedData("PANDROID_DATA", "SMSSent", SMSSent, "integer"); }// end getSMSSent /** @@ -831,7 +893,7 @@ public class PandroidAgentListener extends Service { break; } if(networkType != null) - putSharedData("PANDROID_DATA", "networkType", networkType, "string"); + Core.putSharedData("PANDROID_DATA", "networkType", networkType, "string"); }// end getNetworkType @@ -860,7 +922,7 @@ public class PandroidAgentListener extends Service { break; } if(phoneType != null) - putSharedData("PANDROID_DATA", "phoneType", phoneType, "string"); + Core.putSharedData("PANDROID_DATA", "phoneType", phoneType, "string"); }// end getPhoneType /** @@ -894,9 +956,9 @@ public class PandroidAgentListener extends Service { c.moveToNext(); } - putSharedData("PANDROID_DATA", "incomingCalls", ""+incoming, "integer"); - putSharedData("PANDROID_DATA", "missedCalls", ""+missed, "integer"); - putSharedData("PANDROID_DATA", "outgoingCalls", ""+outgoing, "integer"); + Core.putSharedData("PANDROID_DATA", "incomingCalls", ""+incoming, "integer"); + Core.putSharedData("PANDROID_DATA", "missedCalls", ""+missed, "integer"); + Core.putSharedData("PANDROID_DATA", "outgoingCalls", ""+outgoing, "integer"); } c.close(); @@ -927,7 +989,7 @@ public class PandroidAgentListener extends Service { else{ signalStrengthValue ="" + (signalStrength.getCdmaDbm()); } - putSharedData("PANDROID_DATA", "signalStrength", signalStrengthValue, "integer"); + Core.putSharedData("PANDROID_DATA", "signalStrength", signalStrengthValue, "integer"); } }; /** @@ -941,8 +1003,8 @@ public class PandroidAgentListener extends Service { if (receiveBytes != TrafficStats.UNSUPPORTED && transmitBytes != TrafficStats.UNSUPPORTED) { - putSharedData("PANDROID_DATA", "receiveBytes", ""+receiveBytes, "long" ); - putSharedData("PANDROID_DATA", "transmitBytes", ""+transmitBytes, "long" ); + Core.putSharedData("PANDROID_DATA", "receiveBytes", ""+receiveBytes, "long" ); + Core.putSharedData("PANDROID_DATA", "transmitBytes", ""+transmitBytes, "long" ); } } /** @@ -954,63 +1016,13 @@ public class PandroidAgentListener extends Service { boolean roaming = telephone.isNetworkRoaming(); if(roaming) - putSharedData("PANDROID_DATA", "roaming", "1", "integer" ); + Core.putSharedData("PANDROID_DATA", "roaming", "1", "integer" ); else - putSharedData("PANDROID_DATA", "roaming", "0", "integer" ); + Core.putSharedData("PANDROID_DATA", "roaming", "0", "integer" ); } - private void putSharedData(String preferenceName, String tokenName, String data, String type) { - int mode = Activity.MODE_PRIVATE; - SharedPreferences agentPreferences = getSharedPreferences(preferenceName, mode); - SharedPreferences.Editor editor = agentPreferences.edit(); - - - if(type == "boolean") { - editor.putBoolean(tokenName, Boolean.parseBoolean(data)); - } - else if(type == "float") { - editor.putFloat(tokenName, Float.parseFloat(data)); - } - else if(type == "integer") { - editor.putInt(tokenName, Integer.parseInt(data)); - } - else if(type == "long") { - editor.putLong(tokenName, Long.parseLong(data)); - } - else if(type == "string") { - editor.putString(tokenName, data); - } - - editor.commit(); - } - - private String getSharedData(String preferenceName, String tokenName, String defaultValue, String type) { - int mode = Activity.MODE_PRIVATE; - SharedPreferences agentPreferences = getSharedPreferences(preferenceName, mode); - - if(type == "boolean") { - boolean a = agentPreferences.getBoolean(tokenName, Boolean.parseBoolean(defaultValue)); - return Boolean.valueOf(a).toString(); - } - else if(type == "float") { - float a = agentPreferences.getFloat(tokenName, Float.parseFloat(defaultValue)); - return Float.valueOf(a).toString(); - } - else if(type == "integer") { - int a = agentPreferences.getInt(tokenName, Integer.parseInt(defaultValue)); - return Integer.valueOf(a).toString(); - } - else if(type == "long") { - long a = agentPreferences.getLong(tokenName, Long.parseLong(defaultValue)); - return Long.valueOf(a).toString(); - } - else if(type == "string") { - return agentPreferences.getString(tokenName, defaultValue); - } - - return ""; - } + private String getHumanDateTime(long unixtime){ Calendar dateTime = Calendar.getInstance(); @@ -1070,8 +1082,8 @@ public class PandroidAgentListener extends Service { @Override public void onLocationChanged(Location loc) { - putSharedData("PANDROID_DATA", "latitude", Double.valueOf(loc.getLatitude()).toString(), "float"); - putSharedData("PANDROID_DATA", "longitude", Double.valueOf(loc.getLongitude()).toString(), "float"); + Core.putSharedData("PANDROID_DATA", "latitude", Double.valueOf(loc.getLatitude()).toString(), "float"); + Core.putSharedData("PANDROID_DATA", "longitude", Double.valueOf(loc.getLongitude()).toString(), "float"); } @Override diff --git a/pandora_agents/android/src/pandroid/agent/PandroidAgentTentacle.java b/pandora_agents/android/src/pandroid/agent/PandroidAgentTentacle.java index 0a0081df9c..e1201f5aba 100755 --- a/pandora_agents/android/src/pandroid/agent/PandroidAgentTentacle.java +++ b/pandora_agents/android/src/pandroid/agent/PandroidAgentTentacle.java @@ -20,6 +20,7 @@ import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; +import java.net.InetSocketAddress; import java.net.Socket; import java.net.UnknownHostException; @@ -71,9 +72,11 @@ class tentacle_client { getInfo("\n*** Starting tentacle client ***\n",verbose); - Socket socketCliente = null; + Socket socketCliente = new Socket(); + try { - socketCliente = new Socket(address, port); + socketCliente.connect(new InetSocketAddress(address, port), 1000); + } catch (UnknownHostException e) { getError("Host don't exists"); return -1; @@ -81,6 +84,7 @@ class tentacle_client { getError("Could not connect: The host is down"); return -1; } + DataOutputStream serverOutput = null; @@ -186,7 +190,7 @@ class tentacle_client { } private void log (String msg) { - + Log.e("Tentacle",msg); //Context context = getApplicationContext(); //int duration = Toast.LENGTH_SHORT; diff --git a/pandora_agents/android/src/pandroid/agent/SMSBroadcastReceiver.java b/pandora_agents/android/src/pandroid/agent/SMSBroadcastReceiver.java index 5c9e9777a9..f44babb676 100644 --- a/pandora_agents/android/src/pandroid/agent/SMSBroadcastReceiver.java +++ b/pandora_agents/android/src/pandroid/agent/SMSBroadcastReceiver.java @@ -36,7 +36,7 @@ import android.util.Log; int defaultSMSReceived = 0; int mode = Activity.MODE_PRIVATE; - SharedPreferences pref = context.getSharedPreferences("PANDROID_DATA", mode); + SharedPreferences pref = PandroidAgent.getSharedPrefs(); int sms = pref.getInt("SMSReceived", defaultSMSReceived); sms++; diff --git a/pandora_agents/android/src/pandroid/agent/Status.java b/pandora_agents/android/src/pandroid/agent/Status.java index 2f969699f5..4996e5bf86 100644 --- a/pandora_agents/android/src/pandroid/agent/Status.java +++ b/pandora_agents/android/src/pandroid/agent/Status.java @@ -94,9 +94,7 @@ public class Status extends Activity { private void updateLastXML() { TextView xml = (TextView) this.findViewById(R.id.xml); - SharedPreferences agentPreferences = getSharedPreferences( - getString(R.string.const_string_preferences), - Activity.MODE_PRIVATE); + SharedPreferences agentPreferences = PandroidAgent.getSharedPrefs(); String lastXML = agentPreferences.getString("lastXML", "[no data]"); xml.setText("Last XML builded: \n\n" + lastXML);