package mobi.monaca.framework.view; import java.io.ByteArrayInputStream; import mobi.monaca.framework.MonacaApplication; import mobi.monaca.framework.MonacaPageActivity; import mobi.monaca.framework.util.MyLog; import mobi.monaca.utils.TimeStamp; import mobi.monaca.utils.log.LogItem; import mobi.monaca.utils.log.LogItem.LogLevel; import mobi.monaca.utils.log.LogItem.Source; import org.apache.cordova.CordovaWebView; import android.annotation.TargetApi; import android.webkit.WebResourceResponse; import android.webkit.WebView; /** This WebViewClient is used for an WebView DroidgapActivity has. */ public class MonacaPageHoneyCombWebViewClient extends MonacaPageGingerbreadWebViewClient { private static final String TAG = MonacaPageHoneyCombWebViewClient.class.getSimpleName(); public MonacaPageHoneyCombWebViewClient( MonacaPageActivity monacaPage, CordovaWebView cordovaWebView) { super(monacaPage, cordovaWebView); } @TargetApi(11) public WebResourceResponse shouldInterceptRequest(WebView view, String url) { MonacaApplication app = (MonacaApplication) monacaPage.getApplication(); if (!app.allowAccess(url)) { MyLog.w(TAG, "Not allowing access to url:" + url); LogItem logItem = new LogItem(TimeStamp.getCurrentTimeStamp(), Source.SYSTEM, LogLevel.ERROR, "Not allowing access to " + url, "", 0); MyLog.sendBroadcastDebugLog(monacaPage.getApplicationContext(), logItem); WebResourceResponse response = new WebResourceResponse( "text/html", "UTF-8", new ByteArrayInputStream("<font color='#999'>not allowed</font>".getBytes()) ); return response; } return super.shouldInterceptRequest(view, url); } }