Index: base/android/java/src/org/chromium/base/ResourceExtractor.java |
diff --git a/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java b/base/android/java/src/org/chromium/base/ResourceExtractor.java |
similarity index 93% |
rename from content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java |
rename to base/android/java/src/org/chromium/base/ResourceExtractor.java |
index d882f9425a6953ec65ceb3162d540dda992e6b2b..4cf155cbabdc8882047bf8b3380d4c781138c984 100644 |
--- a/content/public/android/java/src/org/chromium/content/browser/ResourceExtractor.java |
+++ b/base/android/java/src/org/chromium/base/ResourceExtractor.java |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-package org.chromium.content.browser; |
+package org.chromium.base; |
import android.content.Context; |
import android.content.SharedPreferences; |
@@ -13,16 +13,15 @@ import android.os.AsyncTask; |
import android.preference.PreferenceManager; |
import android.util.Log; |
-import org.chromium.base.PathUtils; |
-import org.chromium.ui.base.LocalizationUtils; |
- |
import java.io.File; |
import java.io.FileOutputStream; |
import java.io.FilenameFilter; |
import java.io.IOException; |
import java.io.InputStream; |
import java.io.OutputStream; |
+import java.util.ArrayList; |
import java.util.HashSet; |
+import java.util.List; |
import java.util.concurrent.CancellationException; |
import java.util.concurrent.ExecutionException; |
import java.util.regex.Pattern; |
@@ -67,7 +66,7 @@ public class ResourceExtractor { |
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext); |
HashSet<String> filenames = (HashSet<String>) prefs.getStringSet( |
PAK_FILENAMES, new HashSet<String>()); |
- String currentLocale = LocalizationUtils.getDefaultLocale(); |
+ String currentLocale = LocaleUtils.getDefaultLocale(); |
String currentLanguage = currentLocale.split("-", 2)[0]; |
if (prefs.getString(LAST_LANGUAGE, "").equals(currentLanguage) |
@@ -263,12 +262,32 @@ public class ResourceExtractor { |
* the users currently selected locale and try to extract only the |
* pak files specified in sMandatoryPaks. |
*/ |
+ @VisibleForTesting |
public static void setExtractImplicitLocaleForTesting(boolean extract) { |
assert (sInstance == null || sInstance.mExtractTask == null) |
: "Must be called before startExtractingResources is called"; |
sExtractImplicitLocalePak = extract; |
} |
+ /** |
+ * Marks all the 'pak' resources, packaged as assets, for extraction during |
+ * running the tests. |
+ */ |
+ @VisibleForTesting |
+ public void setExtractAllPaksForTesting() { |
+ List<String> pakFileAssets = new ArrayList<String>(); |
+ AssetManager manager = mContext.getResources().getAssets(); |
+ try { |
+ String[] files = manager.list(""); |
+ for (String file : files) { |
+ if (file.endsWith(".pak")) pakFileAssets.add(file); |
+ } |
+ } catch (IOException e) { |
+ Log.w(LOGTAG, "Exception while accessing assets: " + e.getMessage(), e); |
+ } |
+ setMandatoryPaksToExtract(pakFileAssets.toArray(new String[pakFileAssets.size()])); |
+ } |
+ |
private ResourceExtractor(Context context) { |
mContext = context.getApplicationContext(); |
} |