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);
+ case Id.dialog.change_log: {
+ AlertDialog.Builder alert = new AlertDialog.Builder(this);
- LayoutInflater inflater =
- (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- View view = inflater.inflate(R.layout.add_account_dialog, null);
+ 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);
- final EditText input = (EditText) view.findViewById(R.id.input);
- alert.setView(view);
+ 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.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();
+ 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);
+ }
+ });
- 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;
- }
+ return alert.create();
+ }
- 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();
- }
- }
- });
+ case Id.dialog.help: {
+ AlertDialog.Builder alert = new AlertDialog.Builder(this);
- alert.setNegativeButton(android.R.string.cancel,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- MainActivity.this.removeDialog(Id.dialog.new_account);
- }
- });
+ alert.setTitle(R.string.title_help);
- return alert.create();
- }
+ 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);
- 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";
- }
+ 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