public void moveFile()

in src/android/AudioPlayer.java [199:286]


    public void moveFile(String file) {
        /* this is a hack to save the file as the specified name */

        if (!file.startsWith("/")) {
            file = createAudioFilePath(file);
        }

        int size = this.tempFiles.size();
        LOG.d(LOG_TAG, "size = " + size);

        // only one file so just copy it
        if (size == 1) {
            String logMsg = "renaming " + this.tempFile + " to " + file;
            LOG.d(LOG_TAG, logMsg);

            File f = new File(this.tempFile);
            if (!f.renameTo(new File(file))) {

                FileOutputStream outputStream = null;
                File outputFile = null;
                try {
                    outputFile = new File(file);
                    outputStream = new FileOutputStream(outputFile);
                    FileInputStream inputStream = null;
                    File inputFile = null;
                    try {
                        inputFile = new File(this.tempFile);
                        LOG.d(LOG_TAG,  "INPUT FILE LENGTH: " + String.valueOf(inputFile.length()) );
                        inputStream = new FileInputStream(inputFile);
                        copy(inputStream, outputStream, false);
                    } catch (Exception e) {
                        LOG.e(LOG_TAG, e.getLocalizedMessage(), e);
                   } finally {
                        if (inputStream != null) try {
                            inputStream.close();
                            inputFile.delete();
                            inputFile = null;
                        } catch (Exception e) {
                            LOG.e(LOG_TAG, e.getLocalizedMessage(), e);
                        }
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                } finally {
                    if (outputStream != null) try {
                        outputStream.close();
                        LOG.d(LOG_TAG, "OUTPUT FILE LENGTH: " + String.valueOf(outputFile.length()) );
                    } catch (Exception e) {
                        LOG.e(LOG_TAG, e.getLocalizedMessage(), e);
                    }
                }
            }
        }
        // more than one file so the user must have pause recording. We'll need to concat files.
        else {
          FileOutputStream outputStream = null;
          try {
              outputStream = new FileOutputStream(new File(file));
              FileInputStream inputStream = null;
              File inputFile = null;
              for (int i = 0; i < size; i++) {
                  try {
                      inputFile = new File(this.tempFiles.get(i));
                      inputStream = new FileInputStream(inputFile);
                      copy(inputStream, outputStream, (i>0));
                  } catch(Exception e) {
                      LOG.e(LOG_TAG, e.getLocalizedMessage(), e);
                  } finally {
                      if (inputStream != null) try {
                          inputStream.close();
                          inputFile.delete();
                          inputFile = null;
                      } catch (Exception e) {
                          LOG.e(LOG_TAG, e.getLocalizedMessage(), e);
                      }
                  }
              }
          } catch(Exception e) {
              e.printStackTrace();
          } finally {
              if (outputStream != null) try {
                  outputStream.close();
              } catch (Exception e) {
                  LOG.e(LOG_TAG, e.getLocalizedMessage(), e);
              }
          }
        }
    }