/**
  * Update a transparent EF
  *
  * @param fileid EF id
  * @param data must be exactly as long as the EF
  */
 void updateEFTransparent(int fileid, byte[] data, Message onComplete) {
   phone.mCM.simIO(
       COMMAND_UPDATE_BINARY,
       fileid,
       null,
       0,
       0,
       data.length,
       SimUtils.bytesToHexString(data),
       null,
       onComplete);
 }
 /**
  * Update a record in a linear fixed EF
  *
  * @param fileid EF id
  * @param recordNum 1-based (not 0-based) record number
  * @param data must be exactly as long as the record in the EF
  * @param pin2 for CHV2 operations, otherwist must be null
  * @param onComplete onComplete.obj will be an AsyncResult onComplete.obj.userObj will be a
  *     SimIoResult on success
  */
 void updateEFLinearFixed(
     int fileid, int recordNum, byte[] data, String pin2, Message onComplete) {
   phone.mCM.simIO(
       COMMAND_UPDATE_RECORD,
       fileid,
       null,
       recordNum,
       READ_RECORD_MODE_ABSOLUTE,
       data.length,
       SimUtils.bytesToHexString(data),
       pin2,
       onComplete);
 }