aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik <dominik@dominikschuermann.de>2012-06-20 15:27:45 +0300
committerDominik <dominik@dominikschuermann.de>2012-06-20 15:27:45 +0300
commitc5ed6ce6f7dcb892cbdfac5bd591cb4e6e798961 (patch)
tree8feec5c8e184126bbec595912cbae322594eff7b
parente9c01957f4797d13518115e7e26ed015547f0891 (diff)
downloadopen-keychain-c5ed6ce6f7dcb892cbdfac5bd591cb4e6e798961.tar.gz
open-keychain-c5ed6ce6f7dcb892cbdfac5bd591cb4e6e798961.tar.bz2
open-keychain-c5ed6ce6f7dcb892cbdfac5bd591cb4e6e798961.zip
seperating intent action constants into activities as it is best practice, restructering...
-rw-r--r--org_apg/AndroidManifest.xml2
-rw-r--r--org_apg/src/org/thialfihar/android/apg/Constants.java14
-rw-r--r--org_apg/src/org/thialfihar/android/apg/deprecated/ApgService2.java2
-rw-r--r--org_apg/src/org/thialfihar/android/apg/deprecated/GeneralActivity.java196
-rw-r--r--org_apg/src/org/thialfihar/android/apg/deprecated/PausableThread.java (renamed from org_apg/src/org/thialfihar/android/apg/PausableThread.java)2
-rw-r--r--org_apg/src/org/thialfihar/android/apg/helper/PGPHelper.java34
-rw-r--r--org_apg/src/org/thialfihar/android/apg/helper/Preferences.java (renamed from org_apg/src/org/thialfihar/android/apg/Preferences.java)8
-rw-r--r--org_apg/src/org/thialfihar/android/apg/passphrase/PassphraseCacheService.java2
-rw-r--r--org_apg/src/org/thialfihar/android/apg/service/ApgService.java2
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/BaseActivity.java4
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/DecryptActivity.java34
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/EditKeyActivity.java25
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/EncryptActivity.java35
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/GeneralActivity.java191
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/ImportFromQRCodeActivity.java103
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/KeyListActivity.java5
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/KeyServerExportActivity.java6
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/KeyServerQueryActivity.java24
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/MailListActivity.java4
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/MainActivity.java6
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/PreferencesActivity.java2
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/PublicKeyListActivity.java8
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/SecretKeyListActivity.java4
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/SelectPublicKeyListActivity.java6
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/SelectSecretKeyListActivity.java6
-rw-r--r--org_apg/src/org/thialfihar/android/apg/ui/SignKeyActivity.java2
-rw-r--r--org_apg/src/org/thialfihar/android/apg/util/HkpKeyServer.java (renamed from org_apg/src/org/thialfihar/android/apg/HkpKeyServer.java)2
-rw-r--r--org_apg/src/org/thialfihar/android/apg/util/KeyServer.java (renamed from org_apg/src/org/thialfihar/android/apg/KeyServer.java)2
28 files changed, 391 insertions, 340 deletions
diff --git a/org_apg/AndroidManifest.xml b/org_apg/AndroidManifest.xml
index 34d34c4ae..4b38560ae 100644
--- a/org_apg/AndroidManifest.xml
+++ b/org_apg/AndroidManifest.xml
@@ -169,7 +169,7 @@
</intent-filter>
</activity>
<activity
- android:name=".ui.GeneralActivity"
+ android:name=".deprecated.GeneralActivity"
android:configChanges="keyboardHidden|orientation|keyboard"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog" >
diff --git a/org_apg/src/org/thialfihar/android/apg/Constants.java b/org_apg/src/org/thialfihar/android/apg/Constants.java
index a9c4d04df..58a4ecbe7 100644
--- a/org_apg/src/org/thialfihar/android/apg/Constants.java
+++ b/org_apg/src/org/thialfihar/android/apg/Constants.java
@@ -21,6 +21,20 @@ import android.os.Environment;
public final class Constants {
public static final String TAG = "APG";
+
+ public static final String PACKAGE_NAME = "org.thialfihar.android.apg";
+
+ /*
+ * TODO:
+ *
+ * better naming scheme would be:
+ *
+ * - x.action.DECRYPT (with action as preferred in Android)
+ *
+ * - even better and shorter (without .android.): org.apg.action.DECRYPT
+ */
+ public static final String INTENT_PREFIX = "org.thialfihar.android.apg.intent.";
+
public static final class path {
public static final String APP_DIR = Environment.getExternalStorageDirectory() + "/APG";
diff --git a/org_apg/src/org/thialfihar/android/apg/deprecated/ApgService2.java b/org_apg/src/org/thialfihar/android/apg/deprecated/ApgService2.java
index e424c200c..955d9c8ff 100644
--- a/org_apg/src/org/thialfihar/android/apg/deprecated/ApgService2.java
+++ b/org_apg/src/org/thialfihar/android/apg/deprecated/ApgService2.java
@@ -27,12 +27,12 @@ import java.util.Iterator;
import org.thialfihar.android.apg.deprecated.IApgService2;
import org.thialfihar.android.apg.Id;
-import org.thialfihar.android.apg.Preferences;
import org.thialfihar.android.apg.R;
import org.thialfihar.android.apg.deprecated.IApgService2.Stub;
import org.thialfihar.android.apg.Id.database;
import org.thialfihar.android.apg.R.string;
import org.thialfihar.android.apg.helper.PGPHelper;
+import org.thialfihar.android.apg.helper.Preferences;
import org.thialfihar.android.apg.passphrase.PassphraseCacheService;
import org.thialfihar.android.apg.provider.KeyRings;
import org.thialfihar.android.apg.provider.Keys;
diff --git a/org_apg/src/org/thialfihar/android/apg/deprecated/GeneralActivity.java b/org_apg/src/org/thialfihar/android/apg/deprecated/GeneralActivity.java
new file mode 100644
index 000000000..7a3d99232
--- /dev/null
+++ b/org_apg/src/org/thialfihar/android/apg/deprecated/GeneralActivity.java
@@ -0,0 +1,196 @@
+///*
+// * 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.thialfihar.android.apg.deprecated;
+//
+//import java.io.ByteArrayInputStream;
+//import java.io.FileNotFoundException;
+//import java.io.IOException;
+//import java.io.InputStream;
+//import java.util.Vector;
+//
+//import org.thialfihar.android.apg.R;
+//import org.thialfihar.android.apg.Id;
+//import org.thialfihar.android.apg.helper.PGPHelper;
+//import org.thialfihar.android.apg.ui.BaseActivity;
+//import org.thialfihar.android.apg.ui.DecryptActivity;
+//import org.thialfihar.android.apg.ui.EncryptActivity;
+//import org.thialfihar.android.apg.ui.PublicKeyListActivity;
+//import org.thialfihar.android.apg.ui.SecretKeyListActivity;
+//import org.thialfihar.android.apg.util.Choice;
+//
+//import android.content.Intent;
+//import android.net.Uri;
+//import android.os.Bundle;
+//import android.view.View;
+//import android.view.View.OnClickListener;
+//import android.widget.AdapterView;
+//import android.widget.AdapterView.OnItemClickListener;
+//import android.widget.ArrayAdapter;
+//import android.widget.Button;
+//import android.widget.ListView;
+//import android.widget.Toast;
+//
+//public class GeneralActivity extends BaseActivity {
+// private Intent mIntent;
+// private ArrayAdapter<Choice> mAdapter;
+// private ListView mList;
+// private Button mCancelButton;
+// private String mDataString;
+// private Uri mDataUri;
+//
+// @Override
+// protected void onCreate(Bundle savedInstanceState) {
+// super.onCreate(savedInstanceState);
+//
+// setContentView(R.layout.general);
+//
+// mIntent = getIntent();
+//
+// InputStream inStream = null;
+// {
+// String data = mIntent.getStringExtra(Intent.EXTRA_TEXT);
+// if (data != null) {
+// mDataString = data;
+// inStream = new ByteArrayInputStream(data.getBytes());
+// }
+// }
+//
+// if (inStream == null) {
+// Uri data = mIntent.getData();
+// if (data != null) {
+// mDataUri = data;
+// try {
+// inStream = getContentResolver().openInputStream(data);
+// } catch (FileNotFoundException e) {
+// // didn't work
+// Toast.makeText(this, "failed to open stream", Toast.LENGTH_SHORT).show();
+// }
+// }
+// }
+//
+// if (inStream == null) {
+// Toast.makeText(this, "no data found", Toast.LENGTH_SHORT).show();
+// finish();
+// return;
+// }
+//
+// int contentType = Id.content.unknown;
+// try {
+// contentType = PGPHelper.getStreamContent(this, inStream);
+// inStream.close();
+// } catch (IOException e) {
+// // just means that there's no PGP data in there
+// }
+//
+// mList = (ListView) findViewById(R.id.options);
+// Vector<Choice> choices = new Vector<Choice>();
+//
+// if (contentType == Id.content.keys) {
+// choices.add(new Choice(Id.choice.action.import_public,
+// getString(R.string.action_importPublic)));
+// choices.add(new Choice(Id.choice.action.import_secret,
+// getString(R.string.action_importSecret)));
+// }
+//
+// if (contentType == Id.content.encrypted_data) {
+// choices.add(new Choice(Id.choice.action.decrypt, getString(R.string.action_decrypt)));
+// }
+//
+// if (contentType == Id.content.unknown) {
+// choices.add(new Choice(Id.choice.action.encrypt, getString(R.string.action_encrypt)));
+// }
+//
+// mAdapter = new ArrayAdapter<Choice>(this, android.R.layout.simple_list_item_1, choices);
+// mList.setAdapter(mAdapter);
+//
+// mList.setOnItemClickListener(new OnItemClickListener() {
+// public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
+// clicked(mAdapter.getItem(arg2).getId());
+// }
+// });
+//
+// mCancelButton = (Button) findViewById(R.id.btn_cancel);
+// mCancelButton.setOnClickListener(new OnClickListener() {
+// public void onClick(View v) {
+// GeneralActivity.this.finish();
+// }
+// });
+//
+// if (choices.size() == 1) {
+// clicked(choices.get(0).getId());
+// }
+// }
+//
+// private void clicked(int id) {
+// Intent intent = new Intent();
+// switch (id) {
+// case Id.choice.action.encrypt: {
+// intent.setClass(this, EncryptActivity.class);
+// if (mDataString != null) {
+// intent.setAction(EncryptActivity.ENCRYPT);
+// intent.putExtra(PGPHelper.EXTRA_TEXT, mDataString);
+// } else if (mDataUri != null) {
+// intent.setAction(EncryptActivity.ENCRYPT_FILE);
+// intent.setDataAndType(mDataUri, mIntent.getType());
+// }
+//
+// break;
+// }
+//
+// case Id.choice.action.decrypt: {
+// intent.setClass(this, DecryptActivity.class);
+// if (mDataString != null) {
+// intent.setAction(DecryptActivity.DECRYPT);
+// intent.putExtra(PGPHelper.EXTRA_TEXT, mDataString);
+// } else if (mDataUri != null) {
+// intent.setAction(DecryptActivity.DECRYPT_FILE);
+// intent.setDataAndType(mDataUri, mIntent.getType());
+// }
+//
+// break;
+// }
+//
+// case Id.choice.action.import_public: {
+// intent.setClass(this, PublicKeyListActivity.class);
+// intent.setAction(PublicKeyListActivity.IMPORT);
+// if (mDataString != null) {
+// intent.putExtra(PGPHelper.EXTRA_TEXT, mDataString);
+// } else if (mDataUri != null) {
+// intent.setDataAndType(mDataUri, mIntent.getType());
+// }
+// break;
+// }
+//
+// case Id.choice.action.import_secret: {
+// intent.setClass(this, SecretKeyListActivity.class);
+// intent.setAction(SecretKeyListActivity.IMPORT);
+// if (mDataString != null) {
+// intent.putExtra(PGPHelper.EXTRA_TEXT, mDataString);
+// } else if (mDataUri != null) {
+// intent.setDataAndType(mDataUri, mIntent.getType());
+// }
+// break;
+// }
+//
+// default: {
+// // shouldn't happen
+// return;
+// }
+// }
+//
+// startActivity(intent);
+// finish();
+// }
+//}
diff --git a/org_apg/src/org/thialfihar/android/apg/PausableThread.java b/org_apg/src/org/thialfihar/android/apg/deprecated/PausableThread.java
index 87e7c7ee9..a4541c2ae 100644
--- a/org_apg/src/org/thialfihar/android/apg/PausableThread.java
+++ b/org_apg/src/org/thialfihar/android/apg/deprecated/PausableThread.java
@@ -12,7 +12,7 @@
* limitations under the License.
*/
-package org.thialfihar.android.apg;
+package org.thialfihar.android.apg.deprecated;
public class PausableThread extends Thread {
private boolean mPaused = false;
diff --git a/org_apg/src/org/thialfihar/android/apg/helper/PGPHelper.java b/org_apg/src/org/thialfihar/android/apg/helper/PGPHelper.java
index 5eb83363f..a0cbaac0c 100644
--- a/org_apg/src/org/thialfihar/android/apg/helper/PGPHelper.java
+++ b/org_apg/src/org/thialfihar/android/apg/helper/PGPHelper.java
@@ -72,7 +72,6 @@ import org.thialfihar.android.apg.Id.type;
import org.thialfihar.android.apg.Id.choice.algorithm;
import org.thialfihar.android.apg.Id.choice.compression;
import org.thialfihar.android.apg.Id.choice.usage;
-import org.thialfihar.android.apg.KeyServer.AddKeyException;
import org.thialfihar.android.apg.R.string;
import org.thialfihar.android.apg.passphrase.CachedPassPhrase;
import org.thialfihar.android.apg.provider.DataProvider;
@@ -85,14 +84,15 @@ import org.thialfihar.android.apg.ui.BaseActivity;
import org.thialfihar.android.apg.ui.widget.KeyEditor;
import org.thialfihar.android.apg.ui.widget.SectionView;
import org.thialfihar.android.apg.ui.widget.UserIdEditor;
+import org.thialfihar.android.apg.util.HkpKeyServer;
import org.thialfihar.android.apg.util.InputData;
import org.thialfihar.android.apg.util.IterableIterator;
+import org.thialfihar.android.apg.util.KeyServer;
import org.thialfihar.android.apg.util.PositionAwareInputStream;
import org.thialfihar.android.apg.util.Primes;
+import org.thialfihar.android.apg.util.KeyServer.AddKeyException;
import org.thialfihar.android.apg.Constants;
-import org.thialfihar.android.apg.HkpKeyServer;
import org.thialfihar.android.apg.Id;
-import org.thialfihar.android.apg.KeyServer;
import org.thialfihar.android.apg.ProgressDialogUpdater;
import org.thialfihar.android.apg.R;
@@ -155,30 +155,6 @@ public class PGPHelper {
Security.addProvider(new BouncyCastleProvider());
}
- public static final String PACKAGE_NAME = "org.thialfihar.android.apg";
-
- private static final String INTENT_PREFIX = "org.thialfihar.android.apg.intent.";
-
- public static class Intent {
- public static final String DECRYPT = INTENT_PREFIX + "DECRYPT";
- public static final String ENCRYPT = INTENT_PREFIX + "ENCRYPT";
- public static final String DECRYPT_FILE = INTENT_PREFIX + "DECRYPT_FILE";
- public static final String ENCRYPT_FILE = INTENT_PREFIX + "ENCRYPT_FILE";
- public static final String DECRYPT_AND_RETURN = INTENT_PREFIX + "DECRYPT_AND_RETURN";
- public static final String ENCRYPT_AND_RETURN = INTENT_PREFIX + "ENCRYPT_AND_RETURN";
- public static final String SELECT_PUBLIC_KEYS = INTENT_PREFIX + "SELECT_PUBLIC_KEYS";
- public static final String SELECT_SECRET_KEY = INTENT_PREFIX + "SELECT_SECRET_KEY";
- public static final String IMPORT = INTENT_PREFIX + "IMPORT";
- public static final String LOOK_UP_KEY_ID = INTENT_PREFIX + "LOOK_UP_KEY_ID";
- public static final String LOOK_UP_KEY_ID_AND_RETURN = INTENT_PREFIX
- + "LOOK_UP_KEY_ID_AND_RETURN";
- public static final String GENERATE_SIGNATURE = INTENT_PREFIX + "GENERATE_SIGNATURE";
- public static final String EXPORT_KEY_TO_SERVER = INTENT_PREFIX + "EXPORT_KEY_TO_SERVER";
- public static final String IMPORT_FROM_QR_CODE = INTENT_PREFIX + "IMPORT_FROM_QR_CODE";
- public static final String CREATE_KEY = INTENT_PREFIX + "CREATE_KEY";
- public static final String EDIT_KEY = INTENT_PREFIX + "EDIT_KEY";
- }
-
public static final String EXTRA_TEXT = "text";
public static final String EXTRA_DATA = "data";
public static final String EXTRA_ERROR = "error";
@@ -2267,7 +2243,7 @@ public class PGPHelper {
public static boolean isReleaseVersion(Context context) {
try {
- PackageInfo pi = context.getPackageManager().getPackageInfo(PACKAGE_NAME, 0);
+ PackageInfo pi = context.getPackageManager().getPackageInfo(Constants.PACKAGE_NAME, 0);
if (pi.versionCode % 100 == 99) {
return true;
} else {
@@ -2284,7 +2260,7 @@ public class PGPHelper {
return VERSION;
}
try {
- PackageInfo pi = context.getPackageManager().getPackageInfo(PACKAGE_NAME, 0);
+ PackageInfo pi = context.getPackageManager().getPackageInfo(Constants.PACKAGE_NAME, 0);
VERSION = pi.versionName;
return VERSION;
} catch (NameNotFoundException e) {
diff --git a/org_apg/src/org/thialfihar/android/apg/Preferences.java b/org_apg/src/org/thialfihar/android/apg/helper/Preferences.java
index 5c7c348ed..f4e15e134 100644
--- a/org_apg/src/org/thialfihar/android/apg/Preferences.java
+++ b/org_apg/src/org/thialfihar/android/apg/helper/Preferences.java
@@ -15,10 +15,16 @@
* limitations under the License.
*/
-package org.thialfihar.android.apg;
+package org.thialfihar.android.apg.helper;
import org.spongycastle.bcpg.HashAlgorithmTags;
import org.spongycastle.openpgp.PGPEncryptedData;
+import org.thialfihar.android.apg.Constants;
+import org.thialfihar.android.apg.Id;
+import org.thialfihar.android.apg.Constants.defaults;
+import org.thialfihar.android.apg.Constants.pref;
+import org.thialfihar.android.apg.Id.choice;
+import org.thialfihar.android.apg.Id.choice.compression;
import android.content.Context;
import android.content.SharedPreferences;
diff --git a/org_apg/src/org/thialfihar/android/apg/passphrase/PassphraseCacheService.java b/org_apg/src/org/thialfihar/android/apg/passphrase/PassphraseCacheService.java
index d38d0391f..9325268fa 100644
--- a/org_apg/src/org/thialfihar/android/apg/passphrase/PassphraseCacheService.java
+++ b/org_apg/src/org/thialfihar/android/apg/passphrase/PassphraseCacheService.java
@@ -14,8 +14,8 @@
package org.thialfihar.android.apg.passphrase;
-import org.thialfihar.android.apg.Preferences;
import org.thialfihar.android.apg.helper.PGPHelper;
+import org.thialfihar.android.apg.helper.Preferences;
import android.app.Service;
import android.content.Context;
diff --git a/org_apg/src/org/thialfihar/android/apg/service/ApgService.java b/org_apg/src/org/thialfihar/android/apg/service/ApgService.java
index ca9d7a817..43b13ba77 100644
--- a/org_apg/src/org/thialfihar/android/apg/service/ApgService.java
+++ b/org_apg/src/org/thialfihar/android/apg/service/ApgService.java
@@ -30,11 +30,11 @@ import org.spongycastle.openpgp.PGPSecretKey;
import org.spongycastle.openpgp.PGPSecretKeyRing;
import org.thialfihar.android.apg.Constants;
import org.thialfihar.android.apg.Id;
-import org.thialfihar.android.apg.Preferences;
import org.thialfihar.android.apg.ProgressDialogUpdater;
import org.thialfihar.android.apg.R;
import org.thialfihar.android.apg.helper.FileHelper;
import org.thialfihar.android.apg.helper.PGPHelper;
+import org.thialfihar.android.apg.helper.Preferences;
import org.thialfihar.android.apg.helper.PGPHelper.GeneralException;
import org.thialfihar.android.apg.helper.PGPConversionHelper;
import org.thialfihar.android.apg.provider.DataProvider;
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/BaseActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/BaseActivity.java
index 39fc30347..fb61cb427 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/BaseActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/BaseActivity.java
@@ -23,10 +23,10 @@ import java.io.IOException;
import org.thialfihar.android.apg.R;
import org.thialfihar.android.apg.Constants;
import org.thialfihar.android.apg.Id;
-import org.thialfihar.android.apg.PausableThread;
-import org.thialfihar.android.apg.Preferences;
import org.thialfihar.android.apg.ProgressDialogUpdater;
+import org.thialfihar.android.apg.deprecated.PausableThread;
import org.thialfihar.android.apg.helper.PGPHelper;
+import org.thialfihar.android.apg.helper.Preferences;
import org.thialfihar.android.apg.passphrase.AskForPassphrase;
import org.thialfihar.android.apg.passphrase.PassphraseCacheService;
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/DecryptActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/DecryptActivity.java
index a19f6c5b6..a753eada0 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/DecryptActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/DecryptActivity.java
@@ -16,17 +16,11 @@
package org.thialfihar.android.apg.ui;
-import org.spongycastle.jce.provider.BouncyCastleProvider;
-import org.spongycastle.openpgp.PGPException;
import org.spongycastle.openpgp.PGPPublicKeyRing;
import org.thialfihar.android.apg.Constants;
import org.thialfihar.android.apg.Id;
-import org.thialfihar.android.apg.PausableThread;
import org.thialfihar.android.apg.helper.FileHelper;
import org.thialfihar.android.apg.helper.PGPHelper;
-import org.thialfihar.android.apg.helper.OtherHelper;
-import org.thialfihar.android.apg.helper.PGPHelper.GeneralException;
-import org.thialfihar.android.apg.provider.DataProvider;
import org.thialfihar.android.apg.service.ApgHandler;
import org.thialfihar.android.apg.service.ApgService;
import org.thialfihar.android.apg.ui.dialog.DeleteFileDialogFragment;
@@ -34,7 +28,6 @@ import org.thialfihar.android.apg.ui.dialog.FileDialogFragment;
import org.thialfihar.android.apg.ui.dialog.PassphraseDialogFragment;
import org.thialfihar.android.apg.ui.dialog.ProgressDialogFragment;
import org.thialfihar.android.apg.util.Compatibility;
-import org.thialfihar.android.apg.util.InputData;
import org.thialfihar.android.apg.R;
import com.actionbarsherlock.app.ActionBar;
@@ -45,7 +38,6 @@ import com.actionbarsherlock.view.MenuItem;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
-import android.content.ActivityNotFoundException;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
@@ -73,12 +65,16 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
-import java.io.OutputStream;
-import java.security.Security;
-import java.security.SignatureException;
import java.util.regex.Matcher;
public class DecryptActivity extends SherlockFragmentActivity {
+
+ // possible intent actions for this activity
+ public static final String ACTION_DECRYPT = Constants.INTENT_PREFIX + "DECRYPT";
+ public static final String ACTION_DECRYPT_FILE = Constants.INTENT_PREFIX + "DECRYPT_FILE";
+ public static final String ACTION_DECRYPT_AND_RETURN = Constants.INTENT_PREFIX
+ + "DECRYPT_AND_RETURN";
+
private long mSignatureKeyId = 0;
private Intent mIntent;
@@ -191,7 +187,7 @@ public class DecryptActivity extends SherlockFragmentActivity {
final ActionBar actionBar = getSupportActionBar();
Log.d(Constants.TAG, "calling package (only set when using startActivityForResult)="
+ getCallingPackage());
- if (getCallingPackage() != null && getCallingPackage().equals(PGPHelper.PACKAGE_NAME)) {
+ if (getCallingPackage() != null && getCallingPackage().equals(Constants.PACKAGE_NAME)) {
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
} else {
@@ -282,7 +278,7 @@ public class DecryptActivity extends SherlockFragmentActivity {
} catch (IOException e) {
// ignore, then
}
- } else if (PGPHelper.Intent.DECRYPT.equals(mIntent.getAction())) {
+ } else if (ACTION_DECRYPT.equals(mIntent.getAction())) {
Log.d(Constants.TAG, "Apg Intent DECRYPT startet");
Bundle extras = mIntent.getExtras();
if (extras == null) {
@@ -328,7 +324,7 @@ public class DecryptActivity extends SherlockFragmentActivity {
}
mReplyTo = extras.getString(PGPHelper.EXTRA_REPLY_TO);
mSubject = extras.getString(PGPHelper.EXTRA_SUBJECT);
- } else if (PGPHelper.Intent.DECRYPT_FILE.equals(mIntent.getAction())) {
+ } else if (ACTION_DECRYPT_FILE.equals(mIntent.getAction())) {
mInputFilename = mIntent.getDataString();
if ("file".equals(mIntent.getScheme())) {
mInputFilename = Uri.decode(mInputFilename.substring(7));
@@ -340,7 +336,7 @@ public class DecryptActivity extends SherlockFragmentActivity {
while (mSource.getCurrentView().getId() != R.id.sourceFile) {
mSource.showNext();
}
- } else if (PGPHelper.Intent.DECRYPT_AND_RETURN.equals(mIntent.getAction())) {
+ } else if (ACTION_DECRYPT_AND_RETURN.equals(mIntent.getAction())) {
mContentUri = mIntent.getData();
Bundle extras = mIntent.getExtras();
if (extras == null) {
@@ -405,7 +401,7 @@ public class DecryptActivity extends SherlockFragmentActivity {
PGPPublicKeyRing key = PGPHelper.getPublicKeyRing(mSignatureKeyId);
if (key != null) {
Intent intent = new Intent(DecryptActivity.this, KeyServerQueryActivity.class);
- intent.setAction(PGPHelper.Intent.LOOK_UP_KEY_ID);
+ intent.setAction(KeyServerQueryActivity.ACTION_LOOK_UP_KEY_ID);
intent.putExtra(PGPHelper.EXTRA_KEY_ID, mSignatureKeyId);
startActivity(intent);
}
@@ -521,7 +517,7 @@ public class DecryptActivity extends SherlockFragmentActivity {
mSignedOnly = false;
getDecryptionKeyFromInputStream();
-
+
Log.d(Constants.TAG, "secretKeyId: " + getSecretKeyId());
// if we need a symmetric passphrase or a passphrase to use a sekret key ask for it
@@ -633,7 +629,7 @@ public class DecryptActivity extends SherlockFragmentActivity {
private void replyClicked() {
Intent intent = new Intent(this, EncryptActivity.class);
- intent.setAction(PGPHelper.Intent.ENCRYPT);
+ intent.setAction(EncryptActivity.ACTION_ENCRYPT);
String data = mMessage.getText().toString();
data = data.replaceAll("(?m)^", "> ");
data = "\n\n" + data;
@@ -1047,7 +1043,7 @@ public class DecryptActivity extends SherlockFragmentActivity {
public void onClick(DialogInterface dialog, int id) {
removeDialog(Id.dialog.lookup_unknown_key);
Intent intent = new Intent(DecryptActivity.this, KeyServerQueryActivity.class);
- intent.setAction(PGPHelper.Intent.LOOK_UP_KEY_ID);
+ intent.setAction(KeyServerQueryActivity.ACTION_LOOK_UP_KEY_ID);
intent.putExtra(PGPHelper.EXTRA_KEY_ID, mUnknownSignatureKeyId);
startActivityForResult(intent, Id.request.look_up_key_id);
}
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/EditKeyActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/EditKeyActivity.java
index 7870a80c3..6ceca2004 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/EditKeyActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/EditKeyActivity.java
@@ -64,6 +64,11 @@ import java.util.Iterator;
import java.util.Vector;
public class EditKeyActivity extends SherlockFragmentActivity {
+
+ // possible intent actions for this activity
+ public static final String ACTION_CREATE_KEY = Constants.INTENT_PREFIX + "CREATE_KEY";
+ public static final String ACTION_EDIT_KEY = Constants.INTENT_PREFIX + "EDIT_KEY";
+
private Intent mIntent = null;
private ActionBar mActionBar;
@@ -133,7 +138,7 @@ public class EditKeyActivity extends SherlockFragmentActivity {
mActionBar.setDisplayShowTitleEnabled(true);
// set actionbar without home button if called from another app
- if (getCallingPackage() != null && getCallingPackage().equals(PGPHelper.PACKAGE_NAME)) {
+ if (getCallingPackage() != null && getCallingPackage().equals(Constants.PACKAGE_NAME)) {
mActionBar.setDisplayHomeAsUpEnabled(true);
mActionBar.setHomeButtonEnabled(true);
} else {
@@ -154,8 +159,7 @@ public class EditKeyActivity extends SherlockFragmentActivity {
// Handle intents
Bundle extras = mIntent.getExtras();
- if (PGPHelper.Intent.CREATE_KEY.equals(mIntent.getAction())) {
-
+ if (ACTION_CREATE_KEY.equals(mIntent.getAction())) {
mActionBar.setTitle(R.string.title_createKey);
mCurrentPassPhrase = "";
@@ -244,8 +248,7 @@ public class EditKeyActivity extends SherlockFragmentActivity {
}
}
}
- } else if (PGPHelper.Intent.EDIT_KEY.equals(mIntent.getAction())) {
-
+ } else if (ACTION_EDIT_KEY.equals(mIntent.getAction())) {
mActionBar.setTitle(R.string.title_editKey);
mCurrentPassPhrase = PGPHelper.getEditPassPhrase();
@@ -468,8 +471,7 @@ public class EditKeyActivity extends SherlockFragmentActivity {
* @param userIdsView
* @return
*/
- private Vector<String> getUserIds(SectionView userIdsView)
- throws PGPHelper.GeneralException {
+ private Vector<String> getUserIds(SectionView userIdsView) throws PGPHelper.GeneralException {
Vector<String> userIds = new Vector<String>();
ViewGroup userIdEditors = userIdsView.getEditors();
@@ -507,8 +509,7 @@ public class EditKeyActivity extends SherlockFragmentActivity {
}
if (!gotMainUserId) {
- throw new PGPHelper.GeneralException(
- getString(R.string.error_mainUserIdMustNotBeEmpty));
+ throw new PGPHelper.GeneralException(getString(R.string.error_mainUserIdMustNotBeEmpty));
}
return userIds;
@@ -520,8 +521,7 @@ public class EditKeyActivity extends SherlockFragmentActivity {
* @param keysView
* @return
*/
- private Vector<PGPSecretKey> getKeys(SectionView keysView)
- throws PGPHelper.GeneralException {
+ private Vector<PGPSecretKey> getKeys(SectionView keysView) throws PGPHelper.GeneralException {
Vector<PGPSecretKey> keys = new Vector<PGPSecretKey>();
ViewGroup keyEditors = keysView.getEditors();
@@ -544,8 +544,7 @@ public class EditKeyActivity extends SherlockFragmentActivity {
* @param keysView
* @return
*/
- private Vector<Integer> getKeysUsages(SectionView keysView)
- throws PGPHelper.GeneralException {
+ private Vector<Integer> getKeysUsages(SectionView keysView) throws PGPHelper.GeneralException {
Vector<Integer> getKeysUsages = new Vector<Integer>();
ViewGroup keyEditors = keysView.getEditors();
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/EncryptActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/EncryptActivity.java
index 2d365f926..d088cd11e 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/EncryptActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/EncryptActivity.java
@@ -23,9 +23,9 @@ import org.spongycastle.openpgp.PGPSecretKey;
import org.spongycastle.openpgp.PGPSecretKeyRing;
import org.thialfihar.android.apg.Constants;
import org.thialfihar.android.apg.Id;
-import org.thialfihar.android.apg.Preferences;
import org.thialfihar.android.apg.helper.FileHelper;
import org.thialfihar.android.apg.helper.PGPHelper;
+import org.thialfihar.android.apg.helper.Preferences;
import org.thialfihar.android.apg.service.ApgHandler;
import org.thialfihar.android.apg.service.ApgService;
import org.thialfihar.android.apg.ui.dialog.DeleteFileDialogFragment;
@@ -67,6 +67,15 @@ import java.io.File;
import java.util.Vector;
public class EncryptActivity extends SherlockFragmentActivity {
+
+ // possible intent actions for this activity
+ public static final String ACTION_ENCRYPT = Constants.INTENT_PREFIX + "ENCRYPT";
+ public static final String ACTION_ENCRYPT_FILE = Constants.INTENT_PREFIX + "ENCRYPT_FILE";
+ public static final String ACTION_ENCRYPT_AND_RETURN = Constants.INTENT_PREFIX
+ + "ENCRYPT_AND_RETURN";
+ public static final String ACTION_GENERATE_SIGNATURE = Constants.INTENT_PREFIX
+ + "GENERATE_SIGNATURE";
+
private Intent mIntent = null;
private String mSubject = null;
private String mSendTo = null;
@@ -185,7 +194,7 @@ public class EncryptActivity extends SherlockFragmentActivity {
final ActionBar actionBar = getSupportActionBar();
Log.d(Constants.TAG, "calling package (only set when using startActivityForResult)="
+ getCallingPackage());
- if (getCallingPackage() != null && getCallingPackage().equals(PGPHelper.PACKAGE_NAME)) {
+ if (getCallingPackage() != null && getCallingPackage().equals(Constants.PACKAGE_NAME)) {
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
} else {
@@ -335,22 +344,22 @@ public class EncryptActivity extends SherlockFragmentActivity {
});
mIntent = getIntent();
- if (PGPHelper.Intent.ENCRYPT.equals(mIntent.getAction())
- || PGPHelper.Intent.ENCRYPT_FILE.equals(mIntent.getAction())
- || PGPHelper.Intent.ENCRYPT_AND_RETURN.equals(mIntent.getAction())
- || PGPHelper.Intent.GENERATE_SIGNATURE.equals(mIntent.getAction())) {
+ if (ACTION_ENCRYPT.equals(mIntent.getAction())
+ || ACTION_ENCRYPT_FILE.equals(mIntent.getAction())
+ || ACTION_ENCRYPT_AND_RETURN.equals(mIntent.getAction())
+ || ACTION_GENERATE_SIGNATURE.equals(mIntent.getAction())) {
mContentUri = mIntent.getData();
Bundle extras = mIntent.getExtras();
if (extras == null) {
extras = new Bundle();
}
- if (PGPHelper.Intent.ENCRYPT_AND_RETURN.equals(mIntent.getAction())
- || PGPHelper.Intent.GENERATE_SIGNATURE.equals(mIntent.getAction())) {
+ if (ACTION_ENCRYPT_AND_RETURN.equals(mIntent.getAction())
+ || ACTION_GENERATE_SIGNATURE.equals(mIntent.getAction())) {
mReturnResult = true;
}
- if (PGPHelper.Intent.GENERATE_SIGNATURE.equals(mIntent.getAction())) {
+ if (ACTION_GENERATE_SIGNATURE.equals(mIntent.getAction())) {
mGenerateSignature = true;
mOverrideAsciiArmour = true;
mAsciiArmourDemand = false;
@@ -411,9 +420,9 @@ public class EncryptActivity extends SherlockFragmentActivity {
}
}
- if (PGPHelper.Intent.ENCRYPT.equals(mIntent.getAction())
- || PGPHelper.Intent.ENCRYPT_AND_RETURN.equals(mIntent.getAction())
- || PGPHelper.Intent.GENERATE_SIGNATURE.equals(mIntent.getAction())) {
+ if (ACTION_ENCRYPT.equals(mIntent.getAction())
+ || ACTION_ENCRYPT_AND_RETURN.equals(mIntent.getAction())
+ || ACTION_GENERATE_SIGNATURE.equals(mIntent.getAction())) {
if (textData != null) {
mMessage.setText(textData);
}
@@ -422,7 +431,7 @@ public class EncryptActivity extends SherlockFragmentActivity {
while (mSource.getCurrentView().getId() != R.id.sourceMessage) {
mSource.showNext();
}
- } else if (PGPHelper.Intent.ENCRYPT_FILE.equals(mIntent.getAction())) {
+ } else if (ACTION_ENCRYPT_FILE.equals(mIntent.getAction())) {
if ("file".equals(mIntent.getScheme())) {
mInputFilename = Uri.decode(mIntent.getDataString().replace("file://", ""));
mFilename.setText(mInputFilename);
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/GeneralActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/GeneralActivity.java
deleted file mode 100644
index dde247bdf..000000000
--- a/org_apg/src/org/thialfihar/android/apg/ui/GeneralActivity.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * 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.thialfihar.android.apg.ui;
-
-import java.io.ByteArrayInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Vector;
-
-import org.thialfihar.android.apg.R;
-import org.thialfihar.android.apg.Id;
-import org.thialfihar.android.apg.helper.PGPHelper;
-import org.thialfihar.android.apg.util.Choice;
-
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemClickListener;
-import android.widget.ArrayAdapter;
-import android.widget.Button;
-import android.widget.ListView;
-import android.widget.Toast;
-
-public class GeneralActivity extends BaseActivity {
- private Intent mIntent;
- private ArrayAdapter<Choice> mAdapter;
- private ListView mList;
- private Button mCancelButton;
- private String mDataString;
- private Uri mDataUri;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- setContentView(R.layout.general);
-
- mIntent = getIntent();
-
- InputStream inStream = null;
- {
- String data = mIntent.getStringExtra(Intent.EXTRA_TEXT);
- if (data != null) {
- mDataString = data;
- inStream = new ByteArrayInputStream(data.getBytes());
- }
- }
-
- if (inStream == null) {
- Uri data = mIntent.getData();
- if (data != null) {
- mDataUri = data;
- try {
- inStream = getContentResolver().openInputStream(data);
- } catch (FileNotFoundException e) {
- // didn't work
- Toast.makeText(this, "failed to open stream", Toast.LENGTH_SHORT).show();
- }
- }
- }
-
- if (inStream == null) {
- Toast.makeText(this, "no data found", Toast.LENGTH_SHORT).show();
- finish();
- return;
- }
-
- int contentType = Id.content.unknown;
- try {
- contentType = PGPHelper.getStreamContent(this, inStream);
- inStream.close();
- } catch (IOException e) {
- // just means that there's no PGP data in there
- }
-
- mList = (ListView) findViewById(R.id.options);
- Vector<Choice> choices = new Vector<Choice>();
-
- if (contentType == Id.content.keys) {
- choices.add(new Choice(Id.choice.action.import_public,
- getString(R.string.action_importPublic)));
- choices.add(new Choice(Id.choice.action.import_secret,
- getString(R.string.action_importSecret)));
- }
-
- if (contentType == Id.content.encrypted_data) {
- choices.add(new Choice(Id.choice.action.decrypt, getString(R.string.action_decrypt)));
- }
-
- if (contentType == Id.content.unknown) {
- choices.add(new Choice(Id.choice.action.encrypt, getString(R.string.action_encrypt)));
- }
-
- mAdapter = new ArrayAdapter<Choice>(this, android.R.layout.simple_list_item_1, choices);
- mList.setAdapter(mAdapter);
-
- mList.setOnItemClickListener(new OnItemClickListener() {
- public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
- clicked(mAdapter.getItem(arg2).getId());
- }
- });
-
- mCancelButton = (Button) findViewById(R.id.btn_cancel);
- mCancelButton.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- GeneralActivity.this.finish();
- }
- });
-
- if (choices.size() == 1) {
- clicked(choices.get(0).getId());
- }
- }
-
- private void clicked(int id) {
- Intent intent = new Intent();
- switch (id) {
- case Id.choice.action.encrypt: {
- intent.setClass(this, EncryptActivity.class);
- if (mDataString != null) {
- intent.setAction(PGPHelper.Intent.ENCRYPT);
- intent.putExtra(PGPHelper.EXTRA_TEXT, mDataString);
- } else if (mDataUri != null) {
- intent.setAction(PGPHelper.Intent.ENCRYPT_FILE);
- intent.setDataAndType(mDataUri, mIntent.getType());
- }
-
- break;
- }
-
- case Id.choice.action.decrypt: {
- intent.setClass(this, DecryptActivity.class);
- if (mDataString != null) {
- intent.setAction(PGPHelper.Intent.DECRYPT);
- intent.putExtra(PGPHelper.EXTRA_TEXT, mDataString);
- } else if (mDataUri != null) {
- intent.setAction(PGPHelper.Intent.DECRYPT_FILE);
- intent.setDataAndType(mDataUri, mIntent.getType());
- }
-
- break;
- }
-
- case Id.choice.action.import_public: {
- intent.setClass(this, PublicKeyListActivity.class);
- intent.setAction(PGPHelper.Intent.IMPORT);
- if (mDataString != null) {
- intent.putExtra(PGPHelper.EXTRA_TEXT, mDataString);
- } else if (mDataUri != null) {
- intent.setDataAndType(mDataUri, mIntent.getType());
- }
- break;
- }
-
- case Id.choice.action.import_secret: {
- intent.setClass(this, SecretKeyListActivity.class);
- intent.setAction(PGPHelper.Intent.IMPORT);
- if (mDataString != null) {
- intent.putExtra(PGPHelper.EXTRA_TEXT, mDataString);
- } else if (mDataUri != null) {
- intent.setDataAndType(mDataUri, mIntent.getType());
- }
- break;
- }
-
- default: {
- // shouldn't happen
- return;
- }
- }
-
- startActivity(intent);
- finish();
- }
-}
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/ImportFromQRCodeActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/ImportFromQRCodeActivity.java
index c9fb89cc7..6eddc4ea3 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/ImportFromQRCodeActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/ImportFromQRCodeActivity.java
@@ -22,10 +22,10 @@ import java.io.IOException;
import org.spongycastle.openpgp.PGPKeyRing;
import org.spongycastle.openpgp.PGPPublicKeyRing;
import org.thialfihar.android.apg.Constants;
-import org.thialfihar.android.apg.HkpKeyServer;
import org.thialfihar.android.apg.Id;
-import org.thialfihar.android.apg.KeyServer.QueryException;
import org.thialfihar.android.apg.helper.PGPHelper;
+import org.thialfihar.android.apg.util.HkpKeyServer;
+import org.thialfihar.android.apg.util.KeyServer.QueryException;
import org.thialfihar.android.apg.R;
import android.content.Intent;
@@ -38,6 +38,11 @@ import com.google.zxing.integration.android.IntentIntegrator;
import com.google.zxing.integration.android.IntentResult;
public class ImportFromQRCodeActivity extends BaseActivity {
+
+ // Not used in sourcode, but listed in AndroidManifest!
+ public static final String IMPORT_FROM_QR_CODE = Constants.INTENT_PREFIX
+ + "IMPORT_FROM_QR_CODE";
+
private static final String TAG = "ImportFromQRCodeActivity";
private final Bundle status = new Bundle();
@@ -52,34 +57,46 @@ public class ImportFromQRCodeActivity extends BaseActivity {
private void importAndSign(final long keyId, final String expectedFingerprint) {
if (expectedFingerprint != null && expectedFingerprint.length() > 0) {
-
+
Thread t = new Thread() {
@Override
public void run() {
try {
// TODO: display some sort of spinner here while the user waits
-
- HkpKeyServer server = new HkpKeyServer(mPreferences.getKeyServers()[0]); // TODO: there should be only 1
+
+ HkpKeyServer server = new HkpKeyServer(mPreferences.getKeyServers()[0]); // TODO:
+ // there
+ // should
+ // be
+ // only
+ // 1
String encodedKey = server.get(keyId);
- PGPKeyRing keyring = PGPHelper.decodeKeyRing(new ByteArrayInputStream(encodedKey.getBytes()));
+ PGPKeyRing keyring = PGPHelper.decodeKeyRing(new ByteArrayInputStream(
+ encodedKey.getBytes()));
if (keyring != null && keyring instanceof PGPPublicKeyRing) {
PGPPublicKeyRing publicKeyRing = (PGPPublicKeyRing) keyring;
// make sure the fingerprints match before we cache this thing
- String actualFingerprint = PGPHelper.convertToHex(publicKeyRing.getPublicKey().getFingerprint());
+ String actualFingerprint = PGPHelper.convertToHex(publicKeyRing
+ .getPublicKey().getFingerprint());
if (expectedFingerprint.equals(actualFingerprint)) {
// store the signed key in our local cache
int retval = PGPHelper.storeKeyRingInCache(publicKeyRing);
- if (retval != Id.return_value.ok && retval != Id.return_value.updated) {
- status.putString(PGPHelper.EXTRA_ERROR, "Failed to store signed key in local cache");
+ if (retval != Id.return_value.ok
+ && retval != Id.return_value.updated) {
+ status.putString(PGPHelper.EXTRA_ERROR,
+ "Failed to store signed key in local cache");
} else {
- Intent intent = new Intent(ImportFromQRCodeActivity.this, SignKeyActivity.class);
+ Intent intent = new Intent(ImportFromQRCodeActivity.this,
+ SignKeyActivity.class);
intent.putExtra(PGPHelper.EXTRA_KEY_ID, keyId);
startActivityForResult(intent, Id.request.sign_key);
}
} else {
- status.putString(PGPHelper.EXTRA_ERROR, "Scanned fingerprint does NOT match the fingerprint of the received key. You shouldnt trust this key.");
+ status.putString(
+ PGPHelper.EXTRA_ERROR,
+ "Scanned fingerprint does NOT match the fingerprint of the received key. You shouldnt trust this key.");
}
}
} catch (QueryException e) {
@@ -103,48 +120,52 @@ public class ImportFromQRCodeActivity extends BaseActivity {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
- case IntentIntegrator.REQUEST_CODE: {
- boolean debug = true; // TODO: remove this!!!
- IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
- if (debug || (scanResult != null && scanResult.getFormatName() != null)) {
- String[] bits = debug ? new String[] { "5993515643896327656", "0816 F68A 6816 68FB 01BF 2CA5 532D 3EB9 1E2F EDE8" } : scanResult.getContents().split(",");
- if (bits.length != 2) {
- return; // dont know how to handle this. Not a valid code
- }
-
- long keyId = Long.parseLong(bits[0]);
- String expectedFingerprint = bits[1];
-
- importAndSign(keyId, expectedFingerprint);
-
- break;
+ case IntentIntegrator.REQUEST_CODE: {
+ boolean debug = true; // TODO: remove this!!!
+ IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode,
+ data);
+ if (debug || (scanResult != null && scanResult.getFormatName() != null)) {
+ String[] bits = debug ? new String[] { "5993515643896327656",
+ "0816 F68A 6816 68FB 01BF 2CA5 532D 3EB9 1E2F EDE8" } : scanResult
+ .getContents().split(",");
+ if (bits.length != 2) {
+ return; // dont know how to handle this. Not a valid code
}
- }
-
- case Id.request.sign_key: {
- // signals the end of processing. Signature was either applied, or it wasnt
- status.putInt(Constants.extras.STATUS, Id.message.done);
-
- msg.setData(status);
- sendMessage(msg);
-
+
+ long keyId = Long.parseLong(bits[0]);
+ String expectedFingerprint = bits[1];
+
+ importAndSign(keyId, expectedFingerprint);
+
break;
}
+ }
- default: {
- super.onActivityResult(requestCode, resultCode, data);
- }
+ case Id.request.sign_key: {
+ // signals the end of processing. Signature was either applied, or it wasnt
+ status.putInt(Constants.extras.STATUS, Id.message.done);
+
+ msg.setData(status);
+ sendMessage(msg);
+
+ break;
+ }
+
+ default: {
+ super.onActivityResult(requestCode, resultCode, data);
+ }
}
}
-
+
@Override
public void doneCallback(Message msg) {
super.doneCallback(msg);
-
+
Bundle data = msg.getData();
String error = data.getString(PGPHelper.EXTRA_ERROR);
if (error != null) {
- Toast.makeText(this, getString(R.string.errorMessage, error), Toast.LENGTH_SHORT).show();
+ Toast.makeText(this, getString(R.string.errorMessage, error), Toast.LENGTH_SHORT)
+ .show();
return;
}
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/KeyListActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/KeyListActivity.java
index 8e2bcaecb..a96f6a21c 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/KeyListActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/KeyListActivity.java
@@ -69,6 +69,9 @@ import java.io.OutputStream;
import java.util.Vector;
public class KeyListActivity extends BaseActivity {
+
+ public static final String ACTION_IMPORT = Constants.INTENT_PREFIX + "IMPORT";
+
protected ExpandableListView mList;
protected KeyListAdapter mListAdapter;
protected View mFilterLayout;
@@ -139,7 +142,7 @@ public class KeyListActivity extends BaseActivity {
mListAdapter = new KeyListAdapter(this, searchString);
mList.setAdapter(mListAdapter);
- if (PGPHelper.Intent.IMPORT.equals(intent.getAction())) {
+ if (ACTION_IMPORT.equals(intent.getAction())) {
if ("file".equals(intent.getScheme()) && intent.getDataString() != null) {
mImportFilename = Uri.decode(intent.getDataString().replace("file://", ""));
} else {
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/KeyServerExportActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/KeyServerExportActivity.java
index 17d80296b..df9f2c09c 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/KeyServerExportActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/KeyServerExportActivity.java
@@ -19,10 +19,10 @@ package org.thialfihar.android.apg.ui;
import org.spongycastle.openpgp.PGPKeyRing;
import org.spongycastle.openpgp.PGPPublicKeyRing;
import org.thialfihar.android.apg.Constants;
-import org.thialfihar.android.apg.HkpKeyServer;
import org.thialfihar.android.apg.Id;
import org.thialfihar.android.apg.R;
import org.thialfihar.android.apg.helper.PGPHelper;
+import org.thialfihar.android.apg.util.HkpKeyServer;
import com.actionbarsherlock.view.MenuItem;
@@ -43,6 +43,10 @@ import android.widget.Toast;
*/
public class KeyServerExportActivity extends BaseActivity {
+ // Not used in sourcode, but listed in AndroidManifest!
+ public static final String ACTION_EXPORT_KEY_TO_SERVER = Constants.INTENT_PREFIX
+ + "EXPORT_KEY_TO_SERVER";
+
private Button export;
private Spinner keyServer;
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/KeyServerQueryActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/KeyServerQueryActivity.java
index 7a1b94335..cda362eaf 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/KeyServerQueryActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/KeyServerQueryActivity.java
@@ -19,13 +19,13 @@ import java.util.Vector;
import org.thialfihar.android.apg.R;
import org.thialfihar.android.apg.Constants;
-import org.thialfihar.android.apg.HkpKeyServer;
import org.thialfihar.android.apg.Id;
-import org.thialfihar.android.apg.KeyServer.InsufficientQuery;
-import org.thialfihar.android.apg.KeyServer.KeyInfo;
-import org.thialfihar.android.apg.KeyServer.QueryException;
-import org.thialfihar.android.apg.KeyServer.TooManyResponses;
import org.thialfihar.android.apg.helper.PGPHelper;
+import org.thialfihar.android.apg.util.HkpKeyServer;
+import org.thialfihar.android.apg.util.KeyServer.InsufficientQuery;
+import org.thialfihar.android.apg.util.KeyServer.KeyInfo;
+import org.thialfihar.android.apg.util.KeyServer.QueryException;
+import org.thialfihar.android.apg.util.KeyServer.TooManyResponses;
import com.actionbarsherlock.view.MenuItem;
@@ -54,6 +54,12 @@ import android.widget.TextView;
import android.widget.Toast;
public class KeyServerQueryActivity extends BaseActivity {
+
+ // possible intent actions for this activity
+ public static final String ACTION_LOOK_UP_KEY_ID = Constants.INTENT_PREFIX + "LOOK_UP_KEY_ID";
+ public static final String ACTION_LOOK_UP_KEY_ID_AND_RETURN = Constants.INTENT_PREFIX
+ + "LOOK_UP_KEY_ID_AND_RETURN";
+
private ListView mList;
private EditText mQuery;
private Button mSearch;
@@ -121,8 +127,8 @@ public class KeyServerQueryActivity extends BaseActivity {
});
Intent intent = getIntent();
- if (PGPHelper.Intent.LOOK_UP_KEY_ID.equals(intent.getAction())
- || PGPHelper.Intent.LOOK_UP_KEY_ID_AND_RETURN.equals(intent.getAction())) {
+ if (ACTION_LOOK_UP_KEY_ID.equals(intent.getAction())
+ || ACTION_LOOK_UP_KEY_ID_AND_RETURN.equals(intent.getAction())) {
long keyId = intent.getLongExtra(PGPHelper.EXTRA_KEY_ID, 0);
if (keyId != 0) {
String query = "0x" + PGPHelper.keyToHex(keyId);
@@ -208,7 +214,7 @@ public class KeyServerQueryActivity extends BaseActivity {
}
} else if (mQueryType == Id.keyserver.get) {
Intent orgIntent = getIntent();
- if (PGPHelper.Intent.LOOK_UP_KEY_ID_AND_RETURN.equals(orgIntent.getAction())) {
+ if (ACTION_LOOK_UP_KEY_ID_AND_RETURN.equals(orgIntent.getAction())) {
if (mKeyData != null) {
Intent intent = new Intent();
intent.putExtra(PGPHelper.EXTRA_TEXT, mKeyData);
@@ -220,7 +226,7 @@ public class KeyServerQueryActivity extends BaseActivity {
} else {
if (mKeyData != null) {
Intent intent = new Intent(this, PublicKeyListActivity.class);
- intent.setAction(PGPHelper.Intent.IMPORT);
+ intent.setAction(KeyListActivity.ACTION_IMPORT);
intent.putExtra(PGPHelper.EXTRA_TEXT, mKeyData);
startActivity(intent);
}
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/MailListActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/MailListActivity.java
index fd8efb530..d79d067d4 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/MailListActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/MailListActivity.java
@@ -20,8 +20,8 @@ import java.util.Vector;
import java.util.regex.Matcher;
import org.thialfihar.android.apg.R;
-import org.thialfihar.android.apg.Preferences;
import org.thialfihar.android.apg.helper.PGPHelper;
+import org.thialfihar.android.apg.helper.Preferences;
import android.app.ListActivity;
import android.content.Context;
@@ -149,7 +149,7 @@ public class MailListActivity extends ListActivity {
getListView().setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View v, int position, long id) {
Intent intent = new Intent(MailListActivity.this, DecryptActivity.class);
- intent.setAction(PGPHelper.Intent.DECRYPT);
+ intent.setAction(DecryptActivity.ACTION_DECRYPT);
Message message = (Message) ((MailboxAdapter) getListAdapter()).getItem(position);
intent.putExtra(PGPHelper.EXTRA_TEXT, message.data);
intent.putExtra(PGPHelper.EXTRA_SUBJECT, message.subject);
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/MainActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/MainActivity.java
index 24d636627..465daf5c9 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/MainActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/MainActivity.java
@@ -48,19 +48,19 @@ public class MainActivity extends SherlockActivity {
public void encryptOnClick(View view) {
Intent intent = new Intent(MainActivity.this, EncryptActivity.class);
- intent.setAction(PGPHelper.Intent.ENCRYPT);
+ intent.setAction(EncryptActivity.ACTION_ENCRYPT);
startActivityForResult(intent, 0); // used instead of startActivity to get callingPackage
}
public void decryptOnClick(View view) {
Intent intent = new Intent(MainActivity.this, DecryptActivity.class);
- intent.setAction(PGPHelper.Intent.DECRYPT);
+ intent.setAction(DecryptActivity.ACTION_DECRYPT);
startActivityForResult(intent, 0); // used instead of startActivity to get callingPackage
}
public void scanQrcodeOnClick(View view) {
Intent intent = new Intent(this, ImportFromQRCodeActivity.class);
- intent.setAction(PGPHelper.Intent.IMPORT_FROM_QR_CODE);
+ intent.setAction(ImportFromQRCodeActivity.IMPORT_FROM_QR_CODE);
startActivityForResult(intent, Id.request.import_from_qr_code);
}
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/PreferencesActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/PreferencesActivity.java
index 3cc6155b0..837976fee 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/PreferencesActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/PreferencesActivity.java
@@ -20,8 +20,8 @@ import org.spongycastle.bcpg.HashAlgorithmTags;
import org.spongycastle.openpgp.PGPEncryptedData;
import org.thialfihar.android.apg.Constants;
import org.thialfihar.android.apg.Id;
-import org.thialfihar.android.apg.Preferences;
import org.thialfihar.android.apg.helper.PGPHelper;
+import org.thialfihar.android.apg.helper.Preferences;
import org.thialfihar.android.apg.passphrase.PassphraseCacheService;
import org.thialfihar.android.apg.ui.widget.IntegerListPreference;
import org.thialfihar.android.apg.R;
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/PublicKeyListActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/PublicKeyListActivity.java
index 21a7ddee5..9e11cc85c 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/PublicKeyListActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/PublicKeyListActivity.java
@@ -71,7 +71,7 @@ public class PublicKeyListActivity extends KeyListActivity {
}
case Id.menu.option.scanQRCode: {
Intent intent = new Intent(this, ImportFromQRCodeActivity.class);
- intent.setAction(PGPHelper.Intent.IMPORT_FROM_QR_CODE);
+ intent.setAction(ImportFromQRCodeActivity.IMPORT_FROM_QR_CODE);
startActivityForResult(intent, Id.request.import_from_qr_code);
return true;
@@ -124,7 +124,7 @@ public class PublicKeyListActivity extends KeyListActivity {
}
Intent intent = new Intent(this, KeyServerQueryActivity.class);
- intent.setAction(PGPHelper.Intent.LOOK_UP_KEY_ID_AND_RETURN);
+ intent.setAction(KeyServerQueryActivity.ACTION_LOOK_UP_KEY_ID_AND_RETURN);
intent.putExtra(PGPHelper.EXTRA_KEY_ID, keyId);
startActivityForResult(intent, Id.request.look_up_key_id);
@@ -136,7 +136,7 @@ public class PublicKeyListActivity extends KeyListActivity {
final int keyRingId = mListAdapter.getKeyRingId(groupPosition);
Intent intent = new Intent(this, KeyServerExportActivity.class);
- intent.setAction(PGPHelper.Intent.EXPORT_KEY_TO_SERVER);
+ intent.setAction(KeyServerExportActivity.ACTION_EXPORT_KEY_TO_SERVER);
intent.putExtra(PGPHelper.EXTRA_KEY_ID, keyRingId);
startActivityForResult(intent, Id.request.export_to_server);
@@ -180,7 +180,7 @@ public class PublicKeyListActivity extends KeyListActivity {
}
Intent intent = new Intent(this, PublicKeyListActivity.class);
- intent.setAction(PGPHelper.Intent.IMPORT);
+ intent.setAction(PublicKeyListActivity.ACTION_IMPORT);
intent.putExtra(PGPHelper.EXTRA_TEXT, data.getStringExtra(PGPHelper.EXTRA_TEXT));
handleIntent(intent);
break;
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/SecretKeyListActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/SecretKeyListActivity.java
index 290fe7479..ad51ce4da 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/SecretKeyListActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/SecretKeyListActivity.java
@@ -164,13 +164,13 @@ public class SecretKeyListActivity extends KeyListActivity implements OnChildCli
private void createKey() {
PGPHelper.setEditPassPhrase("");
- Intent intent = new Intent(PGPHelper.Intent.CREATE_KEY);
+ Intent intent = new Intent(EditKeyActivity.ACTION_CREATE_KEY);
startActivityForResult(intent, Id.message.create_key);
}
private void editKey() {
long keyId = ((KeyListAdapter) mList.getExpandableListAdapter()).getGroupId(mSelectedItem);
- Intent intent = new Intent(PGPHelper.Intent.EDIT_KEY);
+ Intent intent = new Intent(EditKeyActivity.ACTION_EDIT_KEY);
intent.putExtra(PGPHelper.EXTRA_KEY_ID, keyId);
startActivityForResult(intent, Id.message.edit_key);
}
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/SelectPublicKeyListActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/SelectPublicKeyListActivity.java
index 93434912d..5330e1573 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/SelectPublicKeyListActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/SelectPublicKeyListActivity.java
@@ -18,6 +18,7 @@ package org.thialfihar.android.apg.ui;
import java.util.Vector;
+import org.thialfihar.android.apg.Constants;
import org.thialfihar.android.apg.R;
import org.thialfihar.android.apg.Id;
import org.thialfihar.android.apg.helper.PGPHelper;
@@ -37,6 +38,11 @@ import android.widget.ListView;
import android.widget.TextView;
public class SelectPublicKeyListActivity extends BaseActivity {
+
+ // Not used in sourcode, but listed in AndroidManifest!
+ public static final String ACTION_SELECT_PUBLIC_KEYS = Constants.INTENT_PREFIX
+ + "SELECT_PUBLIC_KEYS";
+
protected ListView mList;
protected SelectPublicKeyListAdapter mListAdapter;
protected View mFilterLayout;
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/SelectSecretKeyListActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/SelectSecretKeyListActivity.java
index 1f5607d94..41ea57bc6 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/SelectSecretKeyListActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/SelectSecretKeyListActivity.java
@@ -16,6 +16,7 @@
package org.thialfihar.android.apg.ui;
+import org.thialfihar.android.apg.Constants;
import org.thialfihar.android.apg.R;
import org.thialfihar.android.apg.Id;
import org.thialfihar.android.apg.helper.PGPHelper;
@@ -36,6 +37,11 @@ import android.widget.ListView;
import android.widget.TextView;
public class SelectSecretKeyListActivity extends BaseActivity {
+
+ // Not used in sourcode, but listed in AndroidManifest!
+ public static final String ACTION_SELECT_SECRET_KEY = Constants.INTENT_PREFIX
+ + "SELECT_SECRET_KEY";
+
protected ListView mList;
protected SelectSecretKeyListAdapter mListAdapter;
protected View mFilterLayout;
diff --git a/org_apg/src/org/thialfihar/android/apg/ui/SignKeyActivity.java b/org_apg/src/org/thialfihar/android/apg/ui/SignKeyActivity.java
index 43c481a74..df18b1d26 100644
--- a/org_apg/src/org/thialfihar/android/apg/ui/SignKeyActivity.java
+++ b/org_apg/src/org/thialfihar/android/apg/ui/SignKeyActivity.java
@@ -33,10 +33,10 @@ import org.spongycastle.openpgp.PGPSignatureSubpacketGenerator;
import org.spongycastle.openpgp.PGPSignatureSubpacketVector;
import org.spongycastle.openpgp.PGPUtil;
import org.thialfihar.android.apg.Constants;
-import org.thialfihar.android.apg.HkpKeyServer;
import org.thialfihar.android.apg.Id;
import org.thialfihar.android.apg.R;
import org.thialfihar.android.apg.helper.PGPHelper;
+import org.thialfihar.android.apg.util.HkpKeyServer;
import com.actionbarsherlock.view.MenuItem;
diff --git a/org_apg/src/org/thialfihar/android/apg/HkpKeyServer.java b/org_apg/src/org/thialfihar/android/apg/util/HkpKeyServer.java
index aa3131a92..38f3e2dc3 100644
--- a/org_apg/src/org/thialfihar/android/apg/HkpKeyServer.java
+++ b/org_apg/src/org/thialfihar/android/apg/util/HkpKeyServer.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.thialfihar.android.apg;
+package org.thialfihar.android.apg.util;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
diff --git a/org_apg/src/org/thialfihar/android/apg/KeyServer.java b/org_apg/src/org/thialfihar/android/apg/util/KeyServer.java
index b1420ad0f..56a5fd8c1 100644
--- a/org_apg/src/org/thialfihar/android/apg/KeyServer.java
+++ b/org_apg/src/org/thialfihar/android/apg/util/KeyServer.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.thialfihar.android.apg;
+package org.thialfihar.android.apg.util;
import java.io.Serializable;
import java.util.Date;