Merge "make NUMERIC field null in case mcc/mnc is not defined"
diff --git a/src/com/android/providers/telephony/TelephonyProvider.java b/src/com/android/providers/telephony/TelephonyProvider.java
index 7f57801..dac9cde 100644
--- a/src/com/android/providers/telephony/TelephonyProvider.java
+++ b/src/com/android/providers/telephony/TelephonyProvider.java
@@ -2320,7 +2320,7 @@
                 mncString = getBestStringMnc(mContext, mccString, Integer.parseInt(mnc));
             }
 
-            String numeric = mccString + mncString;
+            String numeric = (mccString == null | mncString == null) ? null : mccString + mncString;
             map.put(NUMERIC, numeric);
             map.put(MCC, mccString);
             map.put(MNC, mncString);
@@ -4001,15 +4001,17 @@
                 data.add(ret.getString(ret.getColumnIndex(column)));
             }
 
-            boolean isCurrentSimOperator;
-            final long identity = Binder.clearCallingIdentity();
-            try {
-                isCurrentSimOperator = tm.matchesCurrentSimOperator(
-                        ret.getString(numericIndex),
-                        getMvnoTypeIntFromString(ret.getString(mvnoIndex)),
-                        ret.getString(mvnoDataIndex));
-            } finally {
-                Binder.restoreCallingIdentity(identity);
+            boolean isCurrentSimOperator = false;
+            if (!TextUtils.isEmpty(ret.getString(numericIndex))) {
+                final long identity = Binder.clearCallingIdentity();
+                try {
+                    isCurrentSimOperator = tm.matchesCurrentSimOperator(
+                            ret.getString(numericIndex),
+                            getMvnoTypeIntFromString(ret.getString(mvnoIndex)),
+                            ret.getString(mvnoDataIndex));
+                } finally {
+                    Binder.restoreCallingIdentity(identity);
+                }
             }
 
             boolean isMVNOAPN = !TextUtils.isEmpty(ret.getString(numericIndex))