From e153b99bf4d631235b7480b4f35c89deaae30f79 Mon Sep 17 00:00:00 2001 From: Maxim Belov Date: Mon, 23 Sep 2024 01:29:24 +0300 Subject: [PATCH] Add Progress of loading a page --- src/android/InAppBrowser.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/android/InAppBrowser.java b/src/android/InAppBrowser.java index eed595016..5874c89c7 100644 --- a/src/android/InAppBrowser.java +++ b/src/android/InAppBrowser.java @@ -60,6 +60,7 @@ Licensed to the Apache Software Foundation (ASF) under one import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.ProgressBar; import android.widget.RelativeLayout; import android.widget.TextView; @@ -916,12 +917,23 @@ public boolean onKey(View v, int keyCode, KeyEvent event) { View footerClose = createCloseButton(7); footer.addView(footerClose); + // Progress of loading a page + ProgressBar progressBarLoadingPage = new ProgressBar(webView.getContext(), null, android.R.attr.progressBarStyleHorizontal); + progressBarLoadingPage.setLayoutParams((new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT))); + // WebView inAppWebView = new WebView(cordova.getActivity()); + inAppWebView.setBackgroundColor(Color.WHITE); + inAppWebView.addView(progressBarLoadingPage); inAppWebView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); inAppWebView.setId(Integer.valueOf(6)); // File Chooser Implemented ChromeClient inAppWebView.setWebChromeClient(new InAppChromeClient(thatWebView) { + public void onProgressChanged(WebView view, int progress) + { + progressBarLoadingPage.setProgress(progress); + progressBarLoadingPage.setVisibility(progress == 100 ? ProgressBar.GONE : ProgressBar.VISIBLE); + } public boolean onShowFileChooser (WebView webView, ValueCallback filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) { LOG.d(LOG_TAG, "File Chooser 5.0+");