Inline the extractEntries call

This commit is contained in:
Reece H. Dunn
2015-10-12 19:40:01 +01:00
parent 3b6c327756
commit ab90c80b70
@@ -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()) {