aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThialfihar <thialfihar@gmail.com>2010-08-05 11:25:44 +0000
committerThialfihar <thialfihar@gmail.com>2010-08-05 11:25:44 +0000
commit281535cfccaec6b111644bab16736f13a5a7dad6 (patch)
tree1a921b0845282faf53497f612c818623e0a36918
parenta88af8a85ec912ba801bed68835640f73e2deb4d (diff)
downloadopen-keychain-281535cfccaec6b111644bab16736f13a5a7dad6.tar.gz
open-keychain-281535cfccaec6b111644bab16736f13a5a7dad6.tar.bz2
open-keychain-281535cfccaec6b111644bab16736f13a5a7dad6.zip
changed the account adding a bit, hopefully working with Froyo, at least preventing a crash
Update issue 39 added: <string name="error_accountReadingNotAllowed">no permission to read the account</string>
-rw-r--r--AndroidManifest.xml3
-rw-r--r--res/layout/add_account_dialog.xml31
-rw-r--r--res/values/strings.xml1
-rw-r--r--src/org/thialfihar/android/apg/MainActivity.java30
4 files changed, 55 insertions, 10 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index e57515bcd..badb84110 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -17,7 +17,7 @@
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="org.thialfihar.android.apg"
- android:versionCode="19" android:versionName="1.0.5">
+ android:versionCode="20" android:versionName="1.0.6">
<application
android:icon="@drawable/icon"
@@ -198,6 +198,7 @@
android:description="@string/permission_read_key_details_description"/>
<uses-permission android:name="com.google.android.providers.gmail.permission.READ_GMAIL" />
+ <uses-permission android:name="com.google.android.gm.permission.READ_GMAIL" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.fsck.k9.permission.READ_ATTACHMENT" />
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 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 Thialfihar <thi@thialfihar.org>
+
+ 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.
+-->
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:paddingLeft="5dip"
+ android:paddingRight="5dip">
+
+ <EditText
+ android:id="@+id/input"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:inputType="textEmailAddress"/>
+
+</LinearLayout>
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 @@
<string name="error_noKnownEncryptionFound">no known kind of encryption found</string>
<string name="error_externalStorageNotReady">external storage not ready</string>
<string name="error_accountNotFound">account \'%s\' not found</string>
+ <string name="error_accountReadingNotAllowed">no permission to read the account</string>
<string name="error_addingAccountFailed">adding account \'%s\' failed</string>
<string name="error_invalidEmail">invalid email \'%s\'</string>
<string name="error_keySizeMinimum512bit">key size must be at least 512bit</string>
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;
}