mirror of
https://github.com/kickstarter/android-oss.git
synced 2026-03-13 09:11:01 +08:00
* investment day wip for retrying webview errors. * KSWebView is now a FrameLayout that contains a Webview, ProgressBar and retry layout. The KSWebViewClient's Delegate is now this parent view. KSWebView also has its own Delegate if any screen is so inclined.
67 lines
1.9 KiB
Java
67 lines
1.9 KiB
Java
package com.kickstarter.services;
|
|
|
|
import android.graphics.Bitmap;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import android.webkit.WebResourceResponse;
|
|
import android.webkit.WebView;
|
|
import android.webkit.WebViewClient;
|
|
|
|
import com.kickstarter.libs.FormContents;
|
|
|
|
import java.util.List;
|
|
|
|
import okhttp3.OkHttpClient;
|
|
|
|
public final class KSWebViewClient extends WebViewClient {
|
|
|
|
public interface Delegate {
|
|
void externalLinkActivated(final @NonNull String url);
|
|
void onPageFinished(final @Nullable String url);
|
|
void onPageStarted(final @Nullable String url);
|
|
void pageIntercepted(final @NonNull String url);
|
|
void onReceivedError(final @NonNull String url);
|
|
}
|
|
|
|
public KSWebViewClient(final @NonNull OkHttpClient client, final @NonNull String webEndpoint) {
|
|
this(client, webEndpoint, null);
|
|
}
|
|
|
|
public KSWebViewClient(final @NonNull OkHttpClient client, final @NonNull String webEndpoint,
|
|
final @Nullable Delegate delegate) {
|
|
}
|
|
|
|
public void setDelegate(final @Nullable Delegate delegate) {
|
|
}
|
|
|
|
public @Nullable Delegate delegate() {
|
|
return null;
|
|
}
|
|
|
|
@Override
|
|
public void onPageStarted(final @Nullable WebView view, final @Nullable String url, final @Nullable Bitmap favicon) {
|
|
}
|
|
|
|
@Override
|
|
public void onPageFinished(final @NonNull WebView view, final @NonNull String url) {
|
|
}
|
|
|
|
@Override
|
|
public boolean shouldOverrideUrlLoading(final @NonNull WebView view, final @NonNull String url) {
|
|
return false;
|
|
}
|
|
|
|
@Override
|
|
public WebResourceResponse shouldInterceptRequest(final @NonNull WebView view, final @NonNull String url) {
|
|
return null;
|
|
}
|
|
|
|
// The order of request handlers is important - we iterate through the request handlers
|
|
// sequentially until a match is found.
|
|
public void registerRequestHandlers(final @NonNull List<RequestHandler> requestHandlers) {
|
|
}
|
|
|
|
public void setFormContents(final @NonNull FormContents formContents) {
|
|
}
|
|
}
|