Browse Source

Inline the extractEntries call

master
Reece H. Dunn 9 years ago
parent
commit
ab90c80b70
1 changed files with 38 additions and 42 deletions
  1. 38
    42
      android/src/com/reecedunn/espeak/DownloadVoiceData.java

+ 38
- 42
android/src/com/reecedunn/espeak/DownloadVoiceData.java View File

boolean successful = false; boolean successful = false;


try { try {
extractEntries(zipStream);
final byte[] buffer = new byte[10240];

int bytesRead;
ZipEntry entry;

while (!isCancelled() && ((entry = zipStream.getNextEntry()) != null)) {
final File outputFile = new File(mOutput, entry.getName());

mExtractedFiles.add(outputFile);

if (entry.isDirectory()) {
outputFile.mkdirs();
FileUtils.chmod(outputFile);
continue;
}

// Ensure the target path exists.
outputFile.getParentFile().mkdirs();

final FileOutputStream outputStream = new FileOutputStream(outputFile);
try {
while (!isCancelled() && ((bytesRead = zipStream.read(buffer)) != -1)) {
outputStream.write(buffer, 0, bytesRead);
}
} finally {
outputStream.close();
}
zipStream.closeEntry();

// Make sure the output file is readable.
FileUtils.chmod(outputFile);
}

final String version = FileUtils.read(mContext.getResources().openRawResource(R.raw.espeakdata_version));
final File outputFile = new File(mOutput, "espeak-data/version");
mExtractedFiles.add(outputFile);

FileUtils.write(outputFile, version);
successful = true; successful = true;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return RESULT_OK; return RESULT_OK;
} }


private void extractEntries(ZipInputStream zipStream) throws IOException {
final byte[] buffer = new byte[10240];

int bytesRead;
ZipEntry entry;

while (!isCancelled() && ((entry = zipStream.getNextEntry()) != null)) {
final File outputFile = new File(mOutput, entry.getName());

mExtractedFiles.add(outputFile);

if (entry.isDirectory()) {
outputFile.mkdirs();
FileUtils.chmod(outputFile);
continue;
}

// Ensure the target path exists.
outputFile.getParentFile().mkdirs();

final FileOutputStream outputStream = new FileOutputStream(outputFile);
try {
while (!isCancelled() && ((bytesRead = zipStream.read(buffer)) != -1)) {
outputStream.write(buffer, 0, bytesRead);
}
} finally {
outputStream.close();
}
zipStream.closeEntry();

// Make sure the output file is readable.
FileUtils.chmod(outputFile);
}

final String version = FileUtils.read(mContext.getResources().openRawResource(R.raw.espeakdata_version));
final File outputFile = new File(mOutput, "espeak-data/version");
mExtractedFiles.add(outputFile);

FileUtils.write(outputFile, version);
}

private void removeExtractedFiles() { private void removeExtractedFiles() {
for (File extractedFile : mExtractedFiles) { for (File extractedFile : mExtractedFiles) {
if (!extractedFile.isDirectory()) { if (!extractedFile.isDirectory()) {

Loading…
Cancel
Save