Ensure engine is initialized for all activity's

Ensure engine is initialized for all activity's in the browser. Monkey test
seems to launch individual activity and causes crash if engine is not
initialized.

Change-Id: I13706499262d9f7aeb2eb4c49be79cc26f1234a8
CR-Fixed:: SWE-6572
diff --git a/src/com/android/browser/AddBookmarkFolder.java b/src/com/android/browser/AddBookmarkFolder.java
index 521508e..3ed55fc 100644
--- a/src/com/android/browser/AddBookmarkFolder.java
+++ b/src/com/android/browser/AddBookmarkFolder.java
@@ -31,6 +31,7 @@
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Bundle;
+import android.util.Log;
 import android.text.TextUtils;
 import android.view.KeyEvent;
 import android.view.LayoutInflater;
@@ -73,6 +74,8 @@
 
     /* package */static final String EXTRA_IS_FOLDER = "is_folder";
 
+    private final static String LOGTAG = "AddBookmarkFolder";
+
     private static final int MAX_CRUMBS_SHOWN = 1;
 
     private long mOriginalFolder = -1;
@@ -586,6 +589,11 @@
 
     @Override
     protected void onCreate(Bundle icicle) {
+        if (!EngineInitializer.isInitialized()) {
+            Log.e(LOGTAG, "Engine not Initialized");
+            EngineInitializer.initializeSync((Context) getApplicationContext());
+        }
+
         super.onCreate(icicle);
         requestWindowFeature(Window.FEATURE_NO_TITLE);
 
diff --git a/src/com/android/browser/AddBookmarkPage.java b/src/com/android/browser/AddBookmarkPage.java
index 25cde08..2c99b6e 100644
--- a/src/com/android/browser/AddBookmarkPage.java
+++ b/src/com/android/browser/AddBookmarkPage.java
@@ -58,6 +58,7 @@
 import android.widget.Spinner;
 import android.widget.TextView;
 import android.widget.Toast;
+import android.util.Log;
 
 import com.android.browser.BrowserUtils;
 import com.android.browser.R;
@@ -645,6 +646,10 @@
 
     @Override
     protected void onCreate(Bundle icicle) {
+        if (!EngineInitializer.isInitialized()) {
+            Log.e(LOGTAG, "Engine not Initialized");
+            EngineInitializer.initializeSync((Context) getApplicationContext());
+        }
         super.onCreate(icicle);
         requestWindowFeature(Window.FEATURE_NO_TITLE);
 
diff --git a/src/com/android/browser/BookmarkSearch.java b/src/com/android/browser/BookmarkSearch.java
index 4d3ca0f..6313015 100644
--- a/src/com/android/browser/BookmarkSearch.java
+++ b/src/com/android/browser/BookmarkSearch.java
@@ -17,18 +17,24 @@
 package com.android.browser;
 
 import android.app.Activity;
+import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
-
+import android.util.Log;
 /**
  * This activity is never started from the browser. Its purpose is to provide bookmark suggestions
  * to global search (through its searchable meta-data), and to handle the intents produced
  * by clicking such suggestions.
  */
 public class BookmarkSearch extends Activity {
+    private final String LOGTAG = "BookmarkSearch";
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
+        if (!EngineInitializer.isInitialized()) {
+            Log.e(LOGTAG, "Engine not Initialized");
+            EngineInitializer.initializeSync((Context) getApplicationContext());
+        }
         super.onCreate(savedInstanceState);
         Intent intent = getIntent();
         if (intent != null) {
diff --git a/src/com/android/browser/ComboViewActivity.java b/src/com/android/browser/ComboViewActivity.java
index 4731451..5c6df08 100644
--- a/src/com/android/browser/ComboViewActivity.java
+++ b/src/com/android/browser/ComboViewActivity.java
@@ -17,17 +17,20 @@
 
 import android.app.ActionBar;
 import android.app.Activity;
+import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
 import android.support.v4.view.ViewPager;
 import android.view.Menu;
 import android.view.MenuItem;
+import android.util.Log;
 
 import com.android.browser.UI.ComboViews;
 
 public class ComboViewActivity extends Activity implements CombinedBookmarksCallbacks {
 
+    private static final String LOGTAG = "ComboViewActivity";
     private static final String STATE_SELECTED_TAB = "tab";
     public static final String EXTRA_COMBO_ARGS = "combo_args";
     public static final String EXTRA_INITIAL_VIEW = "initial_view";
@@ -40,6 +43,10 @@
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
+        if (!EngineInitializer.isInitialized()) {
+            Log.e(LOGTAG, "Engine not Initialized");
+            EngineInitializer.initializeSync((Context) getApplicationContext());
+        }
         super.onCreate(savedInstanceState);
         setResult(RESULT_CANCELED);
         Bundle extras = getIntent().getExtras();
diff --git a/src/com/android/browser/DownloadSettings.java b/src/com/android/browser/DownloadSettings.java
index 05e7fe6..aa528d2 100644
--- a/src/com/android/browser/DownloadSettings.java
+++ b/src/com/android/browser/DownloadSettings.java
@@ -54,6 +54,7 @@
 import android.text.TextUtils;
 import android.content.pm.PackageManager;
 import android.Manifest.permission;
+import android.content.Context;
 
 import com.android.browser.reflect.ReflectHelper;
 
@@ -91,6 +92,10 @@
     private int nextRequestCode = 2000;
 
     protected void onCreate(Bundle savedInstanceState) {
+        if (!EngineInitializer.isInitialized()) {
+            Log.e(LOGTAG, "Engine not Initialized");
+            EngineInitializer.initializeSync((Context) getApplicationContext());
+        }
         super.onCreate(savedInstanceState);
         // initial the DownloadSettings view
         requestWindowFeature(Window.FEATURE_NO_TITLE);
diff --git a/src/com/android/browser/ShortcutActivity.java b/src/com/android/browser/ShortcutActivity.java
index dcc176f..f947fe9 100644
--- a/src/com/android/browser/ShortcutActivity.java
+++ b/src/com/android/browser/ShortcutActivity.java
@@ -24,14 +24,21 @@
 import android.os.Bundle;
 import android.view.View;
 import android.view.View.OnClickListener;
+import android.util.Log;
+import android.content.Context;
 
 public class ShortcutActivity extends Activity
     implements BookmarksPageCallbacks, OnClickListener {
 
+    private static final String LOGTAG = "ShortcutActivity";
     private BrowserBookmarksPage mBookmarks;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
+        if (!EngineInitializer.isInitialized()) {
+            Log.e(LOGTAG, "Engine not Initialized");
+            EngineInitializer.initializeSync((Context) getApplicationContext());
+        }
         super.onCreate(savedInstanceState);
         setTitle(R.string.shortcut_bookmark_title);
         setContentView(R.layout.pick_bookmark);
diff --git a/src/com/android/browser/mynavigation/AddMyNavigationPage.java b/src/com/android/browser/mynavigation/AddMyNavigationPage.java
index cc42d96..430b5dd 100755
--- a/src/com/android/browser/mynavigation/AddMyNavigationPage.java
+++ b/src/com/android/browser/mynavigation/AddMyNavigationPage.java
@@ -55,6 +55,7 @@
 import com.android.browser.R;
 import com.android.browser.UrlUtils;
 import com.android.browser.platformsupport.WebAddress;
+import com.android.browser.EngineInitializer;
 
 import java.io.ByteArrayOutputStream;
 import java.net.URI;
@@ -88,6 +89,10 @@
     };
 
     protected void onCreate(Bundle icicle) {
+        if (!EngineInitializer.isInitialized()) {
+            Log.e(LOGTAG, "Engine not Initialized");
+            EngineInitializer.initializeSync((Context) getApplicationContext());
+        }
         super.onCreate(icicle);
         requestWindowFeature(Window.FEATURE_NO_TITLE);
         setContentView(R.layout.my_navigation_add_page);
diff --git a/src/com/android/browser/preferences/LegalPreviewActivity.java b/src/com/android/browser/preferences/LegalPreviewActivity.java
index 4ca9d63..94ffea4 100644
--- a/src/com/android/browser/preferences/LegalPreviewActivity.java
+++ b/src/com/android/browser/preferences/LegalPreviewActivity.java
@@ -37,15 +37,23 @@
 import android.support.v4.app.FragmentActivity;
 import android.view.KeyEvent;
 import android.view.MenuItem;
+import android.util.Log;
+import android.content.Context;
+import com.android.browser.EngineInitializer;
 
 import com.android.browser.R;
 
 public class LegalPreviewActivity extends FragmentActivity {
     LegalPreviewFragment mLegalPreviewFragment;
     protected static final String URL_INTENT_EXTRA = "url";
+    private final static String LOGTAG = "LegalPreviewActivity";
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
+        if (!EngineInitializer.isInitialized()) {
+            Log.e(LOGTAG, "Engine not Initialized");
+            EngineInitializer.initializeSync((Context) getApplicationContext());
+        }
         super.onCreate(savedInstanceState);
         setContentView(R.layout.credits_tab);
         ActionBar bar = getActionBar();
diff --git a/src/com/android/browser/widget/BookmarkWidgetConfigure.java b/src/com/android/browser/widget/BookmarkWidgetConfigure.java
index 2dee989..f0309aa 100644
--- a/src/com/android/browser/widget/BookmarkWidgetConfigure.java
+++ b/src/com/android/browser/widget/BookmarkWidgetConfigure.java
@@ -29,22 +29,29 @@
 import android.view.View.OnClickListener;
 import android.widget.ArrayAdapter;
 import android.widget.ListView;
+import android.util.Log;
 
 import com.android.browser.R;
 import com.android.browser.AddBookmarkPage.BookmarkAccount;
 import com.android.browser.platformsupport.BrowserContract.Accounts;
 import com.android.browser.provider.BrowserProvider2;
+import com.android.browser.EngineInitializer;
 
 public class BookmarkWidgetConfigure extends ListActivity
         implements OnClickListener, LoaderCallbacks<Cursor> {
 
     static final int LOADER_ACCOUNTS = 1;
+    private static final String LOGTAG = "BookmarkWidgetConfigure";
 
     private ArrayAdapter<BookmarkAccount> mAccountAdapter;
     private int mAppWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
+        if (!EngineInitializer.isInitialized()) {
+            Log.e(LOGTAG, "Engine not Initialized");
+            EngineInitializer.initializeSync((Context) getApplicationContext());
+        }
         super.onCreate(savedInstanceState);
         setResult(RESULT_CANCELED);
         setVisible(false);