diff options
author | Zhihai Xu <zhihaixu@google.com> | 2013-11-05 23:42:30 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-11-05 23:42:31 +0000 |
commit | 64d4822073f42857ee378e55d99ce642480fc223 (patch) | |
tree | 4efbed6d83a9cc3608cecd498bbc046c289da26d | |
parent | 3162ee6dd59a205ce2f50bacc7793d59d33a5a81 (diff) | |
parent | 4931e2c19616ab5985f61f343b231efb33692241 (diff) | |
download | telephony-64d4822073f42857ee378e55d99ce642480fc223.tar.gz |
Merge "problem to send SMS message by bluetooth MAP profile." into klp-dev
-rw-r--r-- | src/java/com/android/internal/telephony/SMSDispatcher.java | 9 | ||||
-rw-r--r-- | src/java/com/android/internal/telephony/SmsApplication.java | 21 |
2 files changed, 25 insertions, 5 deletions
diff --git a/src/java/com/android/internal/telephony/SMSDispatcher.java b/src/java/com/android/internal/telephony/SMSDispatcher.java index b760d37fbe..64af4358ae 100644 --- a/src/java/com/android/internal/telephony/SMSDispatcher.java +++ b/src/java/com/android/internal/telephony/SMSDispatcher.java @@ -341,11 +341,10 @@ public abstract class SMSDispatcher extends Handler { if (ar.exception == null) { if (DBG) Rlog.d(TAG, "SMS send complete. Broadcasting intent: " + sentIntent); - String defaultSmsPackage = Sms.getDefaultSmsPackage(mContext); - if (defaultSmsPackage == null || - !defaultSmsPackage.equals(tracker.mAppInfo.applicationInfo.packageName)) { - // Someone other than the default SMS app sent this message. Persist it into the - // SMS database as a sent message so the user can see it in their default app. + if (SmsApplication.shouldWriteMessageForPackage( + tracker.mAppInfo.applicationInfo.packageName, mContext)) { + // Persist it into the SMS database as a sent message + // so the user can see it in their default app. tracker.writeSentMessage(mContext); } diff --git a/src/java/com/android/internal/telephony/SmsApplication.java b/src/java/com/android/internal/telephony/SmsApplication.java index 1c0b64a47c..05a12b3fad 100644 --- a/src/java/com/android/internal/telephony/SmsApplication.java +++ b/src/java/com/android/internal/telephony/SmsApplication.java @@ -488,4 +488,25 @@ public final class SmsApplication { } return component; } + + /** + * Returns whether need to write the SMS message to SMS database for this package. + */ + public static boolean shouldWriteMessageForPackage(String packageName, Context context) { + if (packageName == null) return true; + + String defaultSmsPackage = null; + ComponentName component = getDefaultSmsApplication(context, false); + if (component != null) { + defaultSmsPackage = component.getPackageName(); + } + + if ((defaultSmsPackage == null || !defaultSmsPackage.equals(packageName)) && + !packageName.equals(BLUETOOTH_PACKAGE_NAME)) { + // To write the message for someone other than the default SMS and BT app + return true; + } + + return false; + } } |