diff --git a/mobile/res/layout/dialog_progressbar.xml b/mobile/res/layout/dialog_progressbar.xml new file mode 100644 index 00000000..88191be7 --- /dev/null +++ b/mobile/res/layout/dialog_progressbar.xml @@ -0,0 +1,6 @@ + + diff --git a/mobile/src/com/cradle/iitc_mobile/DeviceAccountLogin.java b/mobile/src/com/cradle/iitc_mobile/DeviceAccountLogin.java index b000ee3d..9b2a8d03 100644 --- a/mobile/src/com/cradle/iitc_mobile/DeviceAccountLogin.java +++ b/mobile/src/com/cradle/iitc_mobile/DeviceAccountLogin.java @@ -72,6 +72,11 @@ public class DeviceAccountLogin implements AccountManagerCallback { mWebView = webView; mAccountManager = AccountManager.get(activity); mAccountAdapter = new AccountAdapter(); + + mProgressbar = new AlertDialog.Builder(mActivity) + .setCancelable(false) + .setView(mActivity.getLayoutInflater().inflate(R.layout.dialog_progressbar, null)) + .create(); } private void displayAccountList() { @@ -89,10 +94,6 @@ public class DeviceAccountLogin implements AccountManagerCallback { } private void startAuthentication() { - mProgressbar = new AlertDialog.Builder(mActivity) - .setCancelable(false) - .setView(mActivity.getLayoutInflater().inflate(R.layout.dialog_progressbar, null)) - .create(); mProgressbar.show(); mAccountManager.getAuthToken(mAccount, mAuthToken, null, mActivity, this, null); @@ -107,8 +108,7 @@ public class DeviceAccountLogin implements AccountManagerCallback { @Override public void run(AccountManagerFuture value) { - if (mProgressbar != null) - mProgressbar.hide(); + mProgressbar.hide(); try { Intent launch = (Intent) value.getResult().get(AccountManager.KEY_INTENT); diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java index 09c079e7..da5c3711 100644 --- a/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java +++ b/mobile/src/com/cradle/iitc_mobile/IITC_Mobile.java @@ -2,7 +2,13 @@ package com.cradle.iitc_mobile; import java.io.IOException; -import com.cradle.iitc_mobile.R; +import android.app.ActionBar; +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.content.SharedPreferences.OnSharedPreferenceChangeListener; +import android.content.res.Configuration; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; @@ -13,17 +19,12 @@ import android.os.Bundle; import android.os.Handler; import android.os.StrictMode; import android.preference.PreferenceManager; -import android.app.ActionBar; -import android.app.Activity; -import android.content.Context; -import android.content.Intent; -import android.content.SharedPreferences; -import android.content.SharedPreferences.OnSharedPreferenceChangeListener; -import android.content.res.Configuration; import android.util.Log; import android.view.Menu; import android.view.MenuItem; +import android.view.Window; import android.view.WindowManager; +import android.webkit.WebChromeClient; import android.webkit.WebView; import android.widget.Toast; @@ -47,12 +48,25 @@ public class IITC_Mobile extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + requestWindowFeature(Window.FEATURE_PROGRESS); + // TODO build an async task for url.openStream() in IITC_WebViewClient StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() .permitAll().build(); StrictMode.setThreadPolicy(policy); setContentView(R.layout.activity_main); iitc_view = (IITC_WebView) findViewById(R.id.iitc_webview); + iitc_view.setWebChromeClient(new WebChromeClient() + { + @Override + public void onProgressChanged(WebView view, int newProgress) { + super.onProgressChanged(view, newProgress); + + // maximum for newProgress is 100 + // maximum for setProgress is 10,000 + setProgress(newProgress * 100); + } + }); // fetch actionbar, set display flags, title and enable home button actionBar = this.getActionBar();