Fix "Most Visited" page loading

 Basically added the most visited content:// uri to a pseudo whitelist

Change-Id: I1d37ff5f593ee65994ec167b7227f3c7b205c186
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index d70b0ef..f43a68b 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -16,6 +16,7 @@
 
 package com.android.browser;
 
+import com.android.browser.homepages.HomeProvider;
 import com.android.common.speech.LoggingEvents;
 
 import android.app.Activity;
@@ -50,6 +51,7 @@
 import android.webkit.WebBackForwardListClient;
 import android.webkit.WebChromeClient;
 import android.webkit.WebHistoryItem;
+import android.webkit.WebResourceResponse;
 import android.webkit.WebStorage;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
@@ -791,6 +793,14 @@
         }
 
         @Override
+        public WebResourceResponse shouldInterceptRequest(WebView view,
+                String url) {
+            WebResourceResponse res = HomeProvider.shouldInterceptRequest(
+                    mActivity, url);
+            return res;
+        }
+
+        @Override
         public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) {
             if (!mInForeground) {
                 return false;
diff --git a/src/com/android/browser/homepages/HomeProvider.java b/src/com/android/browser/homepages/HomeProvider.java
index 5c368eb..98fcfbe 100644
--- a/src/com/android/browser/homepages/HomeProvider.java
+++ b/src/com/android/browser/homepages/HomeProvider.java
@@ -16,15 +16,20 @@
  */

 package com.android.browser.homepages;

 

+import com.android.browser.BrowserSettings;

+

 import android.content.ContentProvider;

 import android.content.ContentValues;

+import android.content.Context;

 import android.content.res.AssetFileDescriptor;

 import android.database.Cursor;

 import android.net.Uri;

 import android.os.ParcelFileDescriptor;

 import android.util.Log;

+import android.webkit.WebResourceResponse;

 

 import java.io.IOException;

+import java.io.InputStream;

 

 public class HomeProvider extends ContentProvider {

 

@@ -78,4 +83,20 @@
         }

     }

 

+    public static WebResourceResponse shouldInterceptRequest(Context context,

+            String url) {

+        try {

+            boolean useMostVisited = BrowserSettings.getInstance().useMostVisitedHomepage();

+            if (useMostVisited && url.startsWith("content://")) {

+                Uri uri = Uri.parse(url);

+                if (AUTHORITY.equals(uri.getAuthority())) {

+                    InputStream ins = context.getContentResolver()

+                            .openInputStream(uri);

+                    return new WebResourceResponse("text/html", "utf-8", ins);

+                }

+            }

+        } catch (Exception e) {}

+        return null;

+    }

+

 }