diff options
| -rw-r--r-- | services/core/java/com/android/server/location/GnssLocationProvider.java | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java index 557ba54b536d..f913ba337071 100644 --- a/services/core/java/com/android/server/location/GnssLocationProvider.java +++ b/services/core/java/com/android/server/location/GnssLocationProvider.java @@ -531,8 +531,10 @@ public class GnssLocationProvider extends AbstractLocationProvider implements CarrierConfigManager configManager = (CarrierConfigManager) mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE); int ddSubId = SubscriptionManager.getDefaultDataSubscriptionId(); - String mccMnc = SubscriptionManager.isValidSubscriptionId(ddSubId) - ? phone.getSimOperator(ddSubId) : phone.getSimOperator(); + if (SubscriptionManager.isValidSubscriptionId(ddSubId)) { + phone = phone.createForSubscriptionId(ddSubId); + } + String mccMnc = phone.getSimOperator(); boolean isKeepLppProfile = false; if (!TextUtils.isEmpty(mccMnc)) { if (DEBUG) Log.d(TAG, "SIM MCC/MNC is available: " + mccMnc); @@ -1913,24 +1915,17 @@ public class GnssLocationProvider extends AbstractLocationProvider implements String setId = null; int ddSubId = SubscriptionManager.getDefaultDataSubscriptionId(); + if (SubscriptionManager.isValidSubscriptionId(ddSubId)) { + phone = phone.createForSubscriptionId(ddSubId); + } if ((flags & AGPS_RIL_REQUEST_SETID_IMSI) == AGPS_RIL_REQUEST_SETID_IMSI) { - if (SubscriptionManager.isValidSubscriptionId(ddSubId)) { - setId = phone.getSubscriberId(ddSubId); - } - if (setId == null) { - setId = phone.getSubscriberId(); - } + setId = phone.getSubscriberId(); if (setId != null) { // This means the framework has the SIM card. type = AGPS_SETID_TYPE_IMSI; } } else if ((flags & AGPS_RIL_REQUEST_SETID_MSISDN) == AGPS_RIL_REQUEST_SETID_MSISDN) { - if (SubscriptionManager.isValidSubscriptionId(ddSubId)) { - setId = phone.getLine1Number(ddSubId); - } - if (setId == null) { - setId = phone.getLine1Number(); - } + setId = phone.getLine1Number(); if (setId != null) { // This means the framework has the SIM card. type = AGPS_SETID_TYPE_MSISDN; |