Merge cherrypicks of [10961387, 10961388, 10961389, 10962537, 10961893, 10961547, 10961390, 10964051, 10964032] into qt-d4-release

Change-Id: Icb970224fba3b98a4d6a4d33bb0ef1114326e7df
diff --git a/src/com/android/settings/sim/SimListDialogFragment.java b/src/com/android/settings/sim/SimListDialogFragment.java
index 3b78927..a5d4157 100644
--- a/src/com/android/settings/sim/SimListDialogFragment.java
+++ b/src/com/android/settings/sim/SimListDialogFragment.java
@@ -23,6 +23,7 @@
 import android.os.Bundle;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
+import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -179,11 +180,16 @@
                         Utils.getColorAttr(mContext, android.R.attr.textColorSecondary));
             } else {
                 title.setText(sub.getDisplayName());
-                summary.setText(sub.getNumber());
+                summary.setText(isMdnProvisioned(sub.getNumber()) ? sub.getNumber() : "");
                 icon.setImageBitmap(sub.createIconBitmap(mContext));
 
             }
             return convertView;
         }
+
+        // An MDN is considered not provisioned if it's empty or all 0's
+        private boolean isMdnProvisioned(String mdn) {
+            return !(TextUtils.isEmpty(mdn) || mdn.matches("[\\D0]+"));
+        }
     }
 }