Skip to content

Commit

Permalink
Add onUpdateVisitedHistory callback to WebViewListener and call it io…
Browse files Browse the repository at this point in the history
…nic-team#6857

fix variable usage in for loops to avoid second get call
  • Loading branch information
KurvigerPatrick committed Sep 2, 2023
1 parent 4099969 commit ea5f4ba
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 4 deletions.
Expand Up @@ -40,7 +40,7 @@ public void onPageFinished(WebView view, String url) {
List<WebViewListener> webViewListeners = bridge.getWebViewListeners();

if (webViewListeners != null && view.getProgress() == 100) {
for (WebViewListener listener : bridge.getWebViewListeners()) {
for (WebViewListener listener : webViewListeners) {
listener.onPageLoaded(view);
}
}
Expand All @@ -52,7 +52,7 @@ public void onReceivedError(WebView view, WebResourceRequest request, WebResourc

List<WebViewListener> webViewListeners = bridge.getWebViewListeners();
if (webViewListeners != null) {
for (WebViewListener listener : bridge.getWebViewListeners()) {
for (WebViewListener listener : webViewListeners) {
listener.onReceivedError(view);
}
}
Expand All @@ -70,7 +70,7 @@ public void onPageStarted(WebView view, String url, Bitmap favicon) {
List<WebViewListener> webViewListeners = bridge.getWebViewListeners();

if (webViewListeners != null) {
for (WebViewListener listener : bridge.getWebViewListeners()) {
for (WebViewListener listener : webViewListeners) {
listener.onPageStarted(view);
}
}
Expand All @@ -82,7 +82,7 @@ public void onReceivedHttpError(WebView view, WebResourceRequest request, WebRes

List<WebViewListener> webViewListeners = bridge.getWebViewListeners();
if (webViewListeners != null) {
for (WebViewListener listener : bridge.getWebViewListeners()) {
for (WebViewListener listener : webViewListeners) {
listener.onReceivedHttpError(view);
}
}
Expand All @@ -92,4 +92,15 @@ public void onReceivedHttpError(WebView view, WebResourceRequest request, WebRes
view.loadUrl(errorPath);
}
}

@Override
public void doUpdateVisitedHistory(WebView view, String url, boolean isReload) {
super.doUpdateVisitedHistory(view, url, isReload);
List<WebViewListener> webViewListeners = bridge.getWebViewListeners();
if (webViewListeners != null) {
for (WebViewListener listener : webViewListeners) {
listener.onUpdateVisitedHistory(view.canGoBack());
}
}
}
}
Expand Up @@ -42,4 +42,14 @@ public void onReceivedHttpError(WebView webView) {
public void onPageStarted(WebView webView) {
// Override me to add behavior to the page started event
}

/**
* Callback for page-visit changes that should lead to the user having different browsing state
* and history.
*
* @param canGoBack Whether or not the user can go further back in the visit history
*/
public void onUpdateVisitedHistory(boolean canGoBack) {
// Override me to add behavior to the page-visit history update
}
}

0 comments on commit ea5f4ba

Please sign in to comment.