Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Unified Diff: components/cronet/android/test/src/org/chromium/net/TestFilesInstaller.java

Issue 2006703004: Merge code which extracts assets from APK to file (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/cronet/android/test/src/org/chromium/net/TestFilesInstaller.java
diff --git a/components/cronet/android/test/src/org/chromium/net/TestFilesInstaller.java b/components/cronet/android/test/src/org/chromium/net/TestFilesInstaller.java
index 350ed2553a9c05fcf75d03ed84062490b194855a..5fb5521b2870f211607930989e58ec5adb4a16a3 100644
--- a/components/cronet/android/test/src/org/chromium/net/TestFilesInstaller.java
+++ b/components/cronet/android/test/src/org/chromium/net/TestFilesInstaller.java
@@ -8,14 +8,12 @@ import android.content.Context;
import android.content.res.AssetManager;
import android.util.Log;
+import org.chromium.base.FileUtils;
import org.chromium.base.PathUtils;
import org.chromium.base.annotations.SuppressFBWarnings;
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
/**
* Helper class to install test files.
@@ -69,7 +67,7 @@ public final class TestFilesInstaller {
String root = PathUtils.getDataDirectory(context);
if (files.length == 0) {
// The path is a file, so copy the file now.
- copyTestFile(assetManager, path, root + "/" + path);
+ copyTestFile(context, path, root + "/" + path);
} else {
// The path is a directory, so recursively handle its files, since
// the directory can contain subdirectories.
@@ -88,29 +86,21 @@ public final class TestFilesInstaller {
}
/**
* Copies a file from assets to the device's file system.
- * @param assetManager AssetManager of the application.
+ * @param context
* @param srcFilePath the source file path in assets.
* @param destFilePath the destination file path.
* @throws IllegalStateException if the destination file already exists.
*/
@SuppressFBWarnings("OBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE")
- private static void copyTestFile(AssetManager assetManager,
- String srcFilePath,
- String destFilePath) throws IOException {
+ private static void copyTestFile(Context context, String srcFilePath, String destFilePath)
+ throws IOException {
File destFile = new File(destFilePath);
if (destFile.exists()) {
- throw new IllegalStateException(srcFilePath + " already exists");
+ throw new IllegalStateException(srcFilePath + " already exists.");
}
- OutputStream out = new FileOutputStream(destFilePath);
- InputStream in = assetManager.open(srcFilePath);
- byte[] buffer = new byte[1024];
- int read;
- while ((read = in.read(buffer)) != -1) {
- out.write(buffer, 0, read);
+ if (!FileUtils.extractAsset(context, srcFilePath, destFile)) {
+ throw new IOException("Could not extract asset " + srcFilePath + ".");
}
- in.close();
- out.flush();
- out.close();
}
}

Powered by Google App Engine
This is Rietveld 408576698