More BrowserSettings initialization shuffling
Bug: 5019676
BrowserSettings.setController required early initialization.
Tweak it so that syncSharedSettings is called as late as possible
Change-Id: I16ab56d9f2e31faf1a108808069c29c76a2627c2
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index d4f1ba3..09c7200 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -103,6 +103,7 @@
private AutofillHandler mAutofillHandler;
private WeakHashMap<WebSettings, String> mCustomUserAgents;
private static boolean sInitialized = false;
+ private boolean mNeedsSharedSync = true;
// Cached values
private int mPageCacheCapacity = 1;
@@ -134,7 +135,9 @@
public void setController(Controller controller) {
mController = controller;
- syncSharedSettings();
+ if (sInitialized) {
+ syncSharedSettings();
+ }
if (mController != null && (mSearchEngine instanceof InstantSearchEngine)) {
((InstantSearchEngine) mSearchEngine).setController(mController);
@@ -142,6 +145,9 @@
}
public void startManagingSettings(WebSettings settings) {
+ if (mNeedsSharedSync) {
+ syncSharedSettings();
+ }
synchronized (mManagedSettings) {
syncStaticSettings(settings);
syncSetting(settings);
@@ -290,6 +296,7 @@
}
private void syncSharedSettings() {
+ mNeedsSharedSync = false;
CookieManager.getInstance().setAcceptCookie(acceptCookies());
if (mController != null) {
mController.setShouldShowErrorConsole(enableJavascriptConsole());
@@ -405,6 +412,7 @@
}
public boolean isDebugEnabled() {
+ requireInitialization();
return mPrefs.getBoolean(PREF_DEBUG_MENU, false);
}