From 9ce7842ac9e009b2315242150ef57b25704b5c87 Mon Sep 17 00:00:00 2001 From: Dominik Date: Sat, 10 Mar 2012 21:36:08 +0100 Subject: dropping gmail support, k9 mail support is more important, in any case gmail support is not working as of android 2.3 and later --- org_apg/res/layout/add_account_dialog.xml | 31 --- org_apg/res/values/strings.xml | 4 - org_apg/src/org/apg/provider/Accounts.java | 27 -- org_apg/src/org/apg/provider/Database.java | 3 - org_apg/src/org/apg/ui/MainActivity.java | 379 ++++++++--------------------- 5 files changed, 103 insertions(+), 341 deletions(-) delete mode 100644 org_apg/res/layout/add_account_dialog.xml delete mode 100644 org_apg/src/org/apg/provider/Accounts.java (limited to 'org_apg') 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 @@ - - - - - - - - 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 @@ "Send Mail..." Encrypt To File Decrypt To File - Add Account Import Keys Export Key Export Keys @@ -203,7 +202,6 @@ Select at least one encryption key or a signature key. Please specify which file to encrypt to.\nWARNING! File will be overwritten if it exists. Please specify which file to decrypt to.\nWARNING! File will be overwritten if it exists. - Specify the Google Mail account you want to add. Please specify which file to import keys from. (.asc or .gpg) Please specify which file to export to.\nWARNING! File will be overwritten if it exists. Please specify which file to export to.\nWARNING! You are about to export SECRET keys.\nWARNING! File will be overwritten if it exists. @@ -236,8 +234,6 @@ no suitable secret key found 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/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 - * - * 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 -- cgit v1.2.3