Loading src/java/com/android/internal/telephony/ServiceStateTracker.java +25 −9 Original line number Diff line number Diff line Loading @@ -86,6 +86,7 @@ import com.android.internal.telephony.uicc.RuimRecords; import com.android.internal.telephony.uicc.SIMRecords; import com.android.internal.telephony.uicc.UiccCardApplication; import com.android.internal.telephony.uicc.UiccController; import com.android.internal.util.ArrayUtils; import com.android.internal.util.IndentingPrintWriter; import java.io.FileDescriptor; Loading Loading @@ -3277,7 +3278,8 @@ public class ServiceStateTracker extends Handler { /** * Do not set roaming state in case of oprators considered non-roaming. * * Can use mcc or mcc+mnc as item of config_operatorConsideredNonRoaming. * Can use mcc or mcc+mnc as item of * {@link CarrierConfigManager#KEY_NON_ROAMING_OPERATOR_STRING_ARRAY}. * For example, 302 or 21407. If mcc or mcc+mnc match with operator, * don't set roaming state. * Loading @@ -3286,10 +3288,17 @@ public class ServiceStateTracker extends Handler { */ private boolean isOperatorConsideredNonRoaming(ServiceState s) { String operatorNumeric = s.getOperatorNumeric(); String[] numericArray = mPhone.getContext().getResources().getStringArray( com.android.internal.R.array.config_operatorConsideredNonRoaming); if (numericArray.length == 0 || operatorNumeric == null) { final CarrierConfigManager configManager = (CarrierConfigManager) mPhone.getContext() .getSystemService(Context.CARRIER_CONFIG_SERVICE); String[] numericArray = null; if (configManager != null) { PersistableBundle config = configManager.getConfigForSubId(mPhone.getSubId()); if (config != null) { numericArray = config.getStringArray( CarrierConfigManager.KEY_NON_ROAMING_OPERATOR_STRING_ARRAY); } } if (ArrayUtils.isEmpty(numericArray) || operatorNumeric == null) { return false; } Loading @@ -3303,10 +3312,17 @@ public class ServiceStateTracker extends Handler { private boolean isOperatorConsideredRoaming(ServiceState s) { String operatorNumeric = s.getOperatorNumeric(); String[] numericArray = mPhone.getContext().getResources().getStringArray( com.android.internal.R.array.config_sameNamedOperatorConsideredRoaming); if (numericArray.length == 0 || operatorNumeric == null) { final CarrierConfigManager configManager = (CarrierConfigManager) mPhone.getContext() .getSystemService(Context.CARRIER_CONFIG_SERVICE); String[] numericArray = null; if (configManager != null) { PersistableBundle config = configManager.getConfigForSubId(mPhone.getSubId()); if (config != null) { numericArray = config.getStringArray( CarrierConfigManager.KEY_ROAMING_OPERATOR_STRING_ARRAY); } } if (ArrayUtils.isEmpty(numericArray) || operatorNumeric == null) { return false; } Loading tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java +8 −7 Original line number Diff line number Diff line Loading @@ -45,10 +45,12 @@ import android.os.Handler; import android.os.HandlerThread; import android.os.Message; import android.os.Parcel; import android.os.PersistableBundle; import android.os.Process; import android.os.UserHandle; import android.os.WorkSource; import android.support.test.filters.FlakyTest; import android.telephony.CarrierConfigManager; import android.telephony.CellInfo; import android.telephony.CellInfoGsm; import android.telephony.ServiceState; Loading Loading @@ -87,6 +89,7 @@ public class ServiceStateTrackerTest extends TelephonyTest { private ServiceStateTracker sst; private ServiceStateTrackerTestHandler mSSTTestHandler; private PersistableBundle mBundle; private static final int EVENT_REGISTERED_TO_NETWORK = 1; private static final int EVENT_SUBSCRIPTION_INFO_READY = 2; Loading Loading @@ -123,14 +126,12 @@ public class ServiceStateTrackerTest extends TelephonyTest { mPhone.mDcTracker = mDct; replaceInstance(ProxyController.class, "sProxyController", null, mProxyController); mBundle = mContextFixture.getCarrierConfigBundle(); mBundle.putStringArray( CarrierConfigManager.KEY_ROAMING_OPERATOR_STRING_ARRAY, new String[]{"123456"}); mContextFixture.putStringArrayResource( com.android.internal.R.array.config_sameNamedOperatorConsideredRoaming, new String[]{"123456"}); mContextFixture.putStringArrayResource( com.android.internal.R.array.config_operatorConsideredNonRoaming, new String[]{"123456"}); mBundle.putStringArray( CarrierConfigManager.KEY_NON_ROAMING_OPERATOR_STRING_ARRAY, new String[]{"123456"}); mSimulatedCommands.setVoiceRegState(ServiceState.RIL_REG_STATE_HOME); mSimulatedCommands.setVoiceRadioTech(ServiceState.RIL_RADIO_TECHNOLOGY_HSPA); Loading Loading
src/java/com/android/internal/telephony/ServiceStateTracker.java +25 −9 Original line number Diff line number Diff line Loading @@ -86,6 +86,7 @@ import com.android.internal.telephony.uicc.RuimRecords; import com.android.internal.telephony.uicc.SIMRecords; import com.android.internal.telephony.uicc.UiccCardApplication; import com.android.internal.telephony.uicc.UiccController; import com.android.internal.util.ArrayUtils; import com.android.internal.util.IndentingPrintWriter; import java.io.FileDescriptor; Loading Loading @@ -3277,7 +3278,8 @@ public class ServiceStateTracker extends Handler { /** * Do not set roaming state in case of oprators considered non-roaming. * * Can use mcc or mcc+mnc as item of config_operatorConsideredNonRoaming. * Can use mcc or mcc+mnc as item of * {@link CarrierConfigManager#KEY_NON_ROAMING_OPERATOR_STRING_ARRAY}. * For example, 302 or 21407. If mcc or mcc+mnc match with operator, * don't set roaming state. * Loading @@ -3286,10 +3288,17 @@ public class ServiceStateTracker extends Handler { */ private boolean isOperatorConsideredNonRoaming(ServiceState s) { String operatorNumeric = s.getOperatorNumeric(); String[] numericArray = mPhone.getContext().getResources().getStringArray( com.android.internal.R.array.config_operatorConsideredNonRoaming); if (numericArray.length == 0 || operatorNumeric == null) { final CarrierConfigManager configManager = (CarrierConfigManager) mPhone.getContext() .getSystemService(Context.CARRIER_CONFIG_SERVICE); String[] numericArray = null; if (configManager != null) { PersistableBundle config = configManager.getConfigForSubId(mPhone.getSubId()); if (config != null) { numericArray = config.getStringArray( CarrierConfigManager.KEY_NON_ROAMING_OPERATOR_STRING_ARRAY); } } if (ArrayUtils.isEmpty(numericArray) || operatorNumeric == null) { return false; } Loading @@ -3303,10 +3312,17 @@ public class ServiceStateTracker extends Handler { private boolean isOperatorConsideredRoaming(ServiceState s) { String operatorNumeric = s.getOperatorNumeric(); String[] numericArray = mPhone.getContext().getResources().getStringArray( com.android.internal.R.array.config_sameNamedOperatorConsideredRoaming); if (numericArray.length == 0 || operatorNumeric == null) { final CarrierConfigManager configManager = (CarrierConfigManager) mPhone.getContext() .getSystemService(Context.CARRIER_CONFIG_SERVICE); String[] numericArray = null; if (configManager != null) { PersistableBundle config = configManager.getConfigForSubId(mPhone.getSubId()); if (config != null) { numericArray = config.getStringArray( CarrierConfigManager.KEY_ROAMING_OPERATOR_STRING_ARRAY); } } if (ArrayUtils.isEmpty(numericArray) || operatorNumeric == null) { return false; } Loading
tests/telephonytests/src/com/android/internal/telephony/ServiceStateTrackerTest.java +8 −7 Original line number Diff line number Diff line Loading @@ -45,10 +45,12 @@ import android.os.Handler; import android.os.HandlerThread; import android.os.Message; import android.os.Parcel; import android.os.PersistableBundle; import android.os.Process; import android.os.UserHandle; import android.os.WorkSource; import android.support.test.filters.FlakyTest; import android.telephony.CarrierConfigManager; import android.telephony.CellInfo; import android.telephony.CellInfoGsm; import android.telephony.ServiceState; Loading Loading @@ -87,6 +89,7 @@ public class ServiceStateTrackerTest extends TelephonyTest { private ServiceStateTracker sst; private ServiceStateTrackerTestHandler mSSTTestHandler; private PersistableBundle mBundle; private static final int EVENT_REGISTERED_TO_NETWORK = 1; private static final int EVENT_SUBSCRIPTION_INFO_READY = 2; Loading Loading @@ -123,14 +126,12 @@ public class ServiceStateTrackerTest extends TelephonyTest { mPhone.mDcTracker = mDct; replaceInstance(ProxyController.class, "sProxyController", null, mProxyController); mBundle = mContextFixture.getCarrierConfigBundle(); mBundle.putStringArray( CarrierConfigManager.KEY_ROAMING_OPERATOR_STRING_ARRAY, new String[]{"123456"}); mContextFixture.putStringArrayResource( com.android.internal.R.array.config_sameNamedOperatorConsideredRoaming, new String[]{"123456"}); mContextFixture.putStringArrayResource( com.android.internal.R.array.config_operatorConsideredNonRoaming, new String[]{"123456"}); mBundle.putStringArray( CarrierConfigManager.KEY_NON_ROAMING_OPERATOR_STRING_ARRAY, new String[]{"123456"}); mSimulatedCommands.setVoiceRegState(ServiceState.RIL_REG_STATE_HOME); mSimulatedCommands.setVoiceRadioTech(ServiceState.RIL_RADIO_TECHNOLOGY_HSPA); Loading