diff --git a/api/src/com/todoroo/andlib/utility/DialogUtilities.java b/api/src/com/todoroo/andlib/utility/DialogUtilities.java index 23ae04279..aecdac250 100644 --- a/api/src/com/todoroo/andlib/utility/DialogUtilities.java +++ b/api/src/com/todoroo/andlib/utility/DialogUtilities.java @@ -168,6 +168,26 @@ public class DialogUtilities { }); } + /** Run runnable with progress dialog */ + public static ProgressDialog runWithProgressDialog(final Activity activity, final Runnable runnable) { + final ProgressDialog progressdiag = progressDialog(activity, activity.getString(R.string.DLG_wait)); + new Thread(new Runnable() { + @Override + public void run() { + try { + runnable.run(); + } catch (Exception e) { + DialogUtilities.okDialog(activity, + activity.getString(R.string.DLG_error, e.toString()), null); + } finally { + DialogUtilities.dismissDialog(activity, progressdiag); + } + } + }).start(); + + return progressdiag; + } + /** * Displays a progress dialog. Must be run on the UI thread * @param context diff --git a/astrid/AndroidManifest.xml b/astrid/AndroidManifest.xml index 38ce37776..925b62702 100644 --- a/astrid/AndroidManifest.xml +++ b/astrid/AndroidManifest.xml @@ -301,8 +301,7 @@ + android:configChanges="keyboardHidden"/> WebView that allows users to log in to the @@ -41,7 +43,7 @@ import com.todoroo.andlib.service.RestClient; * @author timsu * */ -public class OAuthLoginActivity extends Activity { +public class OAuthLoginActivity extends FragmentActivity { /** * URL to display @@ -55,6 +57,8 @@ public class OAuthLoginActivity extends Activity { @Autowired RestClient restClient; + ProgressDialog pd; + // --- ui initialization @SuppressWarnings("nls") @@ -65,7 +69,7 @@ public class OAuthLoginActivity extends Activity { DependencyInjectionService.getInstance().inject(this); setContentView(R.layout.oauth_login_activity); - setTitle(R.string.actfm_ALA_login_title); + getSupportActionBar().setTitle(R.string.actfm_OLA_prompt); final String urlParam = getIntent().getStringExtra(URL_TOKEN); @@ -73,12 +77,14 @@ public class OAuthLoginActivity extends Activity { webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setSavePassword(false); + webView.getSettings().setBuiltInZoomControls(true); webView.getSettings().setSupportZoom(true); webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, final String url) { super.onPageFinished(view, url); + pd.dismiss(); new Thread() { @Override public void run() { @@ -105,7 +111,7 @@ public class OAuthLoginActivity extends Activity { } }); - + pd = DialogUtilities.progressDialog(this, getString(R.string.DLG_wait)); webView.loadUrl(urlParam); } diff --git a/astrid/plugin-src/com/todoroo/astrid/core/OldTaskPreferences.java b/astrid/plugin-src/com/todoroo/astrid/core/OldTaskPreferences.java index e8fbf9490..3bb76bd3b 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/OldTaskPreferences.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/OldTaskPreferences.java @@ -102,7 +102,7 @@ public class OldTaskPreferences extends TodorooPreferenceActivity { new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - runWithDialog(new Runnable() { + pd = DialogUtilities.runWithProgressDialog(OldTaskPreferences.this, new Runnable() { @Override public void run() { TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.CALENDAR_URI).where( @@ -141,7 +141,7 @@ public class OldTaskPreferences extends TodorooPreferenceActivity { new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - runWithDialog(new Runnable() { + pd = DialogUtilities.runWithProgressDialog(OldTaskPreferences.this, new Runnable() { @Override public void run() { TodorooCursor cursor = taskService.query(Query.select(Task.ID, Task.TITLE, Task.CALENDAR_URI).where( @@ -177,7 +177,7 @@ public class OldTaskPreferences extends TodorooPreferenceActivity { new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - runWithDialog(new Runnable() { + pd = DialogUtilities.runWithProgressDialog(OldTaskPreferences.this, new Runnable() { @Override public void run() { int deletedEventCount = 0; @@ -218,7 +218,7 @@ public class OldTaskPreferences extends TodorooPreferenceActivity { new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - runWithDialog(new Runnable() { + pd = DialogUtilities.runWithProgressDialog(OldTaskPreferences.this, new Runnable() { @Override public void run() { int deletedEventCount = 0; @@ -250,24 +250,6 @@ public class OldTaskPreferences extends TodorooPreferenceActivity { }, null); } - /** Run runnable with progress dialog */ - protected void runWithDialog(final Runnable runnable) { - pd = DialogUtilities.progressDialog(this, getString(R.string.DLG_please_wait)); - new Thread(new Runnable() { - @Override - public void run() { - try { - runnable.run(); - } catch (Exception e) { - DialogUtilities.okDialog(OldTaskPreferences.this, - getString(R.string.DLG_error, e.toString()), null); - } finally { - DialogUtilities.dismissDialog(OldTaskPreferences.this, pd); - } - } - }).start(); - } - protected void showResult(int resourceText, int result) { DialogUtilities.okDialog(this, getString(resourceText, result), null); } diff --git a/astrid/res/layout-land/actfm_login_activity.xml b/astrid/res/layout-land/actfm_login_activity.xml new file mode 100644 index 000000000..dd64285cf --- /dev/null +++ b/astrid/res/layout-land/actfm_login_activity.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + +