aboutsummaryrefslogtreecommitdiff
path: root/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/helpers/WPWebChromeClient.java
diff options
context:
space:
mode:
Diffstat (limited to 'libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/helpers/WPWebChromeClient.java')
-rw-r--r--libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/helpers/WPWebChromeClient.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/helpers/WPWebChromeClient.java b/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/helpers/WPWebChromeClient.java
new file mode 100644
index 000000000..1418e79ea
--- /dev/null
+++ b/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/helpers/WPWebChromeClient.java
@@ -0,0 +1,45 @@
+package org.wordpress.android.util.helpers;
+
+import android.app.Activity;
+import android.text.TextUtils;
+import android.view.View;
+import android.webkit.WebChromeClient;
+import android.webkit.WebView;
+import android.widget.ProgressBar;
+
+public class WPWebChromeClient extends WebChromeClient {
+ private final ProgressBar mProgressBar;
+ private final Activity mActivity;
+ private final boolean mAutoUpdateActivityTitle;
+
+ public WPWebChromeClient(Activity activity, ProgressBar progressBar) {
+ mActivity = activity;
+ mProgressBar = progressBar;
+ mAutoUpdateActivityTitle = true;
+ }
+
+ public WPWebChromeClient(Activity activity,
+ ProgressBar progressBar,
+ boolean autoUpdateActivityTitle) {
+ mActivity = activity;
+ mProgressBar = progressBar;
+ mAutoUpdateActivityTitle = autoUpdateActivityTitle;
+ }
+
+ public void onProgressChanged(WebView webView, int progress) {
+ if (mActivity != null
+ && !mActivity.isFinishing()
+ && mAutoUpdateActivityTitle
+ && !TextUtils.isEmpty(webView.getTitle())) {
+ mActivity.setTitle(webView.getTitle());
+ }
+ if (mProgressBar != null) {
+ if (progress == 100) {
+ mProgressBar.setVisibility(View.GONE);
+ } else {
+ mProgressBar.setVisibility(View.VISIBLE);
+ mProgressBar.setProgress(progress);
+ }
+ }
+ }
+}