aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhihai Xu <zhihaixu@google.com>2013-11-05 23:42:30 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-11-05 23:42:31 +0000
commit64d4822073f42857ee378e55d99ce642480fc223 (patch)
tree4efbed6d83a9cc3608cecd498bbc046c289da26d
parent3162ee6dd59a205ce2f50bacc7793d59d33a5a81 (diff)
parent4931e2c19616ab5985f61f343b231efb33692241 (diff)
downloadtelephony-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.java9
-rw-r--r--src/java/com/android/internal/telephony/SmsApplication.java21
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;
+ }
}