title: Complete AdBlock inside WebView
body: <p>I am about to roll out WebView AdBlocking in my android app. I want to know if this will effectively block ads or if there is more to be done say within the Webview itself which I have not modified. Basically I have a host file of stored in Android assets which lists hundred of ad server sites.  I read this file in to my AdBlocker and then apply it inside the WebViewClient as follows:</p>
  
  <pre><code>// AdBlocker.isAdURL(String url)
  
   public Boolean isAdURL(String url){
        Boolean retValue = false;
        if ((url == null) || (url.isEmpty()))
          return false;
        if ((adServers == null)|| (adServers.size() &lt;1))
          return false;
        try{
          String domainName = getUrlsDomain(url);
          if (adServers.contains(domainName)) {
              retValue = true;
          }
      } catch(URISyntaxException e){
  
      }
  
      return retValue;
  }
  </code></pre>
  
  <p>And I only use this in WebViewClient as follows:</p>
  
  <pre><code>@Deprecated
  @Override
  public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
  
        if (adBlocker.isAdURL(url)) {
           ByteArrayInputStream nada = new ByteArrayInputStream("".getBytes());
          return new WebResourceResponse("text/plain", "utf-8", nada);
       }
      return super.shouldInterceptRequest(view, url);
  }
  </code></pre>
  
  <p>And similarly:</p>
  
  <pre><code> @Override
   public WebResourceResponse shouldInterceptRequest(WebView view,  WebResourceRequest request) {
        if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.LOLLIPOP) {
          if (adBlocker.isAdURL(request.getUrl().toString())) {
              ByteArrayInputStream nada = new    ByteArrayInputStream("".getBytes());
              return new WebResourceResponse("text/plain", "utf-8", nada);
          }
  
      }
  
      return super.shouldInterceptRequest(view, request);
  }
  </code></pre>
  
  <p>Anything more need to be done? Or is that it? Any need to keep a whitelist or will this generally work assuming my list of adservers is current?</p>