Merge "Cleanup for bug 5278763"

This commit is contained in:
Ben Murdoch
2011-09-20 10:32:28 -07:00
committed by Android (Google) Code Review
3 changed files with 15 additions and 9 deletions

View File

@@ -88,6 +88,10 @@ public final class CookieSyncManager extends WebSyncManager {
*/ */
public static synchronized CookieSyncManager createInstance( public static synchronized CookieSyncManager createInstance(
Context context) { Context context) {
if (context == null) {
throw new IllegalArgumentException("Invalid context argument");
}
JniUtil.setContext(context); JniUtil.setContext(context);
Context appContext = context.getApplicationContext(); Context appContext = context.getApplicationContext();
if (sRef == null) { if (sRef == null) {

View File

@@ -39,25 +39,21 @@ class JniUtil {
private static Boolean sUseChromiumHttpStack; private static Boolean sUseChromiumHttpStack;
private static Context sContext; private static Context sContext;
private static boolean initialized = false;
private static void checkInitialized() { private static void checkInitialized() {
if (!initialized) { if (sContext == null) {
throw new IllegalStateException("Call CookieSyncManager::createInstance() or create a webview before using this class"); throw new IllegalStateException("Call CookieSyncManager::createInstance() or create a webview before using this class");
} }
} }
protected static synchronized void setContext(Context context) { protected static synchronized void setContext(Context context) {
if (initialized) if (sContext != null) {
return; return;
}
sContext = context.getApplicationContext(); sContext = context.getApplicationContext();
initialized = true;
} }
protected static synchronized Context getContext() { protected static synchronized Context getContext() {
if (!initialized)
return null;
return sContext; return sContext;
} }
@@ -68,8 +64,9 @@ class JniUtil {
private static synchronized String getDatabaseDirectory() { private static synchronized String getDatabaseDirectory() {
checkInitialized(); checkInitialized();
if (sDatabaseDirectory == null) if (sDatabaseDirectory == null) {
sDatabaseDirectory = sContext.getDatabasePath("dummy").getParent(); sDatabaseDirectory = sContext.getDatabasePath("dummy").getParent();
}
return sDatabaseDirectory; return sDatabaseDirectory;
} }
@@ -81,8 +78,9 @@ class JniUtil {
private static synchronized String getCacheDirectory() { private static synchronized String getCacheDirectory() {
checkInitialized(); checkInitialized();
if (sCacheDirectory == null) if (sCacheDirectory == null) {
sCacheDirectory = sContext.getCacheDir().getAbsolutePath(); sCacheDirectory = sContext.getCacheDir().getAbsolutePath();
}
return sCacheDirectory; return sCacheDirectory;
} }

View File

@@ -1055,6 +1055,10 @@ public class WebView extends AbsoluteLayout
super(context, attrs, defStyle); super(context, attrs, defStyle);
checkThread(); checkThread();
if (context == null) {
throw new IllegalArgumentException("Invalid context argument");
}
// Used by the chrome stack to find application paths // Used by the chrome stack to find application paths
JniUtil.setContext(context); JniUtil.setContext(context);