Android Open Source - spring-for-android-starter-book Abstract Web View Activity






From Project

Back to project page spring-for-android-starter-book.

License

The source code is released under:

Apache License

If you think the Android project spring-for-android-starter-book listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright 2012 the original author or authors.
 *//from  w  w w  . j a  v  a  2s.co m
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package net.dahanne.android.google.client;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebView;

/**
 * @author Roy Clarkson
 */
public abstract class AbstractWebViewActivity extends Activity implements AsyncActivity {

  protected static final String TAG = AbstractWebViewActivity.class.getSimpleName();

  private Activity activity;

  private WebView webView;

  private ProgressDialog progressDialog = null;

  private boolean destroyed = false;

  // ***************************************
  // Activity methods
  // ***************************************
  @Override
  public MainApplication getApplicationContext() {
    return (MainApplication) super.getApplicationContext();
  }

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getWindow().requestFeature(Window.FEATURE_PROGRESS);
    getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON);
    this.webView = new WebView(this);
    setContentView(webView);
    this.activity = this;

    webView.setWebChromeClient(new WebChromeClient() {
      public void onProgressChanged(WebView view, int progress) {
        activity.setTitle("Loading...");
        activity.setProgress(progress * 100);
        if (progress == 100) {
          activity.setTitle(R.string.app_name);
        }
      }
    });
  }

  // ***************************************
  // Protected methods
  // ***************************************
  protected WebView getWebView() {
    return this.webView;
  }

  // ***************************************
  // Public methods
  // ***************************************
  public void showLoadingProgressDialog() {
    showProgressDialog("Loading. Please wait...");
  }

  public void showProgressDialog(CharSequence message) {
    if (this.progressDialog == null) {
      this.progressDialog = new ProgressDialog(this);
      this.progressDialog.setIndeterminate(true);
    }

    this.progressDialog.setMessage(message);
    this.progressDialog.show();
  }

  public void dismissProgressDialog() {
    if (this.progressDialog != null && !this.destroyed) {
      this.progressDialog.dismiss();
    }
  }

}




Java Source Code List

net.dahanne.android.google.client.AbstractAsyncActivity.java
net.dahanne.android.google.client.AbstractAsyncListActivity.java
net.dahanne.android.google.client.AbstractWebViewActivity.java
net.dahanne.android.google.client.AsyncActivity.java
net.dahanne.android.google.client.GoogleActivity.java
net.dahanne.android.google.client.GoogleProfileActivity.java
net.dahanne.android.google.client.GoogleProfileListAdapter.java
net.dahanne.android.google.client.GoogleWebOAuthActivity.java
net.dahanne.android.google.client.MainApplication.java
net.dahanne.spring.android.ch3.gzip.IfConfigMeJson.java
net.dahanne.spring.android.ch3.gzip.MainActivity.java
net.dahanne.spring.android.ch3.http.basic.authentication.MainActivity.java
net.dahanne.spring.android.ch3.message.converters.feedreader.MainActivity.java
net.dahanne.spring.android.ch3.message.converters.jackson.IfConfigMeJson.java
net.dahanne.spring.android.ch3.message.converters.jackson.IfConfigMeJson.java
net.dahanne.spring.android.ch3.message.converters.jackson.IfConfigMeRestClient.java
net.dahanne.spring.android.ch3.message.converters.jackson.IfConfigMeRestClient_.java
net.dahanne.spring.android.ch3.message.converters.jackson.MainActivity.java
net.dahanne.spring.android.ch3.message.converters.jackson.MainActivity.java
net.dahanne.spring.android.ch3.message.converters.jackson.MainActivity_.java
net.dahanne.spring.android.ch3.message.converters.simplexml.IfConfigMeXml.java
net.dahanne.spring.android.ch3.message.converters.simplexml.MainActivity.java
net.dahanne.spring.android.ch3.restful.example.recipeapp.DishType.java
net.dahanne.spring.android.ch3.restful.example.recipeapp.RecipeAbstractAsyncTask.java
net.dahanne.spring.android.ch3.restful.example.recipeapp.RecipeEditor.java
net.dahanne.spring.android.ch3.restful.example.recipeapp.Recipe.java
net.dahanne.spring.android.ch3.restful.example.recipeapp.RecipesList.java
net.dahanne.spring.android.firstexample.MainActivity.java
net.dahanne.spring.android.firstexample.MainActivity.java