@Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); RhoExtManager.getImplementationInstance().onNavigateStarted(view, url); if (mWebView.getConfig() != null && mWebView.getConfig().getBool("enablePageLoadingIndication")) RhodesActivity.safeGetInstance().getWindow().setFeatureInt(Window.FEATURE_PROGRESS, 0); }
@Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { super.onReceivedError(view, errorCode, description, failingUrl); Logger.profStop("BROWSER_PAGE"); StringBuilder msg = new StringBuilder(failingUrl != null ? failingUrl : "null"); msg.append(" failed: "); msg.append(errorCode); msg.append(" - " + description); Logger.E(TAG, msg.toString()); RhoExtManager.getImplementationInstance() .onLoadError(view, IRhoExtension.LoadErrorReason.INTERNAL_ERROR); }
@Override public void onPageFinished(WebView view, String url) { Logger.profStop("BROWSER_PAGE"); // Set title String title = view.getTitle(); RhodesActivity.safeGetInstance().setTitle(title); if (mWebView.getConfig() != null && mWebView.getConfig().getBool("enablePageLoadingIndication")) RhodesActivity.safeGetInstance() .getWindow() .setFeatureInt(Window.FEATURE_PROGRESS, RhodesActivity.MAX_PROGRESS); RhoExtManager.getImplementationInstance().onNavigateComplete(view, url); super.onPageFinished(view, url); }
@Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Logger.I(TAG, "Loading URL: " + url); boolean res = RhodesService.getInstance().handleUrlLoading(url); if (!res) { Logger.profStart("BROWSER_PAGE"); RhoExtManager.getImplementationInstance().onBeforeNavigate(view, url); Uri localUri = LocalFileProvider.overrideUri(Uri.parse(url)); if (localUri != null) { url = Uri.decode(localUri.toString()); Logger.T(TAG, "Override URL: " + url); view.loadUrl(url); return true; } } return res; }