11package ly .count .android .sdk ;
22
3+ import android .os .Build ;
34import android .util .Log ;
5+ import android .webkit .WebResourceError ;
46import android .webkit .WebResourceRequest ;
7+ import android .webkit .WebResourceResponse ;
58import android .webkit .WebView ;
69import android .webkit .WebViewClient ;
710import java .net .URLDecoder ;
@@ -44,7 +47,6 @@ public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request
4447 @ Override
4548 public void onPageFinished (WebView view , String url ) {
4649 Log .v (Countly .TAG , "[CountlyWebViewClient] onPageFinished, url: [" + url + "]" );
47- super .onPageFinished (view , url );
4850 if (afterPageFinished != null ) {
4951 pageLoadTime = System .currentTimeMillis () - pageLoadTime ;
5052 boolean timeOut = (pageLoadTime / 1000L ) >= 60 ;
@@ -55,6 +57,31 @@ public void onPageFinished(WebView view, String url) {
5557 }
5658 }
5759
60+ @ Override
61+ public void onReceivedError (WebView view , WebResourceRequest request , WebResourceError error ) {
62+ if (request .isForMainFrame () && afterPageFinished != null ) {
63+ String errorString ;
64+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .M ) {
65+ errorString = error .getDescription () + " (code: " + error .getErrorCode () + ")" ;
66+ } else {
67+ errorString = error .toString ();
68+ }
69+ Log .v (Countly .TAG , "[CountlyWebViewClient] onReceivedError, error: [" + errorString + "]" );
70+
71+ afterPageFinished .onPageLoaded (true );
72+ afterPageFinished = null ;
73+ }
74+ }
75+
76+ @ Override
77+ public void onReceivedHttpError (WebView view , WebResourceRequest request , WebResourceResponse errorResponse ) {
78+ if (request .isForMainFrame () && afterPageFinished != null ) {
79+ Log .v (Countly .TAG , "[CountlyWebViewClient] onReceivedHttpError, errorResponseCode: [" + errorResponse .getStatusCode () + "]" );
80+ afterPageFinished .onPageLoaded (true );
81+ afterPageFinished = null ;
82+ }
83+ }
84+
5885 public void registerWebViewUrlListener (WebViewUrlListener listener ) {
5986 this .listeners .add (listener );
6087 }
0 commit comments