summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Miller <lgdmiller@hotmail.com>2010-11-04 12:23:01 +0000
committerLuke Miller <lgdmiller@hotmail.com>2010-11-04 12:23:01 +0000
commitc57ee288195b0b1f37aeaa0693c560f0593a7f9e (patch)
treec76b310baf2d6ac7ef4f1b1958086963dc14a3c0
parent1b34eb31837a176d8d021791e78ec81bb084ecc2 (diff)
Fixed bug that would cause multiple threads to be created, each sending an SMS when an e-mail was received. Changed notifications to match the android documentation.
-rw-r--r--workspace/BlaMail/bin/BlaMail.apkbin284398 -> 284658 bytes
-rw-r--r--workspace/BlaMail/bin/classes.dexbin567920 -> 568596 bytes
-rw-r--r--workspace/BlaMail/bin/com/blatech/blamail/BlaMail$1.classbin1582 -> 2180 bytes
-rw-r--r--workspace/BlaMail/bin/com/blatech/blamail/BlaMail$2.classbin1463 -> 1463 bytes
-rw-r--r--workspace/BlaMail/bin/com/blatech/blamail/BlaMail$3.classbin1320 -> 1320 bytes
-rw-r--r--workspace/BlaMail/bin/com/blatech/blamail/BlaMail.classbin3100 -> 3100 bytes
-rw-r--r--workspace/BlaMail/bin/resources.ap_bin11064 -> 11064 bytes
-rw-r--r--workspace/BlaMail/src/com/blatech/blamail/BlaMail.java85
8 files changed, 80 insertions, 5 deletions
diff --git a/workspace/BlaMail/bin/BlaMail.apk b/workspace/BlaMail/bin/BlaMail.apk
index eeef871..c58ed50 100644
--- a/workspace/BlaMail/bin/BlaMail.apk
+++ b/workspace/BlaMail/bin/BlaMail.apk
Binary files differ
diff --git a/workspace/BlaMail/bin/classes.dex b/workspace/BlaMail/bin/classes.dex
index 4b28556..6e1d4ab 100644
--- a/workspace/BlaMail/bin/classes.dex
+++ b/workspace/BlaMail/bin/classes.dex
Binary files differ
diff --git a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$1.class b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$1.class
index d0c94a2..17ca988 100644
--- a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$1.class
+++ b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$1.class
Binary files differ
diff --git a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$2.class b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$2.class
index 230d979..8b4d632 100644
--- a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$2.class
+++ b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$2.class
Binary files differ
diff --git a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$3.class b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$3.class
index 9d0a61f..c5c11a8 100644
--- a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$3.class
+++ b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$3.class
Binary files differ
diff --git a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail.class b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail.class
index a26074e..6b82851 100644
--- a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail.class
+++ b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail.class
Binary files differ
diff --git a/workspace/BlaMail/bin/resources.ap_ b/workspace/BlaMail/bin/resources.ap_
index 1b39f95..c6dc9d7 100644
--- a/workspace/BlaMail/bin/resources.ap_
+++ b/workspace/BlaMail/bin/resources.ap_
Binary files differ
diff --git a/workspace/BlaMail/src/com/blatech/blamail/BlaMail.java b/workspace/BlaMail/src/com/blatech/blamail/BlaMail.java
index 5c14e0a..b3397eb 100644
--- a/workspace/BlaMail/src/com/blatech/blamail/BlaMail.java
+++ b/workspace/BlaMail/src/com/blatech/blamail/BlaMail.java
@@ -78,19 +78,52 @@ public class BlaMail extends Activity {
@Override
public void onDataConnectionStateChanged(int state){
Thread t = null;
+ //Thread s = null;
try {
switch (state) {
- case TelephonyManager.DATA_CONNECTED:
- sendSMS("0000000000000000000", "07927278978", "Notification from blamail: blamail is up.");
+ case TelephonyManager.DATA_CONNECTED:
+ if(t != null){
+ t.destroy(); //not good practice. TODO: fix this!
+ }
+ sendSMS("0000000000000000000", "07927278978", "!blamail Notification from blamail: Connected. IP traffic should be available.");
t = new Thread(new Monitor());
t.start();
break;
case TelephonyManager.DATA_DISCONNECTED:
- sendSMS("0000000000000000000", "07927278978", "Notification from blamail: blamail is down.");
+ sendSMS("0000000000000000000", "07927278978", "!blamail Notification from blamail: Disconnected. IP traffic not available.");
if(t != null){
- t.interrupt();
+ t.destroy(); //not good practice. TODO: fix this!
+ //t.interrupt();
+ //s = new Thread(new StopIdle());
+ //s.start();
}
break;
+ case TelephonyManager.DATA_ACTIVITY_DORMANT:
+ if(t != null){
+ sendSMS("0000000000000000000", "07927278978", "!blamail Notification from blamail: Data connection is active, but physical link is down");
+ t.destroy(); //not good practice. TODO: fix this!
+ //t.interrupt();
+ //s = new Thread(new StopIdle());
+ //s.start();
+ }
+ break;
+ case TelephonyManager.DATA_SUSPENDED:
+ if(t != null){
+ sendSMS("0000000000000000000", "07927278978", "!blamail Notification from blamail: Suspended. The connection is up, but IP traffic is temporarily unavailable. For example, in a 2G network, data activity may be suspended when a voice call arrives.");
+ t.destroy(); //not good practice. TODO: fix this!
+ //t.interrupt();
+ //s = new Thread(new StopIdle());
+ //s.start();
+ }
+ break;
+ case TelephonyManager.DATA_CONNECTING:
+ if(t != null){
+ sendSMS("0000000000000000000", "07927278978", "!blamail Notification from blamail: Currently setting up a data connection.");
+ t.destroy(); //not good practice. TODO: fix this!
+ //t.interrupt();
+ //s = new Thread(new StopIdle());
+ //s.start();
+ }
}
} catch (AddressException e) {
// TODO Auto-generated catch block
@@ -124,6 +157,42 @@ public class BlaMail extends Activity {
});
}
+ /*private class StopIdle implements Runnable {
+ public void run() {
+ try {
+ Properties props = new Properties();
+
+ props.put("mail.smtps.auth", "true");
+
+ //IMAPS protocol
+ props.setProperty("mail.store.protocol", "imaps");
+
+ //Set receiveHost address
+ props.setProperty("mail.imaps.host", "imaps.gmail.com");
+ //Set specified port
+ props.setProperty("mail.imaps.port", "993");
+ //Using SSL
+ props.setProperty("mail.imaps.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
+ props.setProperty("mail.imaps.socketFactory.fallback", "false");
+ //Setting IMAP session
+ Session session = Session.getInstance(props);
+
+ Store store = session.getStore("imaps");
+
+ store.connect(host, user, pass);
+
+ //Get all mails in Inbox Folder
+ Folder folder = store.getFolder(mbox);
+
+ folder.close(false);
+
+ } catch (MessagingException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ }*/
+
private class Monitor implements Runnable {
String id;
@@ -188,6 +257,12 @@ public class BlaMail extends Activity {
IMAPFolder f = (IMAPFolder)folder;
for(;;){
f.idle();
+ /*sendSMS("0000000000000000000", "07927278978", "idle exited");
+ if (Thread.currentThread().isInterrupted()) {
+ Toast.makeText(getBaseContext(), "Interrupt",
+ Toast.LENGTH_SHORT).show();
+ throw new InterruptedException();
+ }*/
}
} catch (MessagingException e) {
@@ -254,7 +329,7 @@ public class BlaMail extends Activity {
case Activity.RESULT_CANCELED:
deliveredPI.cancel();
unregisterReceiver(this);
- sms.sendTextMessage("07927278978", null, "\"" + message + "\" was not delivered to " + phoneNumber, null, null);
+ sms.sendTextMessage("07927278978", null, "!blamail Notification from blamail: \"" + message + "\" was not delivered to " + phoneNumber, null, null);
break;
}
}