Don't set gsm.sim.operator.numeric to null
Bug: 9628781
Change-Id: I80c00584535a327f9e93c8bd0980178781cae6ff
diff --git a/src/java/com/android/internal/telephony/uicc/RuimRecords.java b/src/java/com/android/internal/telephony/uicc/RuimRecords.java
index 4f6a130..2504294 100755
--- a/src/java/com/android/internal/telephony/uicc/RuimRecords.java
+++ b/src/java/com/android/internal/telephony/uicc/RuimRecords.java
@@ -33,6 +33,7 @@
import android.os.Message;
import android.os.SystemProperties;
import android.telephony.Rlog;
+import android.text.TextUtils;
import com.android.internal.telephony.CommandsInterface;
import com.android.internal.telephony.GsmAlphabet;
@@ -630,13 +631,20 @@
// Further records that can be inserted are Operator/OEM dependent
String operator = getRUIMOperatorNumeric();
- log("RuimRecords: onAllRecordsLoaded set 'gsm.sim.operator.numeric' to operator='" +
- operator + "'");
- SystemProperties.set(PROPERTY_ICC_OPERATOR_NUMERIC, operator);
+ if (!TextUtils.isEmpty(operator)) {
+ log("onAllRecordsLoaded set 'gsm.sim.operator.numeric' to operator='" +
+ operator + "'");
+ SystemProperties.set(PROPERTY_ICC_OPERATOR_NUMERIC, operator);
+ } else {
+ log("onAllRecordsLoaded empty 'gsm.sim.operator.numeric' skipping");
+ }
- if (mImsi != null) {
+ if (!TextUtils.isEmpty(mImsi)) {
+ log("onAllRecordsLoaded set mcc imsi=" + mImsi);
SystemProperties.set(PROPERTY_ICC_OPERATOR_ISO_COUNTRY,
MccTable.countryCodeForMcc(Integer.parseInt(mImsi.substring(0,3))));
+ } else {
+ log("onAllRecordsLoaded empty imsi skipping setting mcc");
}
setLocaleFromCsim();
diff --git a/src/java/com/android/internal/telephony/uicc/SIMRecords.java b/src/java/com/android/internal/telephony/uicc/SIMRecords.java
index 6a961a2..dfb0b89 100644
--- a/src/java/com/android/internal/telephony/uicc/SIMRecords.java
+++ b/src/java/com/android/internal/telephony/uicc/SIMRecords.java
@@ -1306,20 +1306,25 @@
@Override
protected void onAllRecordsLoaded() {
- String operator = getOperatorNumeric();
+ if (DBG) log("record load complete");
// Some fields require more than one SIM record to set
- log("SIMRecords: onAllRecordsLoaded set 'gsm.sim.operator.numeric' to operator='" +
- operator + "'");
- SystemProperties.set(PROPERTY_ICC_OPERATOR_NUMERIC, operator);
+ String operator = getOperatorNumeric();
+ if (!TextUtils.isEmpty(operator)) {
+ log("onAllRecordsLoaded set 'gsm.sim.operator.numeric' to operator='" +
+ operator + "'");
+ SystemProperties.set(PROPERTY_ICC_OPERATOR_NUMERIC, operator);
+ } else {
+ log("onAllRecordsLoaded empty 'gsm.sim.operator.numeric' skipping");
+ }
- if (mImsi != null) {
+ if (!TextUtils.isEmpty(mImsi)) {
+ log("onAllRecordsLoaded set mcc imsi=" + mImsi);
SystemProperties.set(PROPERTY_ICC_OPERATOR_ISO_COUNTRY,
MccTable.countryCodeForMcc(Integer.parseInt(mImsi.substring(0,3))));
- }
- else {
- loge("onAllRecordsLoaded: imsi is NULL!");
+ } else {
+ log("onAllRecordsLoaded empty imsi skipping setting mcc");
}
setVoiceMailByCountry(operator);