diff options
author | Dominik <dominik@dominikschuermann.de> | 2012-03-10 21:36:08 +0100 |
---|---|---|
committer | Dominik <dominik@dominikschuermann.de> | 2012-03-10 21:36:08 +0100 |
commit | 9ce7842ac9e009b2315242150ef57b25704b5c87 (patch) | |
tree | bc4f2e0760e6bd8182ab7a1a5d005f0a3c38bd53 /org_apg | |
parent | 328da74eb20e6e6c731dc2c25dbc97240d63a8ef (diff) | |
download | open-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
Diffstat (limited to 'org_apg')
-rw-r--r-- | org_apg/res/layout/add_account_dialog.xml | 31 | ||||
-rw-r--r-- | org_apg/res/values/strings.xml | 4 | ||||
-rw-r--r-- | org_apg/src/org/apg/provider/Accounts.java | 27 | ||||
-rw-r--r-- | org_apg/src/org/apg/provider/Database.java | 3 | ||||
-rw-r--r-- | org_apg/src/org/apg/ui/MainActivity.java | 379 |
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 |