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

@@ -101,7 +101,44 @@ public class DownloadVoiceData extends Activity {
boolean successful = false;

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;
} catch (Exception e) {
e.printStackTrace();
@@ -121,47 +158,6 @@ public class DownloadVoiceData extends Activity {
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() {
for (File extractedFile : mExtractedFiles) {
if (!extractedFile.isDirectory()) {

Loading…
Cancel
Save