@Override
 public boolean updateCurrentCarrierInProvider() {
   if (mSimRecords != null) {
     try {
       Uri uri = Uri.withAppendedPath(Telephony.Carriers.CONTENT_URI, "current");
       ContentValues map = new ContentValues();
       String operatorNumeric = mSimRecords.getOperatorNumeric();
       map.put(Telephony.Carriers.NUMERIC, operatorNumeric);
       if (DBG) log("updateCurrentCarrierInProvider from UICC: numeric=" + operatorNumeric);
       mContext.getContentResolver().insert(uri, map);
       return true;
     } catch (SQLException e) {
       loge("Can't store current operator ret false", e);
     }
   } else {
     if (DBG) log("updateCurrentCarrierInProvider mIccRecords == null ret false");
   }
   return false;
 }
 @Override
 public String getMsisdn() {
   return (mSimRecords != null) ? mSimRecords.getMsisdnNumber() : null;
 }
 // return GID1 from USIM
 @Override
 public String getGroupIdLevel1() {
   return (mSimRecords != null) ? mSimRecords.getGid1() : "";
 }
 // return IMSI from USIM as subscriber ID.
 @Override
 public String getSubscriberId() {
   return (mSimRecords != null) ? mSimRecords.getIMSI() : "";
 }