Cache the application context instead of Activity.

When storing a reference to a Context, ensure that it's the
Application context rather than Activity Context.

Bug: 5084293

Change-Id: Ib0be5f8ceb91846bb985d0813a8f22cabd44eaf8
diff --git a/src/com/android/browser/AccountsChangedReceiver.java b/src/com/android/browser/AccountsChangedReceiver.java
index cad176f..ba1b3cc 100644
--- a/src/com/android/browser/AccountsChangedReceiver.java
+++ b/src/com/android/browser/AccountsChangedReceiver.java
@@ -46,7 +46,7 @@
     static class DeleteRemovedAccounts extends Thread {
         Context mContext;
         public DeleteRemovedAccounts(Context context) {
-            mContext = context;
+            mContext = context.getApplicationContext();
         }
 
         @Override
diff --git a/src/com/android/browser/AddBookmarkPage.java b/src/com/android/browser/AddBookmarkPage.java
index 45b1f8b..2ac6fe6 100644
--- a/src/com/android/browser/AddBookmarkPage.java
+++ b/src/com/android/browser/AddBookmarkPage.java
@@ -742,7 +742,7 @@
         private Message mMessage;
         private Context mContext;
         public SaveBookmarkRunnable(Context ctx, Message msg) {
-            mContext = ctx;
+            mContext = ctx.getApplicationContext();
             mMessage = msg;
         }
         public void run() {
@@ -776,7 +776,7 @@
         Long mId;
 
         public UpdateBookmarkTask(Context context, long id) {
-            mContext = context;
+            mContext = context.getApplicationContext();
             mId = id;
         }
 
@@ -1062,7 +1062,7 @@
 
         public EditBookmarkInfoLoader(Context context, Bundle bundle) {
             super(context);
-            mContext = context;
+            mContext = context.getApplicationContext();
             mMap = bundle;
         }
 
diff --git a/src/com/android/browser/AutofillHandler.java b/src/com/android/browser/AutofillHandler.java
index b6b237d..c4b14d7 100644
--- a/src/com/android/browser/AutofillHandler.java
+++ b/src/com/android/browser/AutofillHandler.java
@@ -42,7 +42,7 @@
     private Context mContext;
 
     public AutofillHandler(Context context) {
-        mContext = context;
+        mContext = context.getApplicationContext();
     }
 
     /**
diff --git a/src/com/android/browser/BrowserBookmarksPage.java b/src/com/android/browser/BrowserBookmarksPage.java
index 241eb1d..0c76a70 100644
--- a/src/com/android/browser/BrowserBookmarksPage.java
+++ b/src/com/android/browser/BrowserBookmarksPage.java
@@ -584,7 +584,7 @@
         BookmarkItem mHeader;
 
         public LookupBookmarkCount(Context context, BookmarkItem header) {
-            mContext = context;
+            mContext = context.getApplicationContext();
             mHeader = header;
         }
 
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index cb86c42..35393ac 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -122,7 +122,7 @@
     }
 
     private BrowserSettings(Context context) {
-        mContext = context;
+        mContext = context.getApplicationContext();
         mPrefs = PreferenceManager.getDefaultSharedPreferences(mContext);
         mAutofillHandler = new AutofillHandler(mContext);
         mManagedSettings = new LinkedList<WeakReference<WebSettings>>();
diff --git a/src/com/android/browser/DownloadTouchIcon.java b/src/com/android/browser/DownloadTouchIcon.java
index 64a7316..ba299b6 100644
--- a/src/com/android/browser/DownloadTouchIcon.java
+++ b/src/com/android/browser/DownloadTouchIcon.java
@@ -60,7 +60,7 @@
      */
     public DownloadTouchIcon(Tab tab, Context ctx, ContentResolver cr, WebView view) {
         mTab = tab;
-        mContext = ctx;
+        mContext = ctx.getApplicationContext();
         mContentResolver = cr;
         // Store these in case they change.
         mOriginalUrl = view.getOriginalUrl();
@@ -77,7 +77,7 @@
      */
     public DownloadTouchIcon(Context ctx, ContentResolver cr, String url) {
         mTab = null;
-        mContext = ctx;
+        mContext = ctx.getApplicationContext();
         mContentResolver = cr;
         mOriginalUrl = null;
         mUrl = url;
@@ -91,7 +91,7 @@
      */
     public DownloadTouchIcon(Context context, Message msg, String userAgent) {
         mMessage = msg;
-        mContext = context;
+        mContext = context.getApplicationContext();
         mContentResolver = null;
         mOriginalUrl = null;
         mUrl = null;
diff --git a/src/com/android/browser/InstantSearchEngine.java b/src/com/android/browser/InstantSearchEngine.java
index 4dd83fa..7176c0a 100644
--- a/src/com/android/browser/InstantSearchEngine.java
+++ b/src/com/android/browser/InstantSearchEngine.java
@@ -52,7 +52,7 @@
     private final SearchEngine mWrapped;
 
     public InstantSearchEngine(Context context, SearchEngine wrapped) {
-        mContext = context;
+        mContext = context.getApplicationContext();
         mWrapped = wrapped;
     }
 
diff --git a/src/com/android/browser/KeyChainLookup.java b/src/com/android/browser/KeyChainLookup.java
index 52be25a..4d5f694 100644
--- a/src/com/android/browser/KeyChainLookup.java
+++ b/src/com/android/browser/KeyChainLookup.java
@@ -29,7 +29,7 @@
     private final ClientCertRequestHandler mHandler;
     private final String mAlias;
     KeyChainLookup(Context context, ClientCertRequestHandler handler, String alias) {
-        mContext = context;
+        mContext = context.getApplicationContext();
         mHandler = handler;
         mAlias = alias;
     }
diff --git a/src/com/android/browser/PreloadController.java b/src/com/android/browser/PreloadController.java
index 08e223f..dec22ff 100644
--- a/src/com/android/browser/PreloadController.java
+++ b/src/com/android/browser/PreloadController.java
@@ -41,7 +41,7 @@
     private Context mContext;
 
     public PreloadController(Context ctx) {
-        mContext = ctx;
+        mContext = ctx.getApplicationContext();
 
     }
 
diff --git a/src/com/android/browser/Preloader.java b/src/com/android/browser/Preloader.java
index cc71f34..37cbc0e 100644
--- a/src/com/android/browser/Preloader.java
+++ b/src/com/android/browser/Preloader.java
@@ -49,7 +49,7 @@
     }
 
     private Preloader(Context context) {
-        mContext = context;
+        mContext = context.getApplicationContext();
         mHandler = new Handler(Looper.getMainLooper());
         mSession = null;
         mFactory = new BrowserWebViewFactory(context);
diff --git a/src/com/android/browser/SystemAllowGeolocationOrigins.java b/src/com/android/browser/SystemAllowGeolocationOrigins.java
index a01541f..e0759ad 100644
--- a/src/com/android/browser/SystemAllowGeolocationOrigins.java
+++ b/src/com/android/browser/SystemAllowGeolocationOrigins.java
@@ -48,7 +48,7 @@
     private final SettingObserver mSettingObserver;
 
     public SystemAllowGeolocationOrigins(Context context) {
-        mContext = context;
+        mContext = context.getApplicationContext();
         mSettingObserver = new SettingObserver();
     }
 
diff --git a/src/com/android/browser/WebStorageSizeManager.java b/src/com/android/browser/WebStorageSizeManager.java
index bd7f8e6..109a02b 100644
--- a/src/com/android/browser/WebStorageSizeManager.java
+++ b/src/com/android/browser/WebStorageSizeManager.java
@@ -189,7 +189,7 @@
      */
     public WebStorageSizeManager(Context ctx, DiskInfo diskInfo,
             AppCacheInfo appCacheInfo) {
-        mContext = ctx;
+        mContext = ctx.getApplicationContext();
         mDiskInfo = diskInfo;
         mGlobalLimit = getGlobalLimit();
         // The initial max size of the app cache is either 25% of the global
diff --git a/src/com/android/browser/homepages/RequestHandler.java b/src/com/android/browser/homepages/RequestHandler.java
index a53fb52..248bf53 100644
--- a/src/com/android/browser/homepages/RequestHandler.java
+++ b/src/com/android/browser/homepages/RequestHandler.java
@@ -51,7 +51,7 @@
 

     public RequestHandler(Context context, Uri uri, OutputStream out) {

         mUri = uri;

-        mContext = context;

+        mContext = context.getApplicationContext();

         mOutput = out;

     }

 

diff --git a/src/com/android/browser/preferences/WebsiteSettingsFragment.java b/src/com/android/browser/preferences/WebsiteSettingsFragment.java
index 844a597..a2ccca1 100644
--- a/src/com/android/browser/preferences/WebsiteSettingsFragment.java
+++ b/src/com/android/browser/preferences/WebsiteSettingsFragment.java
@@ -296,7 +296,7 @@
             private Map<String, Site> mSites;
 
             public UpdateFromBookmarksDbTask(Context ctx, Map<String, Site> sites) {
-                mContext = ctx;
+                mContext = ctx.getApplicationContext();
                 mSites = sites;
             }
 
diff --git a/src/com/android/browser/provider/BrowserProvider.java b/src/com/android/browser/provider/BrowserProvider.java
index b55b84a..fabf57e 100644
--- a/src/com/android/browser/provider/BrowserProvider.java
+++ b/src/com/android/browser/provider/BrowserProvider.java
@@ -251,7 +251,7 @@
 
         public DatabaseHelper(Context context) {
             super(context, sDatabaseName, null, DATABASE_VERSION);
-            mContext = context;
+            mContext = context.getApplicationContext();
         }
 
         @Override
diff --git a/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java b/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java
index bd3e289..7077885 100644
--- a/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java
+++ b/src/com/android/browser/widget/BookmarkThumbnailWidgetService.java
@@ -166,7 +166,7 @@
         private SharedPreferences mPreferences = null;
 
         public BookmarkFactory(Context context, int widgetId) {
-            mContext = context;
+            mContext = context.getApplicationContext();
             mWidgetId = widgetId;
         }