From 479f09cea23c22873e7d736d4d5f299cf8d0b6bf Mon Sep 17 00:00:00 2001 From: zarzuelo Date: Mon, 7 Feb 2011 16:53:49 +0000 Subject: [PATCH] 2011-02-07 Sergio Martin * android/AndroidManifest.xml android/src/pandroid/agent/PandroidAgent.java android/src/pandroid/agent/PandroidAgentListener.java android/bin/pandroid/agent/PandroidAgentListener$2.class android/bin/pandroid/agent/PandroidAgentListener$3.class android/bin/pandroid/agent/PandroidAgentListener$MyLocationListener.class android/bin/pandroid/agent/PandroidAgentListener$1.class android/bin/pandroid/agent/PandroidAgent.class android/bin/pandroid/agent/PandroidAgentListener.class android/bin/pandroid/agent/PandroidAgent$1.class android/bin/pandroid/agent/PandroidAgent$2.class android/bin/pandroid/agent/PandroidAgent$3.class android/bin/pandroid/agent/PandroidAgent$4.class android/bin/pandroid/agent/PandroidAgent$5.class android/bin/pandroid/agent/PandroidAgent$6.class android/bin/pandroid/agent/PandroidAgent$7.class android/bin/resources.ap_ android/bin/classes.dex android/res/drawable-hdpi/icon.png: Clean the code, changed the app icon, added modules to the proximity and orientation sensors and fixed little bugs git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@3808 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_agents/ChangeLog | 24 +++++ pandora_agents/android/AndroidManifest.xml | 7 +- pandora_agents/android/bin/classes.dex | Bin 25684 -> 28580 bytes .../bin/pandroid/agent/PandroidAgent$1.class | Bin 798 -> 798 bytes .../bin/pandroid/agent/PandroidAgent$2.class | Bin 1377 -> 1377 bytes .../bin/pandroid/agent/PandroidAgent$3.class | Bin 1379 -> 1379 bytes .../bin/pandroid/agent/PandroidAgent$4.class | Bin 1379 -> 1379 bytes .../bin/pandroid/agent/PandroidAgent$5.class | Bin 1378 -> 1378 bytes .../bin/pandroid/agent/PandroidAgent$6.class | Bin 868 -> 868 bytes .../bin/pandroid/agent/PandroidAgent$7.class | Bin 900 -> 900 bytes .../bin/pandroid/agent/PandroidAgent.class | Bin 11064 -> 11148 bytes .../agent/PandroidAgentListener.class | Bin 10405 -> 12801 bytes pandora_agents/android/bin/resources.ap_ | Bin 19429 -> 18030 bytes .../android/res/drawable-hdpi/icon.png | Bin 4147 -> 4172 bytes .../src/pandroid/agent/PandroidAgent.java | 54 +++++----- .../pandroid/agent/PandroidAgentListener.java | 102 +++++++++++++++++- 16 files changed, 159 insertions(+), 28 deletions(-) diff --git a/pandora_agents/ChangeLog b/pandora_agents/ChangeLog index 4fcbfd9132..5ca79a63ea 100644 --- a/pandora_agents/ChangeLog +++ b/pandora_agents/ChangeLog @@ -1,3 +1,27 @@ +2011-02-07 Sergio Martin + + * android/AndroidManifest.xml + android/src/pandroid/agent/PandroidAgent.java + android/src/pandroid/agent/PandroidAgentListener.java + android/bin/pandroid/agent/PandroidAgentListener$2.class + android/bin/pandroid/agent/PandroidAgentListener$3.class + android/bin/pandroid/agent/PandroidAgentListener$MyLocationListener.class + android/bin/pandroid/agent/PandroidAgentListener$1.class + android/bin/pandroid/agent/PandroidAgent.class + android/bin/pandroid/agent/PandroidAgentListener.class + android/bin/pandroid/agent/PandroidAgent$1.class + android/bin/pandroid/agent/PandroidAgent$2.class + android/bin/pandroid/agent/PandroidAgent$3.class + android/bin/pandroid/agent/PandroidAgent$4.class + android/bin/pandroid/agent/PandroidAgent$5.class + android/bin/pandroid/agent/PandroidAgent$6.class + android/bin/pandroid/agent/PandroidAgent$7.class + android/bin/resources.ap_ + android/bin/classes.dex + android/res/drawable-hdpi/icon.png: Clean the code, changed the + app icon, added modules to the proximity and orientation sensors + and fixed little bugs + 2011-02-03 Ramon Novoa * win32/installer/pandora.mpi, win32/pandora.cc, unix/pandora_agent: Free diff --git a/pandora_agents/android/AndroidManifest.xml b/pandora_agents/android/AndroidManifest.xml index 0cb69e59c5..51dff20b8b 100755 --- a/pandora_agents/android/AndroidManifest.xml +++ b/pandora_agents/android/AndroidManifest.xml @@ -5,7 +5,8 @@ android:versionName="1.0"> + android:label="@string/app_name" + android:configChanges="keyboardHidden|orientation"> @@ -18,4 +19,8 @@ + + + + \ No newline at end of file diff --git a/pandora_agents/android/bin/classes.dex b/pandora_agents/android/bin/classes.dex index 7caa7306f82b473d1adac7b3a24409b08fc9caa1..dfdc277334dcc05c5120741fb0120522ba9eb387 100755 GIT binary patch literal 28580 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 z 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 literal 25684 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 delta 17 YcmbQoHjiz?VG#GlhKZ9uvE%~)!*dEg diff --git a/pandora_agents/android/bin/pandroid/agent/PandroidAgent$3.class b/pandora_agents/android/bin/pandroid/agent/PandroidAgent$3.class index c5aff10ae3f0cb871046dc53fe97e93b0b50a4a3..dc32a131e7934724a8d202d7898c3a8d943e231a 100755 GIT binary patch delta 35 rcmaFN^_XizJ`3ZF$ptLMg0mRd7-lnwFw9|4VVKKc#js%V7nXbg$0 diff --git a/pandora_agents/android/bin/pandroid/agent/PandroidAgent$6.class b/pandora_agents/android/bin/pandroid/agent/PandroidAgent$6.class index bd456dbdf8e16a7e48ff8136fb2217f0d22dafff..b1f219bb447fd1c1555f3ad067bad176dac63121 100755 GIT binary patch delta 35 rcmaFD_JnQ2HYUcyleaU42p(l%XE?^d$8elMl;H$}48zIEGRz(T;1~+k delta 35 rcmaFD_JnQ2HYUb{leaU42p(o&XE?&Z$8eNEl;IeI48!rsGRz(T-(U*K diff --git a/pandora_agents/android/bin/pandroid/agent/PandroidAgent$7.class b/pandora_agents/android/bin/pandroid/agent/PandroidAgent$7.class index 000160c4ff2cbea58133cf1cdce2157b110d8e35..b15e81db97c54d1c3e326b8aff53c28fb46a66f1 100755 GIT binary patch delta 39 vcmZo+Z(-kXnu+oJBnc>=G8)gpx{E-W- delta 39 vcmZo+Z(-kXnu+o3Q08)gpx`=1M+ diff --git a/pandora_agents/android/bin/pandroid/agent/PandroidAgent.class b/pandora_agents/android/bin/pandroid/agent/PandroidAgent.class index 00d3c7c0b6d74277a26b21188930726d6bf2fecd..1127dd1ab0ad72dfed654b7d1738cdc9edf99e3a 100755 GIT binary patch literal 11148 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 literal 11064 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 diff --git a/pandora_agents/android/bin/pandroid/agent/PandroidAgentListener.class b/pandora_agents/android/bin/pandroid/agent/PandroidAgentListener.class index e787d82eb9c5f733ac0376ab2967523dc519aee4..d4289b09df7110c5b3287facead8aaa066832317 100644 GIT binary patch literal 12801 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 diff --git a/pandora_agents/android/bin/resources.ap_ b/pandora_agents/android/bin/resources.ap_ index 21261800506da270031d9522cab15ddcb17bbc5c..246d37d7151325b64fd006c5e53bb07715d459e5 100755 GIT binary patch delta 3640 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 literal 4147 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 diff --git a/pandora_agents/android/src/pandroid/agent/PandroidAgent.java b/pandora_agents/android/src/pandroid/agent/PandroidAgent.java index acecd98bf8..0dc7bfb86c 100755 --- a/pandora_agents/android/src/pandroid/agent/PandroidAgent.java +++ b/pandora_agents/android/src/pandroid/agent/PandroidAgent.java @@ -14,8 +14,6 @@ import android.view.View.OnClickListener; import android.view.View.OnKeyListener; import android.view.KeyEvent; import android.view.inputmethod.InputMethodManager; -import android.location.Location; -import android.location.LocationListener; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; @@ -34,6 +32,8 @@ public class PandroidAgent extends Activity { String defaultAgentName = "pandroidAgent"; String defaultGpsStatus = "disabled"; // "disabled" or "enabled" + boolean alarmEnabled; + boolean showLastXML = true; String lastGpsContactDateTime = ""; @@ -41,14 +41,12 @@ public class PandroidAgent extends Activity { ComponentName service = null; PendingIntent sender = null; AlarmManager am = null; - + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.main); - - //resetValues(); - + // Load the stored data into views loadViews(); @@ -61,23 +59,27 @@ public class PandroidAgent extends Activity { // Start the agent listener service //ComponentName service = startService(new Intent(this, PandroidAgentListener.class)); - // Setting an alarm to call service - Intent intentReceiver = new Intent(this, EventReceiver.class); - sender = PendingIntent.getBroadcast(this, 0, intentReceiver, 0); - am = (AlarmManager) getSystemService(ALARM_SERVICE); - - // Start the alert listener - startAgentListener(); - - // Update the UI each second - h.post(new Runnable() { - @Override - public void run() { - updateUI(); - h.postDelayed(this, 1000); - } - }); + if(!alarmEnabled) { + // Setting an alarm to call service + Intent intentReceiver = new Intent(this, EventReceiver.class); + sender = PendingIntent.getBroadcast(this, 0, intentReceiver, 0); + + am = (AlarmManager) getSystemService(ALARM_SERVICE); + + // Start the alert listener + restartAgentListener(); + + // Update the UI each second + h.post(new Runnable() { + @Override + public void run() { + updateUI(); + + h.postDelayed(this, 1000); + } + }); + } } @@ -290,15 +292,18 @@ public class PandroidAgent extends Activity { } } - private void stopAgentListener() { + private void stopAgentListener() { am.cancel(sender); + alarmEnabled = false; } private void startAgentListener() { + alarmEnabled = true; + int interval = Integer.parseInt(getSharedData("PANDROID_DATA", "interval", Integer.toString(defaultInterval), "integer")); // Set the alarm with the interval frequency - am.setRepeating(AlarmManager.RTC, System.currentTimeMillis(), (interval * 1000), sender); + am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), (interval * 1000), sender); } private void restartAgentListener() { @@ -338,6 +343,7 @@ public class PandroidAgent extends Activity { if(contactError == 1) { changeContactInfo("Contact error", "#FF0000"); + stopAgentListener(); } else { changeContactInfo("Last Contact: " + stringAgo, "#00FF00"); diff --git a/pandora_agents/android/src/pandroid/agent/PandroidAgentListener.java b/pandora_agents/android/src/pandroid/agent/PandroidAgentListener.java index 06d5d34a10..6f7cfa9f9a 100644 --- a/pandora_agents/android/src/pandroid/agent/PandroidAgentListener.java +++ b/pandora_agents/android/src/pandroid/agent/PandroidAgentListener.java @@ -8,13 +8,21 @@ import android.app.Service; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; +import android.location.Criteria; import android.os.Bundle; import android.os.IBinder; +import android.os.PowerManager; +import android.os.PowerManager.WakeLock; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; +import android.hardware.SensorManager; +import android.hardware.Sensor; +import android.hardware.SensorEvent; +import android.hardware.SensorEventListener; + import android.os.Handler; @@ -41,8 +49,12 @@ public class PandroidAgentListener extends Service { @Override public int onStartCommand(Intent intent, int flags, int startId) { + PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); + WakeLock wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock"); + wakeLock.acquire(); updateValues(); contact(); + wakeLock.release(); stopSelf(startId); return START_NOT_STICKY; } @@ -85,6 +97,8 @@ public class PandroidAgentListener extends Service { else { putSharedData("PANDROID_DATA", "contactError", "1", "integer"); } + + updateValues(); } private String buildXML(){ @@ -106,6 +120,15 @@ public class PandroidAgentListener extends Service { // Modules buffer += buildmoduleXML("battery_level", "The actually device battery level", "generic_data", getSharedData("PANDROID_DATA", "batteryLevel", "-1", "integer")); + String orientation = getSharedData("PANDROID_DATA", "orientation", "361", "float"); + String proximity = getSharedData("PANDROID_DATA", "proximity", "-1.0", "float"); + + if(!orientation.equals("361.0")) { + buffer += buildmoduleXML("orientation", "The actually device orientation (in degrees)", "generic_data", orientation); + } + if(!proximity.equals("-1.0")) { + buffer += buildmoduleXML("proximity", "The actually device proximity detector (0/1)", "generic_data", proximity); + } //buffer += buildmoduleXML("last_gps_contact", "Datetime of the last geo-location contact", "generic_data", lastGpsContactDateTime); // End_Modules @@ -166,9 +189,24 @@ public class PandroidAgentListener extends Service { putSharedData("PANDROID_DATA", "latitude", new Double(loc.getLatitude()).toString(), "float"); putSharedData("PANDROID_DATA", "longitude", new Double(loc.getLongitude()).toString(), "float"); } - else { - putSharedData("PANDROID_DATA", "latitude", "181", "float"); - putSharedData("PANDROID_DATA", "longitude", "181", "float"); + else { + Criteria criteria = new Criteria(); + criteria.setAccuracy(Criteria.ACCURACY_COARSE); + criteria.setPowerRequirement(Criteria.POWER_LOW); + criteria.setAltitudeRequired(false); + criteria.setBearingRequired(false); + criteria.setCostAllowed(true); + String bestProvider = lm.getBestProvider(criteria, true); + loc = lm.getLastKnownLocation(bestProvider); + if(loc != null) { + putSharedData("PANDROID_DATA", "latitude", new Double(loc.getLatitude()).toString(), "float"); + putSharedData("PANDROID_DATA", "longitude", new Double(loc.getLongitude()).toString(), "float"); + } + else { + putSharedData("PANDROID_DATA", "latitude", "181", "float"); + putSharedData("PANDROID_DATA", "longitude", "181", "float"); + } + } } @@ -187,6 +225,62 @@ public class PandroidAgentListener extends Service { IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); registerReceiver(batteryLevelReceiver, batteryLevelFilter); } + + private void sensors() { + + // Sensor listeners + + SensorEventListener orientationLevelReceiver = new SensorEventListener() { + public void onSensorChanged(SensorEvent sensorEvent) { + putSharedData("PANDROID_DATA", "orientation", Float.toString(sensorEvent.values[0]), "float"); + } + public void onAccuracyChanged(Sensor sensor, int accuracy) { + } + }; + + SensorEventListener proximityLevelReceiver = new SensorEventListener() { + public void onSensorChanged(SensorEvent sensorEvent) { + putSharedData("PANDROID_DATA", "proximity", Float.toString(sensorEvent.values[0]), "float"); + } + public void onAccuracyChanged(Sensor sensor, int accuracy) { + } + }; + + // Sensor management + + SensorManager sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); + + sensorManager = + (SensorManager)getSystemService( SENSOR_SERVICE ); + List sensors = sensorManager.getSensorList( Sensor.TYPE_ALL ); + Sensor proxSensor = null; + Sensor orientSensor = null; + + for( int i = 0 ; i < sensors.size() ; ++i ) { + switch(sensors.get( i ).getType()) { + case Sensor.TYPE_ORIENTATION: + orientSensor = sensors.get( i ); + break; + case Sensor.TYPE_PROXIMITY: + proxSensor = sensors.get( i ); + break; + } + } + + if( orientSensor != null ) { + sensorManager.registerListener( + orientationLevelReceiver, + orientSensor, + SensorManager.SENSOR_DELAY_UI ); + } + + if( proxSensor != null ) { + sensorManager.registerListener( + proximityLevelReceiver, + proxSensor, + SensorManager.SENSOR_DELAY_UI ); + } + } private void updateValues() { batteryLevel(); @@ -199,6 +293,8 @@ public class PandroidAgentListener extends Service { putSharedData("PANDROID_DATA", "latitude", "181.0", "float"); putSharedData("PANDROID_DATA", "longitude", "181.0", "float"); } + + sensors(); } private void putSharedData(String preferenceName, String tokenName, String data, String type) {