77import android .widget .ProgressBar ;
88
99public class WPWebChromeClient extends WebChromeClient {
10- private ProgressBar mProgressBar ;
11- private Activity mActivity ;
10+ private final ProgressBar mProgressBar ;
11+ private final Activity mActivity ;
12+ private final boolean mAutoUpdateActivityTitle ;
1213
1314 public WPWebChromeClient (Activity activity , ProgressBar progressBar ) {
15+ mActivity = activity ;
1416 mProgressBar = progressBar ;
17+ mAutoUpdateActivityTitle = true ;
18+ }
19+
20+ public WPWebChromeClient (Activity activity ,
21+ ProgressBar progressBar ,
22+ boolean autoUpdateActivityTitle ) {
1523 mActivity = activity ;
24+ mProgressBar = progressBar ;
25+ mAutoUpdateActivityTitle = autoUpdateActivityTitle ;
1626 }
1727
1828 public void onProgressChanged (WebView webView , int progress ) {
19- if (! mActivity .isFinishing ()) {
29+ if (mActivity != null && ! mActivity .isFinishing () && mAutoUpdateActivityTitle ) {
2030 mActivity .setTitle (webView .getTitle ());
2131 }
22- if (progress == 100 ) {
23- mProgressBar .setVisibility (View .GONE );
24- } else {
25- mProgressBar .setVisibility (View .VISIBLE );
26- mProgressBar .setProgress (progress );
32+ if (mProgressBar != null ) {
33+ if (progress == 100 ) {
34+ mProgressBar .setVisibility (View .GONE );
35+ } else {
36+ mProgressBar .setVisibility (View .VISIBLE );
37+ mProgressBar .setProgress (progress );
38+ }
2739 }
2840 }
2941}
0 commit comments