Skip to content

Commit b9889c4

Browse files
authored
Merge pull request #357 from Countly/cly_webview
Countly webview
2 parents efe28c4 + 7cc90c3 commit b9889c4

File tree

3 files changed

+70
-0
lines changed

3 files changed

+70
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package ly.count.android.sdk;
2+
3+
import android.content.Context;
4+
import android.webkit.WebView;
5+
6+
class CountlyWebView extends WebView {
7+
public CountlyWebView(Context context) {
8+
super(context);
9+
}
10+
11+
/**
12+
* Without this override, the keyboard is not showing
13+
*/
14+
@Override
15+
public boolean onCheckIsTextEditor() {
16+
return true;
17+
}
18+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package ly.count.android.sdk;
2+
3+
import android.webkit.WebResourceRequest;
4+
import android.webkit.WebResourceResponse;
5+
import android.webkit.WebView;
6+
import android.webkit.WebViewClient;
7+
import java.util.ArrayList;
8+
import java.util.List;
9+
10+
class CountlyWebViewClient extends WebViewClient {
11+
private final List<WebViewUrlListener> listeners;
12+
13+
public CountlyWebViewClient() {
14+
super();
15+
this.listeners = new ArrayList<>();
16+
}
17+
18+
@Override
19+
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
20+
String url = request.getUrl().toString();
21+
22+
for (WebViewUrlListener listener : listeners) {
23+
if (listener.onUrl(url, view)) {
24+
return true;
25+
}
26+
}
27+
28+
return false;
29+
}
30+
31+
@Override
32+
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
33+
return null;
34+
}
35+
36+
@Override
37+
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
38+
return null;
39+
}
40+
41+
public void registerWebViewUrlListeners(List<WebViewUrlListener> listener) {
42+
this.listeners.addAll(listener);
43+
}
44+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package ly.count.android.sdk;
2+
3+
import android.webkit.WebView;
4+
import java.io.Serializable;
5+
6+
interface WebViewUrlListener extends Serializable {
7+
boolean onUrl(String url, WebView webView);
8+
}

0 commit comments

Comments
 (0)