diff options
author | Tom Taylor <tomtaylor@google.com> | 2013-01-31 22:21:03 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2013-01-31 22:21:03 +0000 |
commit | 5e508afc2cb9a889de49a52d1b6dfe1238fb4630 (patch) | |
tree | 1acd019a4a10458b89d054f0a7c535a8bc432b9e | |
parent | a9c404e2f0415850e383269e478e7031582d176f (diff) | |
parent | 7a1b0328f6a6a6b0225f1392507cccff78f3cbd0 (diff) | |
download | Mms-jb-mr1-dev-plus-aosp.tar.gz |
Merge "Wake up TransactService when MMS data is available"jb-mr1-dev-plus-aosp
-rw-r--r-- | src/com/android/mms/transaction/MmsSystemEventReceiver.java | 10 | ||||
-rw-r--r-- | src/com/android/mms/transaction/TransactionService.java | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/src/com/android/mms/transaction/MmsSystemEventReceiver.java b/src/com/android/mms/transaction/MmsSystemEventReceiver.java index 78b027b5..2b70ba9f 100644 --- a/src/com/android/mms/transaction/MmsSystemEventReceiver.java +++ b/src/com/android/mms/transaction/MmsSystemEventReceiver.java @@ -64,13 +64,17 @@ public class MmsSystemEventReceiver extends BroadcastReceiver { Uri changed = (Uri) intent.getParcelableExtra(Mms.Intents.DELETED_CONTENTS); MmsApp.getApplication().getPduLoaderManager().removePdu(changed); } else if (action.equals(TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED)) { - String state = intent.getStringExtra(PhoneConstants.STATE_KEY); + String apnType = intent.getStringExtra(PhoneConstants.DATA_APN_TYPE_KEY); + boolean available = !(intent.getBooleanExtra( + PhoneConstants.NETWORK_UNAVAILABLE_KEY, false)); if (Log.isLoggable(LogTag.TRANSACTION, Log.VERBOSE)) { - Log.v(TAG, "ANY_DATA_STATE event received: " + state); + Log.v(TAG, "ANY_DATA_STATE event received: apnType = " + apnType + + ", available = " + available); } - if (state.equals("CONNECTED")) { + // Wake up transact service when MMS data is available. + if (apnType.equals(PhoneConstants.APN_TYPE_MMS) && available) { wakeUpService(context); } } else if (action.equals(Intent.ACTION_BOOT_COMPLETED)) { diff --git a/src/com/android/mms/transaction/TransactionService.java b/src/com/android/mms/transaction/TransactionService.java index 7fd27153..4230b16f 100644 --- a/src/com/android/mms/transaction/TransactionService.java +++ b/src/com/android/mms/transaction/TransactionService.java @@ -236,6 +236,10 @@ public class TransactionService extends Service implements Observer { } MmsSystemEventReceiver.registerForConnectionStateChanges( getApplicationContext()); + } else { + // MMS data is available now, do not need listen to state change. + MmsSystemEventReceiver.unRegisterForConnectionStateChanges( + getApplicationContext()); } while (cursor.moveToNext()) { |