From 281535cfccaec6b111644bab16736f13a5a7dad6 Mon Sep 17 00:00:00 2001 From: Thialfihar Date: Thu, 5 Aug 2010 11:25:44 +0000 Subject: changed the account adding a bit, hopefully working with Froyo, at least preventing a crash Update issue 39 added: no permission to read the account --- AndroidManifest.xml | 3 ++- res/layout/add_account_dialog.xml | 31 ++++++++++++++++++++++++ res/values/strings.xml | 1 + src/org/thialfihar/android/apg/MainActivity.java | 30 ++++++++++++++++------- 4 files changed, 55 insertions(+), 10 deletions(-) create mode 100644 res/layout/add_account_dialog.xml diff --git a/AndroidManifest.xml b/AndroidManifest.xml index e57515bcd..badb84110 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -17,7 +17,7 @@ + android:versionCode="20" android:versionName="1.0.6"> + diff --git a/res/layout/add_account_dialog.xml b/res/layout/add_account_dialog.xml new file mode 100644 index 000000000..d44ce9766 --- /dev/null +++ b/res/layout/add_account_dialog.xml @@ -0,0 +1,31 @@ + + + + + + + + diff --git a/res/values/strings.xml b/res/values/strings.xml index a64873b0f..ad437d725 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -197,6 +197,7 @@ no known kind of encryption found external storage not ready account \'%s\' not found + no permission to read the account adding account \'%s\' failed invalid email \'%s\' key size must be at least 512bit diff --git a/src/org/thialfihar/android/apg/MainActivity.java b/src/org/thialfihar/android/apg/MainActivity.java index 81791ee1f..310ae062a 100644 --- a/src/org/thialfihar/android/apg/MainActivity.java +++ b/src/org/thialfihar/android/apg/MainActivity.java @@ -140,8 +140,12 @@ public class MainActivity extends BaseActivity { alert.setTitle(R.string.title_addAccount); alert.setMessage(R.string.specifyGoogleMailAccount); - final EditText input = new EditText(this); - alert.setView(input); + LayoutInflater inflater = + (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); + View view = (View) inflater.inflate(R.layout.add_account_dialog, null); + + final EditText input = (EditText) view.findViewById(R.id.input); + alert.setView(view); alert.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @@ -149,15 +153,23 @@ public class MainActivity extends BaseActivity { MainActivity.this.removeDialog(Id.dialog.new_account); String accountName = "" + input.getText(); - Cursor testCursor = - managedQuery(Uri.parse("content://gmail-ls/conversations/" + - accountName), - null, null, null, null); - if (testCursor == null) { + try { + Cursor testCursor = + managedQuery(Uri.parse("content://gmail-ls/conversations/" + + accountName), + null, null, null, null); + if (testCursor == null) { + Toast.makeText(MainActivity.this, + getString(R.string.errorMessage, + getString(R.string.error_accountNotFound, + accountName)), + Toast.LENGTH_SHORT).show(); + return; + } + } catch (SecurityException e) { Toast.makeText(MainActivity.this, getString(R.string.errorMessage, - getString(R.string.error_accountNotFound, - accountName)), + getString(R.string.error_accountReadingNotAllowed)), Toast.LENGTH_SHORT).show(); return; } -- cgit v1.2.3