From 1b34eb31837a176d8d021791e78ec81bb084ecc2 Mon Sep 17 00:00:00 2001 From: Luke Miller Date: Tue, 2 Nov 2010 18:49:52 +0000 Subject: Added functionality to reconnect to the inbox after the data connection has been lost. SMS notification is sent on connection and disconnection. --- workspace/BlaMail/bin/BlaMail.apk | Bin 283994 -> 284398 bytes workspace/BlaMail/bin/classes.dex | Bin 567100 -> 567920 bytes .../bin/com/blatech/blamail/BlaMail$1.class | Bin 1463 -> 1582 bytes .../bin/com/blatech/blamail/BlaMail$2.class | Bin 1320 -> 1463 bytes .../bin/com/blatech/blamail/BlaMail$3.class | Bin 2005 -> 1320 bytes .../BlaMail/bin/com/blatech/blamail/BlaMail.class | Bin 2933 -> 3100 bytes workspace/BlaMail/bin/resources.ap_ | Bin 11064 -> 11064 bytes .../BlaMail/src/com/blatech/blamail/BlaMail.java | 50 +++++++++++++++++---- 8 files changed, 41 insertions(+), 9 deletions(-) diff --git a/workspace/BlaMail/bin/BlaMail.apk b/workspace/BlaMail/bin/BlaMail.apk index 486b386..eeef871 100644 Binary files a/workspace/BlaMail/bin/BlaMail.apk and b/workspace/BlaMail/bin/BlaMail.apk differ diff --git a/workspace/BlaMail/bin/classes.dex b/workspace/BlaMail/bin/classes.dex index 559a6d7..4b28556 100644 Binary files a/workspace/BlaMail/bin/classes.dex and b/workspace/BlaMail/bin/classes.dex differ diff --git a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$1.class b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$1.class index ddf7fb7..d0c94a2 100644 Binary files a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$1.class and b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$1.class differ diff --git a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$2.class b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$2.class index adb45d7..230d979 100644 Binary files a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$2.class and b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$2.class differ diff --git a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$3.class b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$3.class index dcc58b1..9d0a61f 100644 Binary files a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$3.class and b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail$3.class differ diff --git a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail.class b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail.class index 1283ff2..a26074e 100644 Binary files a/workspace/BlaMail/bin/com/blatech/blamail/BlaMail.class and b/workspace/BlaMail/bin/com/blatech/blamail/BlaMail.class differ diff --git a/workspace/BlaMail/bin/resources.ap_ b/workspace/BlaMail/bin/resources.ap_ index 2fbda81..1b39f95 100644 Binary files a/workspace/BlaMail/bin/resources.ap_ and b/workspace/BlaMail/bin/resources.ap_ differ diff --git a/workspace/BlaMail/src/com/blatech/blamail/BlaMail.java b/workspace/BlaMail/src/com/blatech/blamail/BlaMail.java index 6e99a12..5c14e0a 100644 --- a/workspace/BlaMail/src/com/blatech/blamail/BlaMail.java +++ b/workspace/BlaMail/src/com/blatech/blamail/BlaMail.java @@ -32,7 +32,6 @@ package com.blatech.blamail; import java.util.Properties; -import javax.mail.Flags; import javax.mail.Folder; import javax.mail.Message; import javax.mail.MessagingException; @@ -49,7 +48,9 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; +import android.telephony.PhoneStateListener; import android.telephony.SmsManager; +import android.telephony.TelephonyManager; import android.view.View; import android.widget.Button; import android.widget.EditText; @@ -70,9 +71,39 @@ public class BlaMail extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); + + TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); - Thread t = new Thread(new Monitor()); - t.start(); + PhoneStateListener listener = new PhoneStateListener() { + @Override + public void onDataConnectionStateChanged(int state){ + Thread t = null; + try { + switch (state) { + case TelephonyManager.DATA_CONNECTED: + sendSMS("0000000000000000000", "07927278978", "Notification from blamail: blamail is up."); + t = new Thread(new Monitor()); + t.start(); + break; + case TelephonyManager.DATA_DISCONNECTED: + sendSMS("0000000000000000000", "07927278978", "Notification from blamail: blamail is down."); + if(t != null){ + t.interrupt(); + } + break; + } + } catch (AddressException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (MessagingException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + }; + + // Register the listener wit the telephony manager + tm.listen(listener, PhoneStateListener.LISTEN_DATA_CONNECTION_STATE); Button send = (Button) findViewById(R.id.send); @@ -135,7 +166,7 @@ public class BlaMail extends Activity { } folder.open(Folder.READ_WRITE); - + // Add messageCountListener to listen for new messages folder.addMessageCountListener(new MessageCountAdapter() { public void messagesAdded(MessageCountEvent ev) { @@ -156,12 +187,13 @@ public class BlaMail extends Activity { IMAPFolder f = (IMAPFolder)folder; for(;;){ - f.idle(); - } + f.idle(); + } - } catch (Exception ex) { - ex.printStackTrace(); - } + } catch (MessagingException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } } } -- cgit v1.2.3