aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--resources/res/values/config.xml4
-rwxr-xr-xsrc/java/com/android/internal/telephony/WapPushOverSms.java13
2 files changed, 16 insertions, 1 deletions
diff --git a/resources/res/values/config.xml b/resources/res/values/config.xml
index d36b3a3ee..a567efc63 100644
--- a/resources/res/values/config.xml
+++ b/resources/res/values/config.xml
@@ -78,4 +78,8 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<!-- control to enable or disable call transfer feature -->
<bool name="config_enable_calltransfer_over_ims">false</bool>
+
+ <!-- pre-defined apps -->
+ <!-- value should be in the format "com.package.name/com.package.name.MmsPushReceiver" -->
+ <string name="default_wap_push_handler"></string>
</resources>
diff --git a/src/java/com/android/internal/telephony/WapPushOverSms.java b/src/java/com/android/internal/telephony/WapPushOverSms.java
index 8b9d62962..97118ba27 100755
--- a/src/java/com/android/internal/telephony/WapPushOverSms.java
+++ b/src/java/com/android/internal/telephony/WapPushOverSms.java
@@ -44,8 +44,10 @@ import android.provider.Telephony.Sms.Intents;
import android.telephony.Rlog;
import android.telephony.SmsManager;
import android.telephony.SubscriptionManager;
+import android.text.TextUtils;
import android.util.Log;
+import com.android.internal.telephony.ConfigResourceUtil;
import com.android.internal.telephony.uicc.IccUtils;
import com.google.android.mms.MmsException;
import com.google.android.mms.pdu.DeliveryInd;
@@ -292,9 +294,18 @@ public class WapPushOverSms implements ServiceConnection {
intent.putExtra("contentTypeParameters", pduDecoder.getContentParameters());
SubscriptionManager.putPhoneIdAndSubIdExtra(intent, phoneId);
+ // Direct the intent to only the default WAP Push app. If none declared:
// Direct the intent to only the default MMS app. If we can't find a default MMS app
// then sent it to all broadcast receivers.
- ComponentName componentName = SmsApplication.getDefaultMmsApplication(mContext, true);
+ ComponentName componentName = null;
+ String fqcn = new ConfigResourceUtil().getStringValue(mContext, "default_wap_push_handler");
+ if (!TextUtils.isEmpty(fqcn)) {
+ componentName = ComponentName.unflattenFromString(fqcn);
+ }
+ if (componentName == null) {
+ componentName = SmsApplication.getDefaultMmsApplication(mContext, true);
+ }
+
Bundle options = null;
if (componentName != null) {
// Deliver MMS message only to this receiver