diff options
| -rw-r--r-- | resources/res/values/config.xml | 4 | ||||
| -rwxr-xr-x | src/java/com/android/internal/telephony/WapPushOverSms.java | 13 |
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 |
