mirror of
https://github.com/kickstarter/android-oss.git
synced 2026-03-13 09:11:01 +08:00
* initial external url tracking; add test * refactor to add external link delegate method to client * add external link logic to update activity * fix up back nav on webviews * Add context to external link event * Add back logic to WebViewActivity The base for a few of our activities * Add request handler for another update requests Pings the VM on another index requests to properly display sequence title and share data * Add tests for new request logic Also includes a new default intent because hey sometimes we just need a default intent * Handle additional update url requests * Make shareIntent output a PublishSubject to stay hidden on rotation * Add additional index url logic to ProjectUpdates * Rename initialProject -> Project since the project will never change * Add new delegate method to config * Remove unused uri helpers, add unit test for KSUri * remove redundant null filters
66 lines
2.1 KiB
Java
66 lines
2.1 KiB
Java
package com.kickstarter.services;
|
|
|
|
import android.graphics.Bitmap;
|
|
import android.support.annotation.NonNull;
|
|
import android.support.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 webViewOnPageStarted(final @NonNull KSWebViewClient webViewClient, final @Nullable String url);
|
|
void webViewOnPageFinished(final @NonNull KSWebViewClient webViewClient, final @Nullable String url);
|
|
void webViewPageIntercepted(final @NonNull KSWebViewClient webViewClient, final @NonNull String url);
|
|
void webViewExternalLinkActivated(final @NonNull KSWebViewClient webViewClient, 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) {
|
|
}
|
|
}
|