aboutsummaryrefslogtreecommitdiff
path: root/libs/utils/WordPressUtils/src/main/java/org/wordpress/android/util/helpers/WPWebChromeClient.java
blob: 1418e79ea295c264b5545e7b1f4d01f8d6495ed2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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);
            }
        }
    }
}