Android Open Source - jockeyjs Forwarding Web View Client






From Project

Back to project page jockeyjs.

License

The source code is released under:

// // Copyright (c) 2013, Tim Coulter // // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the // "Software"),...

If you think the Android project jockeyjs listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.jockeyjs.util;
/*from  w w  w  .j a  v a2 s .c o  m*/
import android.annotation.TargetApi;
import android.graphics.Bitmap;
import android.net.http.SslError;
import android.os.Build;
import android.os.Message;
import android.view.KeyEvent;
import android.webkit.HttpAuthHandler;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceResponse;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public abstract class ForwardingWebViewClient extends WebViewClient {

  protected abstract WebViewClient delegate();

  protected boolean hasDelegate() {
    return delegate() != null;
  }

  @Override
  public void doUpdateVisitedHistory(WebView view, String url,
      boolean isReload) {
    if (hasDelegate())
      delegate().doUpdateVisitedHistory(view, url, isReload);
    else
      super.doUpdateVisitedHistory(view, url, isReload);
  }

  @Override
  public void onFormResubmission(WebView view, Message dontResend,
      Message resend) {
    if (hasDelegate())
      delegate().onFormResubmission(view, dontResend, resend);
    else
      super.onFormResubmission(view, dontResend, resend);
  }

  @Override
  public void onLoadResource(WebView view, String url) {
    if (hasDelegate())
      delegate().onLoadResource(view, url);
    else
      super.onLoadResource(view, url);
  }

  @Override
  public void onPageFinished(WebView view, String url) {

    if (hasDelegate())
      delegate().onPageFinished(view, url);
    else
      super.onPageFinished(view, url);
  }

  @Override
  public void onPageStarted(WebView view, String url, Bitmap favicon) {

    if (hasDelegate())
      delegate().onPageStarted(view, url, favicon);
    else
      super.onPageStarted(view, url, favicon);
  }

  @Override
  public void onReceivedError(WebView view, int errorCode,
      String description, String failingUrl) {
    if (hasDelegate())
      delegate()
          .onReceivedError(view, errorCode, description, failingUrl);
    else
      super.onReceivedError(view, errorCode, description, failingUrl);
  }

  @Override
  public void onReceivedHttpAuthRequest(WebView view,
      HttpAuthHandler handler, String host, String realm) {

    if (hasDelegate())
      delegate().onReceivedHttpAuthRequest(view, handler, host, realm);
    else
      super.onReceivedHttpAuthRequest(view, handler, host, realm);
  }

  @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
  @Override
  public void onReceivedLoginRequest(WebView view, String realm,
      String account, String args) {
    if (hasDelegate())
      delegate().onReceivedLoginRequest(view, realm, account, args);
    else
      super.onReceivedLoginRequest(view, realm, account, args);
  }

  @Override
  public void onReceivedSslError(WebView view, SslErrorHandler handler,
      SslError error) {
    if (hasDelegate())
      delegate().onReceivedSslError(view, handler, error);
    else
      super.onReceivedSslError(view, handler, error);
  }

  @Override
  public void onUnhandledKeyEvent(WebView view, KeyEvent event) {

    if (hasDelegate())
      delegate().onUnhandledKeyEvent(view, event);
    else
      super.onUnhandledKeyEvent(view, event);
  }

  @Override
  public void onScaleChanged(WebView view, float oldScale, float newScale) {

    if (hasDelegate())
      delegate().onScaleChanged(view, oldScale, newScale);
    else

      super.onScaleChanged(view, oldScale, newScale);
  }

  @TargetApi(Build.VERSION_CODES.HONEYCOMB)
  @Override
  public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
    if (hasDelegate())
      return delegate().shouldInterceptRequest(view, url);
    else
      return super.shouldInterceptRequest(view, url);
  }

  @Override
  public boolean shouldOverrideKeyEvent(WebView view, KeyEvent event) {
    if (hasDelegate())
      return delegate().shouldOverrideKeyEvent(view, event);
    else
      return super.shouldOverrideKeyEvent(view, event);
  }

}




Java Source Code List

com.example.jockeytestapp.MainActivity.java
com.jockeyjs.CompositeJockeyHandler.java
com.jockeyjs.DefaultJockeyImpl.java
com.jockeyjs.HostValidationException.java
com.jockeyjs.JockeyAsyncHandler.java
com.jockeyjs.JockeyCallback.java
com.jockeyjs.JockeyHandler.java
com.jockeyjs.JockeyImpl.java
com.jockeyjs.JockeyService.java
com.jockeyjs.JockeyWebViewClient.java
com.jockeyjs.JockeyWebViewPayload.java
com.jockeyjs.Jockey.java
com.jockeyjs.NativeOS.java
com.jockeyjs.util.BackgroundExecutor.java
com.jockeyjs.util.ForwardingWebViewClient.java