OSDN Git Service

Use correct PLMN info for an incoming CB-SMS
authorTaesu Lee <taesu82.lee@samsung.com>
Mon, 28 Jan 2019 04:53:47 +0000 (13:53 +0900)
committerTaesu Lee <taesu82.lee@samsung.com>
Tue, 29 Jan 2019 04:03:29 +0000 (13:03 +0900)
Create SmsCbMessage for an incoming CDMA CB-SMS with PLMN info
associated with a phone in multi-SIM.

Test: Manual
      run atest FrameworksTelephonyTests:CdmaSmsCbTest

Change-Id: Ic177e45e3ab3550e8c32ed9e2c74e64b85af34c4
Signed-off-by: Taesu Lee <taesu82.lee@samsung.com>
telephony/java/com/android/internal/telephony/cdma/SmsMessage.java

index 964a313..f530501 100644 (file)
@@ -21,7 +21,6 @@ import android.os.SystemProperties;
 import android.telephony.PhoneNumberUtils;
 import android.telephony.SmsCbLocation;
 import android.telephony.SmsCbMessage;
-import android.telephony.TelephonyManager;
 import android.telephony.cdma.CdmaSmsCbProgramData;
 import android.telephony.Rlog;
 import android.util.Log;
@@ -746,8 +745,10 @@ public class SmsMessage extends SmsMessageBase {
 
     /**
      * Parses a broadcast SMS, possibly containing a CMAS alert.
+     *
+     * @param plmn the PLMN for a broadcast SMS
      */
-    public SmsCbMessage parseBroadcastSms() {
+    public SmsCbMessage parseBroadcastSms(String plmn) {
         BearerData bData = BearerData.decode(mEnvelope.bearerData, mEnvelope.serviceCategory);
         if (bData == null) {
             Rlog.w(LOG_TAG, "BearerData.decode() returned null");
@@ -758,7 +759,6 @@ public class SmsMessage extends SmsMessageBase {
             Rlog.d(LOG_TAG, "MT raw BearerData = " + HexDump.toHexString(mEnvelope.bearerData));
         }
 
-        String plmn = TelephonyManager.getDefault().getNetworkOperator();
         SmsCbLocation location = new SmsCbLocation(plmn);
 
         return new SmsCbMessage(SmsCbMessage.MESSAGE_FORMAT_3GPP2,