aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik <dominik@dominikschuermann.de>2012-03-10 21:36:08 +0100
committerDominik <dominik@dominikschuermann.de>2012-03-10 21:36:08 +0100
commit9ce7842ac9e009b2315242150ef57b25704b5c87 (patch)
treebc4f2e0760e6bd8182ab7a1a5d005f0a3c38bd53
parent328da74eb20e6e6c731dc2c25dbc97240d63a8ef (diff)
downloadopen-keychain-9ce7842ac9e009b2315242150ef57b25704b5c87.tar.gz
open-keychain-9ce7842ac9e009b2315242150ef57b25704b5c87.tar.bz2
open-keychain-9ce7842ac9e009b2315242150ef57b25704b5c87.zip
dropping gmail support, k9 mail support is more important, in any case gmail support is not working as of android 2.3 and later
-rw-r--r--org_apg/res/layout/add_account_dialog.xml31
-rw-r--r--org_apg/res/values/strings.xml4
-rw-r--r--org_apg/src/org/apg/provider/Accounts.java27
-rw-r--r--org_apg/src/org/apg/provider/Database.java3
-rw-r--r--org_apg/src/org/apg/ui/MainActivity.java379
5 files changed, 103 insertions, 341 deletions
diff --git a/org_apg/res/layout/add_account_dialog.xml b/org_apg/res/layout/add_account_dialog.xml
deleted file mode 100644
index d44ce9766..000000000
--- a/org_apg/res/layout/add_account_dialog.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?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/org_apg/res/values/strings.xml b/org_apg/res/values/strings.xml
index 4cfc99df8..d04d7a5e1 100644
--- a/org_apg/res/values/strings.xml
+++ b/org_apg/res/values/strings.xml
@@ -35,7 +35,6 @@
<string name="title_sendEmail">"Send Mail..."</string>
<string name="title_encryptToFile">Encrypt To File</string>
<string name="title_decryptToFile">Decrypt To File</string>
- <string name="title_addAccount">Add Account</string>
<string name="title_importKeys">Import Keys</string>
<string name="title_exportKey">Export Key</string>
<string name="title_exportKeys">Export Keys</string>
@@ -203,7 +202,6 @@
<string name="selectEncryptionOrSignatureKey">Select at least one encryption key or a signature key.</string>
<string name="specifyFileToEncryptTo">Please specify which file to encrypt to.\nWARNING! File will be overwritten if it exists.</string>
<string name="specifyFileToDecryptTo">Please specify which file to decrypt to.\nWARNING! File will be overwritten if it exists.</string>
- <string name="specifyGoogleMailAccount">Specify the Google Mail account you want to add.</string>
<string name="specifyFileToImportFrom">Please specify which file to import keys from. (.asc or .gpg)</string>
<string name="specifyFileToExportTo">Please specify which file to export to.\nWARNING! File will be overwritten if it exists.</string>
<string name="specifyFileToExportSecretKeysTo">Please specify which file to export to.\nWARNING! You are about to export SECRET keys.\nWARNING! File will be overwritten if it exists.</string>
@@ -236,8 +234,6 @@
<string name="error_noSecretKeyFound">no suitable secret key found</string>
<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/org_apg/src/org/apg/provider/Accounts.java b/org_apg/src/org/apg/provider/Accounts.java
deleted file mode 100644
index b95f079df..000000000
--- a/org_apg/src/org/apg/provider/Accounts.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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.
- */
-
-package org.apg.provider;
-
-import android.provider.BaseColumns;
-
-public class Accounts implements BaseColumns {
- public static final String TABLE_NAME = "accounts";
-
- public static final String _ID_type = "INTEGER PRIMARY KEY";
- public static final String NAME = "c_name";
- public static final String NAME_type = "TEXT";
-}
diff --git a/org_apg/src/org/apg/provider/Database.java b/org_apg/src/org/apg/provider/Database.java
index 0d47cf3ce..bbfd400cf 100644
--- a/org_apg/src/org/apg/provider/Database.java
+++ b/org_apg/src/org/apg/provider/Database.java
@@ -116,9 +116,6 @@ public class Database extends SQLiteOpenHelper {
UserIds.USER_ID + " " + UserIds.USER_ID_type + "," +
UserIds.RANK + " " + UserIds.RANK_type + ");");
- db.execSQL("CREATE TABLE " + Accounts.TABLE_NAME + " (" +
- Accounts._ID + " " + Accounts._ID_type + "," +
- Accounts.NAME + " " + Accounts.NAME_type + ");");
}
@Override
diff --git a/org_apg/src/org/apg/ui/MainActivity.java b/org_apg/src/org/apg/ui/MainActivity.java
index 8c985c2ac..240c265ea 100644
--- a/org_apg/src/org/apg/ui/MainActivity.java
+++ b/org_apg/src/org/apg/ui/MainActivity.java
@@ -22,22 +22,14 @@ import java.util.regex.Pattern;
import org.apg.Apg;
import org.apg.Id;
-import org.apg.Id.dialog;
-import org.apg.Id.menu;
-import org.apg.Id.menu.option;
-import org.apg.provider.Accounts;
import org.spongycastle.jce.provider.BouncyCastleProvider;
import org.apg.R;
import android.app.AlertDialog;
import android.app.Dialog;
-import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
-import android.database.Cursor;
-import android.database.SQLException;
-import android.net.Uri;
import android.os.Bundle;
import android.text.util.Linkify;
import android.text.util.Linkify.TransformFilter;
@@ -48,24 +40,13 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
-import android.view.ViewGroup;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
-import android.widget.CursorAdapter;
-import android.widget.EditText;
-import android.widget.ListView;
import android.widget.TextView;
-import android.widget.Toast;
public class MainActivity extends BaseActivity {
static {
Security.addProvider(new BouncyCastleProvider());
}
-
- private ListView mAccounts = null;
- private AccountListAdapter mListAdapter = null;
- private Cursor mAccountCursor;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -76,7 +57,6 @@ public class MainActivity extends BaseActivity {
Button decryptMessageButton = (Button) findViewById(R.id.btn_decryptMessage);
Button encryptFileButton = (Button) findViewById(R.id.btn_encryptFile);
Button decryptFileButton = (Button) findViewById(R.id.btn_decryptFile);
- mAccounts = (ListView) findViewById(R.id.accounts);
encryptMessageButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
@@ -110,25 +90,6 @@ public class MainActivity extends BaseActivity {
}
});
- mAccountCursor =
- Apg.getDatabase().db().query(Accounts.TABLE_NAME,
- new String[] {
- Accounts._ID,
- Accounts.NAME,
- }, null, null, null, null, Accounts.NAME + " ASC");
- startManagingCursor(mAccountCursor);
-
- mListAdapter = new AccountListAdapter(this, mAccountCursor);
- mAccounts.setAdapter(mListAdapter);
- mAccounts.setOnItemClickListener(new OnItemClickListener() {
- public void onItemClick(AdapterView<?> arg0, View view, int index, long id) {
- String accountName = (String) mAccounts.getItemAtPosition(index);
- startActivity(new Intent(MainActivity.this, MailListActivity.class)
- .putExtra(MailListActivity.EXTRA_ACCOUNT, accountName));
- }
- });
- registerForContextMenu(mAccounts);
-
if (!mPreferences.hasSeenHelp()) {
showDialog(Id.dialog.help);
}
@@ -141,207 +102,133 @@ public class MainActivity extends BaseActivity {
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
- case Id.dialog.new_account: {
- AlertDialog.Builder alert = new AlertDialog.Builder(this);
-
- alert.setTitle(R.string.title_addAccount);
- alert.setMessage(R.string.specifyGoogleMailAccount);
-
- LayoutInflater inflater =
- (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- 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() {
- public void onClick(DialogInterface dialog, int id) {
- MainActivity.this.removeDialog(Id.dialog.new_account);
- String accountName = "" + input.getText();
-
- 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_accountReadingNotAllowed)),
- Toast.LENGTH_SHORT).show();
- return;
- }
-
- ContentValues values = new ContentValues();
- values.put(Accounts.NAME, accountName);
- try {
- Apg.getDatabase().db().insert(Accounts.TABLE_NAME,
- Accounts.NAME, values);
- mAccountCursor.requery();
- mListAdapter.notifyDataSetChanged();
- } catch (SQLException e) {
- Toast.makeText(MainActivity.this,
- getString(R.string.errorMessage,
- getString(R.string.error_addingAccountFailed,
- accountName)),
- Toast.LENGTH_SHORT).show();
- }
- }
- });
-
- alert.setNegativeButton(android.R.string.cancel,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- MainActivity.this.removeDialog(Id.dialog.new_account);
- }
- });
-
- return alert.create();
- }
- case Id.dialog.change_log: {
- AlertDialog.Builder alert = new AlertDialog.Builder(this);
-
- alert.setTitle("Changes " + Apg.getFullVersion(this));
- LayoutInflater inflater =
- (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- View layout = inflater.inflate(R.layout.info, null);
- TextView message = (TextView) layout.findViewById(R.id.message);
-
- message.setText("Changes:\n" +
- "* \n" +
- "\n" +
- "WARNING: be careful editing your existing keys, as they " +
- "WILL be stripped of certificates right now.\n" +
- "\n" +
- "Also: key cross-certification is NOT supported, so signing " +
- "with those keys will get a warning when the signature is " +
- "checked.\n" +
- "\n" +
- "I hope APG continues to be useful to you, please send " +
- "bug reports, feature wishes, feedback.");
- alert.setView(layout);
-
- alert.setCancelable(false);
- alert.setPositiveButton(android.R.string.ok,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- MainActivity.this.removeDialog(Id.dialog.change_log);
- mPreferences.setHasSeenChangeLog(
- Apg.getVersion(MainActivity.this), true);
- }
- });
-
- return alert.create();
- }
+ case Id.dialog.change_log: {
+ AlertDialog.Builder alert = new AlertDialog.Builder(this);
+
+ alert.setTitle("Changes " + Apg.getFullVersion(this));
+ LayoutInflater inflater = (LayoutInflater) this
+ .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ View layout = inflater.inflate(R.layout.info, null);
+ TextView message = (TextView) layout.findViewById(R.id.message);
+
+ message.setText("Changes:\n" + "* \n" + "\n"
+ + "WARNING: be careful editing your existing keys, as they "
+ + "WILL be stripped of certificates right now.\n" + "\n"
+ + "Also: key cross-certification is NOT supported, so signing "
+ + "with those keys will get a warning when the signature is " + "checked.\n"
+ + "\n" + "I hope APG continues to be useful to you, please send "
+ + "bug reports, feature wishes, feedback.");
+ alert.setView(layout);
+
+ alert.setCancelable(false);
+ alert.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ MainActivity.this.removeDialog(Id.dialog.change_log);
+ mPreferences.setHasSeenChangeLog(Apg.getVersion(MainActivity.this), true);
+ }
+ });
+
+ return alert.create();
+ }
- case Id.dialog.help: {
- AlertDialog.Builder alert = new AlertDialog.Builder(this);
-
- alert.setTitle(R.string.title_help);
-
- LayoutInflater inflater =
- (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- View layout = inflater.inflate(R.layout.info, null);
- TextView message = (TextView) layout.findViewById(R.id.message);
- message.setText(R.string.text_help);
-
- TransformFilter packageNames = new TransformFilter() {
- public final String transformUrl(final Matcher match, String url) {
- String name = match.group(1).toLowerCase();
- if (name.equals("astro")) {
- return "com.metago.astro";
- } else if (name.equals("k-9 mail")) {
- return "com.fsck.k9";
- } else {
- return "org.openintents.filemanager";
- }
+ case Id.dialog.help: {
+ AlertDialog.Builder alert = new AlertDialog.Builder(this);
+
+ alert.setTitle(R.string.title_help);
+
+ LayoutInflater inflater = (LayoutInflater) this
+ .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ View layout = inflater.inflate(R.layout.info, null);
+ TextView message = (TextView) layout.findViewById(R.id.message);
+ message.setText(R.string.text_help);
+
+ TransformFilter packageNames = new TransformFilter() {
+ public final String transformUrl(final Matcher match, String url) {
+ String name = match.group(1).toLowerCase();
+ if (name.equals("astro")) {
+ return "com.metago.astro";
+ } else if (name.equals("k-9 mail")) {
+ return "com.fsck.k9";
+ } else {
+ return "org.openintents.filemanager";
}
- };
+ }
+ };
- Pattern pattern = Pattern.compile("(OI File Manager|ASTRO|K-9 Mail)");
- String scheme = "market://search?q=pname:";
- message.setAutoLinkMask(0);
- Linkify.addLinks(message, pattern, scheme, null, packageNames);
+ Pattern pattern = Pattern.compile("(OI File Manager|ASTRO|K-9 Mail)");
+ String scheme = "market://search?q=pname:";
+ message.setAutoLinkMask(0);
+ Linkify.addLinks(message, pattern, scheme, null, packageNames);
- alert.setView(layout);
+ alert.setView(layout);
- alert.setPositiveButton(android.R.string.ok,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- MainActivity.this.removeDialog(Id.dialog.help);
- mPreferences.setHasSeenHelp(true);
- }
- });
+ alert.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ MainActivity.this.removeDialog(Id.dialog.help);
+ mPreferences.setHasSeenHelp(true);
+ }
+ });
- return alert.create();
- }
+ return alert.create();
+ }
- default: {
- return super.onCreateDialog(id);
- }
+ default: {
+ return super.onCreateDialog(id);
+ }
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- menu.add(0, Id.menu.option.manage_public_keys, 0, R.string.menu_managePublicKeys)
- .setIcon(android.R.drawable.ic_menu_manage);
- menu.add(0, Id.menu.option.manage_secret_keys, 1, R.string.menu_manageSecretKeys)
- .setIcon(android.R.drawable.ic_menu_manage);
- menu.add(1, Id.menu.option.create, 2, R.string.menu_addAccount)
- .setIcon(android.R.drawable.ic_menu_add);
- menu.add(2, Id.menu.option.preferences, 3, R.string.menu_preferences)
- .setIcon(android.R.drawable.ic_menu_preferences);
- menu.add(2, Id.menu.option.key_server, 4, R.string.menu_keyServer)
- .setIcon(android.R.drawable.ic_menu_search);
- menu.add(3, Id.menu.option.about, 5, R.string.menu_about)
- .setIcon(android.R.drawable.ic_menu_info_details);
- menu.add(3, Id.menu.option.help, 6, R.string.menu_help)
- .setIcon(android.R.drawable.ic_menu_help);
+ menu.add(0, Id.menu.option.manage_public_keys, 0, R.string.menu_managePublicKeys).setIcon(
+ android.R.drawable.ic_menu_manage);
+ menu.add(0, Id.menu.option.manage_secret_keys, 1, R.string.menu_manageSecretKeys).setIcon(
+ android.R.drawable.ic_menu_manage);
+ menu.add(1, Id.menu.option.create, 2, R.string.menu_addAccount).setIcon(
+ android.R.drawable.ic_menu_add);
+ menu.add(2, Id.menu.option.preferences, 3, R.string.menu_preferences).setIcon(
+ android.R.drawable.ic_menu_preferences);
+ menu.add(2, Id.menu.option.key_server, 4, R.string.menu_keyServer).setIcon(
+ android.R.drawable.ic_menu_search);
+ menu.add(3, Id.menu.option.about, 5, R.string.menu_about).setIcon(
+ android.R.drawable.ic_menu_info_details);
+ menu.add(3, Id.menu.option.help, 6, R.string.menu_help).setIcon(
+ android.R.drawable.ic_menu_help);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
- case Id.menu.option.create: {
- showDialog(Id.dialog.new_account);
- return true;
- }
+ case Id.menu.option.create: {
+ showDialog(Id.dialog.new_account);
+ return true;
+ }
- case Id.menu.option.manage_public_keys: {
- startActivity(new Intent(this, PublicKeyListActivity.class));
- return true;
- }
+ case Id.menu.option.manage_public_keys: {
+ startActivity(new Intent(this, PublicKeyListActivity.class));
+ return true;
+ }
- case Id.menu.option.manage_secret_keys: {
- startActivity(new Intent(this, SecretKeyListActivity.class));
- return true;
- }
+ case Id.menu.option.manage_secret_keys: {
+ startActivity(new Intent(this, SecretKeyListActivity.class));
+ return true;
+ }
- case Id.menu.option.help: {
- showDialog(Id.dialog.help);
- return true;
- }
+ case Id.menu.option.help: {
+ showDialog(Id.dialog.help);
+ return true;
+ }
- case Id.menu.option.key_server: {
- startActivity(new Intent(this, KeyServerQueryActivity.class));
- return true;
- }
+ case Id.menu.option.key_server: {
+ startActivity(new Intent(this, KeyServerQueryActivity.class));
+ return true;
+ }
- default: {
- return super.onOptionsItemSelected(item);
- }
+ default: {
+ return super.onOptionsItemSelected(item);
+ }
}
}
@@ -356,64 +243,4 @@ public class MainActivity extends BaseActivity {
}
}
- @Override
- public boolean onContextItemSelected(MenuItem menuItem) {
- AdapterView.AdapterContextMenuInfo info =
- (AdapterView.AdapterContextMenuInfo) menuItem.getMenuInfo();
-
- switch (menuItem.getItemId()) {
- case Id.menu.delete: {
- Apg.getDatabase().db().delete(Accounts.TABLE_NAME,
- Accounts._ID + " = ?",
- new String[] { "" + info.id });
- mAccountCursor.requery();
- mListAdapter.notifyDataSetChanged();
- return true;
- }
-
- default: {
- return super.onContextItemSelected(menuItem);
- }
- }
- }
-
-
- private static class AccountListAdapter extends CursorAdapter {
- private LayoutInflater mInflater;
-
- public AccountListAdapter(Context context, Cursor cursor) {
- super(context, cursor);
- mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- }
-
- @Override
- public Object getItem(int position) {
- Cursor c = getCursor();
- c.moveToPosition(position);
- return c.getString(c.getColumnIndex(Accounts.NAME));
- }
-
- @Override
- public int getCount() {
- return super.getCount();
- }
-
- @Override
- public View newView(Context context, Cursor cursor, ViewGroup parent) {
- return mInflater.inflate(R.layout.account_item, null);
- }
-
- @Override
- public void bindView(View view, Context context, Cursor cursor) {
- TextView nameTextView = (TextView) view.findViewById(R.id.accountName);
- int nameIndex = cursor.getColumnIndex(Accounts.NAME);
- final String account = cursor.getString(nameIndex);
- nameTextView.setText(account);
- }
-
- @Override
- public boolean isEnabled(int position) {
- return true;
- }
- }
} \ No newline at end of file