rename api to openpgp api

This commit is contained in:
Dominik Schürmann 2013-09-10 23:19:34 +02:00
parent aa449d2d4f
commit 9a5707c415
20 changed files with 177 additions and 190 deletions

View File

@ -4,9 +4,6 @@
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="org.sufficientlysecure.keychain.permission.ACCESS_API" />
<uses-permission android:name="org.sufficientlysecure.keychain.permission.ACCESS_KEYS" />
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="14" />
@ -25,25 +22,13 @@
</intent-filter>
</activity>
<activity
android:name=".IntentDemoActivity"
android:label="Intent Demo 1"
android:windowSoftInputMode="stateHidden" />
<activity
android:name=".CryptoProviderDemoActivity"
android:label="Crypto Provider"
android:windowSoftInputMode="stateHidden" />
<activity
android:name=".AidlDemoActivity"
android:label="Aidl Demo (ACCESS_API permission)"
android:name=".OpenPGPProviderActivity"
android:label="OpenPGP Provider"
android:windowSoftInputMode="stateHidden" />
<activity
android:name=".AidlDemoActivity2"
android:label="Aidl Demo (ACCESS_KEYS permission)"
android:windowSoftInputMode="stateHidden" />
<activity
android:name=".ContentProviderDemoActivity"
android:label="Content Provider Demo"
android:windowSoftInputMode="stateHidden" />
</application>
</manifest>

View File

@ -14,18 +14,18 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
import org.openintents.crypto.CryptoSignatureResult;
import org.openintents.crypto.CryptoError;
import org.openintents.openpgp.OpenPgpSignatureResult;
import org.openintents.openpgp.OpenPgpError;
interface ICryptoCallback {
interface IOpenPgpCallback {
/**
* CryptoSignatureResult is only returned if the Callback was used from decryptAndVerify
*
*/
oneway void onSuccess(in byte[] outputBytes, in CryptoSignatureResult signatureResult);
oneway void onSuccess(in byte[] outputBytes, in OpenPgpSignatureResult signatureResult);
oneway void onError(in CryptoError error);
oneway void onError(in OpenPgpError error);
}

View File

@ -14,15 +14,15 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
import org.openintents.crypto.ICryptoCallback;
import org.openintents.openpgp.IOpenPgpCallback;
/**
* All methods are oneway, which means they are asynchronous and non-blocking.
* Results are returned to the callback, which has to be implemented on client side.
*/
interface ICryptoService {
interface IOpenPgpService {
/**
* Encrypt
@ -36,7 +36,7 @@ interface ICryptoService {
* @param callback
* Callback where to return results
*/
oneway void encrypt(in byte[] inputBytes, in String[] encryptionUserIds, in boolean asciiArmor, in ICryptoCallback callback);
oneway void encrypt(in byte[] inputBytes, in String[] encryptionUserIds, in boolean asciiArmor, in IOpenPgpCallback callback);
/**
* Sign
@ -48,7 +48,7 @@ interface ICryptoService {
* @param callback
* Callback where to return results
*/
oneway void sign(in byte[] inputBytes, in boolean asciiArmor, in ICryptoCallback callback);
oneway void sign(in byte[] inputBytes, in boolean asciiArmor, in IOpenPgpCallback callback);
/**
* Encrypt and sign
@ -64,7 +64,7 @@ interface ICryptoService {
* @param callback
* Callback where to return results
*/
oneway void encryptAndSign(in byte[] inputBytes, in String[] encryptionUserIds, in boolean asciiArmor, in ICryptoCallback callback);
oneway void encryptAndSign(in byte[] inputBytes, in String[] encryptionUserIds, in boolean asciiArmor, in IOpenPgpCallback callback);
/**
* Decrypts and verifies given input bytes. If no signature is present this method
@ -75,6 +75,6 @@ interface ICryptoService {
* @param callback
* Callback where to return results
*/
oneway void decryptAndVerify(in byte[] inputBytes, in ICryptoCallback callback);
oneway void decryptAndVerify(in byte[] inputBytes, in IOpenPgpCallback callback);
}

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
// Declare CryptoError so AIDL can find it and knows that it implements the parcelable protocol.
parcelable CryptoError;
// Declare OpenPgpError so AIDL can find it and knows that it implements the parcelable protocol.
parcelable OpenPgpError;

View File

@ -14,27 +14,27 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
import android.os.Parcel;
import android.os.Parcelable;
public class CryptoError implements Parcelable {
public class OpenPgpError implements Parcelable {
public static final int ID_NO_OR_WRONG_PASSPHRASE = 1;
public static final int ID_NO_USER_IDS = 2;
int errorId;
String message;
public CryptoError() {
public OpenPgpError() {
}
public CryptoError(int errorId, String message) {
public OpenPgpError(int errorId, String message) {
this.errorId = errorId;
this.message = message;
}
public CryptoError(CryptoError b) {
public OpenPgpError(OpenPgpError b) {
this.errorId = b.errorId;
this.message = b.message;
}
@ -64,16 +64,16 @@ public class CryptoError implements Parcelable {
dest.writeString(message);
}
public static final Creator<CryptoError> CREATOR = new Creator<CryptoError>() {
public CryptoError createFromParcel(final Parcel source) {
CryptoError error = new CryptoError();
public static final Creator<OpenPgpError> CREATOR = new Creator<OpenPgpError>() {
public OpenPgpError createFromParcel(final Parcel source) {
OpenPgpError error = new OpenPgpError();
error.errorId = source.readInt();
error.message = source.readString();
return error;
}
public CryptoError[] newArray(final int size) {
return new CryptoError[size];
public OpenPgpError[] newArray(final int size) {
return new OpenPgpError[size];
}
};
}

View File

@ -14,9 +14,9 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
import org.openintents.crypto.ICryptoService;
import org.openintents.openpgp.IOpenPgpService;
import android.content.ComponentName;
import android.content.Context;
@ -25,27 +25,27 @@ import android.content.ServiceConnection;
import android.os.IBinder;
import android.util.Log;
public class CryptoServiceConnection {
public class OpenPgpServiceConnection {
private Context mApplicationContext;
private ICryptoService mService;
private IOpenPgpService mService;
private boolean bound;
private String cryptoProviderPackageName;
private static final String TAG = "CryptoConnection";
private static final String TAG = "OpenPgpServiceConnection";
public CryptoServiceConnection(Context context, String cryptoProviderPackageName) {
public OpenPgpServiceConnection(Context context, String cryptoProviderPackageName) {
mApplicationContext = context.getApplicationContext();
this.cryptoProviderPackageName = cryptoProviderPackageName;
}
public ICryptoService getService() {
public IOpenPgpService getService() {
return mService;
}
private ServiceConnection mCryptoServiceConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName name, IBinder service) {
mService = ICryptoService.Stub.asInterface(service);
mService = IOpenPgpService.Stub.asInterface(service);
Log.d(TAG, "connected to service");
bound = true;
}
@ -68,7 +68,7 @@ public class CryptoServiceConnection {
Log.d(TAG, "not bound yet");
Intent serviceIntent = new Intent();
serviceIntent.setAction("org.openintents.crypto.ICryptoService");
serviceIntent.setAction(IOpenPgpService.class.getName());
serviceIntent.setPackage(cryptoProviderPackageName);
mApplicationContext.bindService(serviceIntent, mCryptoServiceConnection,
Context.BIND_AUTO_CREATE);

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
// Declare CryptoSignatureResult so AIDL can find it and knows that it implements the parcelable protocol.
parcelable CryptoSignatureResult;
// Declare OpenPgpSignatureResult so AIDL can find it and knows that it implements the parcelable protocol.
parcelable OpenPgpSignatureResult;

View File

@ -14,23 +14,23 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
import android.os.Parcel;
import android.os.Parcelable;
public class CryptoSignatureResult implements Parcelable {
public class OpenPgpSignatureResult implements Parcelable {
String signatureUserId;
boolean signature;
boolean signatureSuccess;
boolean signatureUnknown;
public CryptoSignatureResult() {
public OpenPgpSignatureResult() {
}
public CryptoSignatureResult(String signatureUserId, boolean signature,
public OpenPgpSignatureResult(String signatureUserId, boolean signature,
boolean signatureSuccess, boolean signatureUnknown) {
this.signatureUserId = signatureUserId;
@ -39,7 +39,7 @@ public class CryptoSignatureResult implements Parcelable {
this.signatureUnknown = signatureUnknown;
}
public CryptoSignatureResult(CryptoSignatureResult b) {
public OpenPgpSignatureResult(OpenPgpSignatureResult b) {
this.signatureUserId = b.signatureUserId;
this.signature = b.signature;
@ -59,9 +59,9 @@ public class CryptoSignatureResult implements Parcelable {
dest.writeByte((byte) (signatureUnknown ? 1 : 0));
}
public static final Creator<CryptoSignatureResult> CREATOR = new Creator<CryptoSignatureResult>() {
public CryptoSignatureResult createFromParcel(final Parcel source) {
CryptoSignatureResult vr = new CryptoSignatureResult();
public static final Creator<OpenPgpSignatureResult> CREATOR = new Creator<OpenPgpSignatureResult>() {
public OpenPgpSignatureResult createFromParcel(final Parcel source) {
OpenPgpSignatureResult vr = new OpenPgpSignatureResult();
vr.signatureUserId = source.readString();
vr.signature = source.readByte() == 1;
vr.signatureSuccess = source.readByte() == 1;
@ -69,8 +69,8 @@ public class CryptoSignatureResult implements Parcelable {
return vr;
}
public CryptoSignatureResult[] newArray(final int size) {
return new CryptoSignatureResult[size];
public OpenPgpSignatureResult[] newArray(final int size) {
return new OpenPgpSignatureResult[size];
}
};

View File

@ -67,7 +67,7 @@ public class BaseActivity extends PreferenceActivity {
mCryptoProvider.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
startActivity(new Intent(mActivity, CryptoProviderDemoActivity.class));
startActivity(new Intent(mActivity, OpenPGPProviderActivity.class));
return false;
}

View File

@ -19,11 +19,11 @@ package org.sufficientlysecure.keychain.demo;
import java.util.ArrayList;
import java.util.List;
import org.openintents.crypto.CryptoError;
import org.openintents.crypto.CryptoServiceConnection;
import org.openintents.crypto.CryptoSignatureResult;
import org.openintents.crypto.ICryptoCallback;
import org.openintents.crypto.ICryptoService;
import org.openintents.openpgp.OpenPgpError;
import org.openintents.openpgp.OpenPgpServiceConnection;
import org.openintents.openpgp.OpenPgpSignatureResult;
import org.openintents.openpgp.IOpenPgpCallback;
import org.openintents.openpgp.IOpenPgpService;
import android.app.Activity;
import android.app.AlertDialog;
@ -42,14 +42,14 @@ import android.widget.ListAdapter;
import android.widget.TextView;
import android.widget.Toast;
public class CryptoProviderDemoActivity extends Activity {
public class OpenPGPProviderActivity extends Activity {
Activity mActivity;
EditText mMessage;
EditText mCiphertext;
EditText mEncryptUserIds;
private CryptoServiceConnection mCryptoServiceConnection;
private OpenPgpServiceConnection mCryptoServiceConnection;
@Override
public void onCreate(Bundle icicle) {
@ -68,10 +68,10 @@ public class CryptoProviderDemoActivity extends Activity {
/**
* Callback from remote crypto service
*/
final ICryptoCallback.Stub encryptCallback = new ICryptoCallback.Stub() {
final IOpenPgpCallback.Stub encryptCallback = new IOpenPgpCallback.Stub() {
@Override
public void onSuccess(final byte[] outputBytes, CryptoSignatureResult signatureResult)
public void onSuccess(final byte[] outputBytes, OpenPgpSignatureResult signatureResult)
throws RemoteException {
Log.d(Constants.TAG, "encryptCallback");
@ -85,16 +85,16 @@ public class CryptoProviderDemoActivity extends Activity {
}
@Override
public void onError(CryptoError error) throws RemoteException {
public void onError(OpenPgpError error) throws RemoteException {
handleError(error);
}
};
final ICryptoCallback.Stub decryptAndVerifyCallback = new ICryptoCallback.Stub() {
final IOpenPgpCallback.Stub decryptAndVerifyCallback = new IOpenPgpCallback.Stub() {
@Override
public void onSuccess(final byte[] outputBytes, final CryptoSignatureResult signatureResult)
public void onSuccess(final byte[] outputBytes, final OpenPgpSignatureResult signatureResult)
throws RemoteException {
Log.d(Constants.TAG, "decryptAndVerifyCallback");
@ -104,7 +104,7 @@ public class CryptoProviderDemoActivity extends Activity {
public void run() {
mMessage.setText(new String(outputBytes));
if (signatureResult != null) {
Toast.makeText(CryptoProviderDemoActivity.this,
Toast.makeText(OpenPGPProviderActivity.this,
"signature result:\n" + signatureResult.toString(),
Toast.LENGTH_LONG).show();
}
@ -114,13 +114,13 @@ public class CryptoProviderDemoActivity extends Activity {
}
@Override
public void onError(CryptoError error) throws RemoteException {
public void onError(OpenPgpError error) throws RemoteException {
handleError(error);
}
};
private void handleError(final CryptoError error) {
private void handleError(final OpenPgpError error) {
mActivity.runOnUiThread(new Runnable() {
@Override
@ -186,12 +186,12 @@ public class CryptoProviderDemoActivity extends Activity {
}
}
private static class CryptoProviderElement {
private static class OpenPGPProviderElement {
private String packageName;
private String simpleName;
private Drawable icon;
public CryptoProviderElement(String packageName, String simpleName, Drawable icon) {
public OpenPGPProviderElement(String packageName, String simpleName, Drawable icon) {
this.packageName = packageName;
this.simpleName = simpleName;
this.icon = icon;
@ -204,9 +204,9 @@ public class CryptoProviderDemoActivity extends Activity {
}
private void selectCryptoProvider() {
Intent intent = new Intent(ICryptoService.class.getName());
Intent intent = new Intent(IOpenPgpService.class.getName());
final ArrayList<CryptoProviderElement> providerList = new ArrayList<CryptoProviderElement>();
final ArrayList<OpenPGPProviderElement> providerList = new ArrayList<OpenPGPProviderElement>();
List<ResolveInfo> resInfo = getPackageManager().queryIntentServices(intent, 0);
if (!resInfo.isEmpty()) {
@ -218,17 +218,17 @@ public class CryptoProviderDemoActivity extends Activity {
String simpleName = String.valueOf(resolveInfo.serviceInfo
.loadLabel(getPackageManager()));
Drawable icon = resolveInfo.serviceInfo.loadIcon(getPackageManager());
providerList.add(new CryptoProviderElement(packageName, simpleName, icon));
providerList.add(new OpenPGPProviderElement(packageName, simpleName, icon));
}
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Select Crypto Provider!");
alert.setTitle("Select OpenPGP Provider!");
alert.setCancelable(false);
if (!providerList.isEmpty()) {
// Init ArrayAdapter with Crypto Providers
ListAdapter adapter = new ArrayAdapter<CryptoProviderElement>(this,
ListAdapter adapter = new ArrayAdapter<OpenPGPProviderElement>(this,
android.R.layout.select_dialog_item, android.R.id.text1, providerList) {
public View getView(int position, View convertView, ViewGroup parent) {
// User super class to create the View
@ -253,15 +253,15 @@ public class CryptoProviderDemoActivity extends Activity {
String packageName = providerList.get(position).packageName;
// bind to service
mCryptoServiceConnection = new CryptoServiceConnection(
CryptoProviderDemoActivity.this, packageName);
mCryptoServiceConnection = new OpenPgpServiceConnection(
OpenPGPProviderActivity.this, packageName);
mCryptoServiceConnection.bindToService();
dialog.dismiss();
}
});
} else {
alert.setMessage("No Crypto Provider installed!");
alert.setMessage("No OpenPGP Provider installed!");
}
alert.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {

View File

@ -380,10 +380,10 @@
<!-- android:permission="org.sufficientlysecure.keychain.permission.ACCESS_API" /> -->
<!-- Remote API internal intents -->
<!-- OpenPGP Remote Service API internal -->
<activity
android:name="org.sufficientlysecure.keychain.remote_api.CryptoServiceActivity"
android:name="org.sufficientlysecure.keychain.remote_api.OpenPgpServiceActivity"
android:exported="false"
android:label="@string/app_name"
android:launchMode="singleTop"
@ -399,10 +399,10 @@
android:configChanges="orientation|screenSize|keyboardHidden|keyboard"
android:exported="false" />
<!-- Remote API -->
<!-- OpenPGP Remote Service API -->
<service
android:name="org.sufficientlysecure.keychain.remote_api.CryptoService"
android:name="org.sufficientlysecure.keychain.remote_api.OpenPgpService"
android:enabled="true"
android:exported="true"
android:process=":crypto" >

View File

@ -14,19 +14,18 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
import org.openintents.crypto.CryptoSignatureResult;
import org.openintents.crypto.CryptoError;
import org.openintents.openpgp.OpenPgpSignatureResult;
import org.openintents.openpgp.OpenPgpError;
interface ICryptoCallback {
interface IOpenPgpCallback {
/**
* CryptoSignatureResult is only returned if the Callback was used from decryptAndVerify
*
*/
oneway void onSuccess(in byte[] outputBytes, in CryptoSignatureResult signatureResult);
oneway void onSuccess(in byte[] outputBytes, in OpenPgpSignatureResult signatureResult);
oneway void onError(in CryptoError error);
oneway void onError(in OpenPgpError error);
}

View File

@ -14,15 +14,15 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
import org.openintents.crypto.ICryptoCallback;
import org.openintents.openpgp.IOpenPgpCallback;
/**
* All methods are oneway, which means they are asynchronous and non-blocking.
* Results are returned to the callback, which has to be implemented on client side.
*/
interface ICryptoService {
interface IOpenPgpService {
/**
* Encrypt
@ -36,7 +36,7 @@ interface ICryptoService {
* @param callback
* Callback where to return results
*/
oneway void encrypt(in byte[] inputBytes, in String[] encryptionUserIds, in boolean asciiArmor, in ICryptoCallback callback);
oneway void encrypt(in byte[] inputBytes, in String[] encryptionUserIds, in boolean asciiArmor, in IOpenPgpCallback callback);
/**
* Sign
@ -48,7 +48,7 @@ interface ICryptoService {
* @param callback
* Callback where to return results
*/
oneway void sign(in byte[] inputBytes, in boolean asciiArmor, in ICryptoCallback callback);
oneway void sign(in byte[] inputBytes, in boolean asciiArmor, in IOpenPgpCallback callback);
/**
* Encrypt and sign
@ -64,7 +64,7 @@ interface ICryptoService {
* @param callback
* Callback where to return results
*/
oneway void encryptAndSign(in byte[] inputBytes, in String[] encryptionUserIds, in boolean asciiArmor, in ICryptoCallback callback);
oneway void encryptAndSign(in byte[] inputBytes, in String[] encryptionUserIds, in boolean asciiArmor, in IOpenPgpCallback callback);
/**
* Decrypts and verifies given input bytes. If no signature is present this method
@ -75,6 +75,6 @@ interface ICryptoService {
* @param callback
* Callback where to return results
*/
oneway void decryptAndVerify(in byte[] inputBytes, in ICryptoCallback callback);
oneway void decryptAndVerify(in byte[] inputBytes, in IOpenPgpCallback callback);
}

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
// Declare CryptoError so AIDL can find it and knows that it implements the parcelable protocol.
parcelable CryptoError;
// Declare OpenPgpError so AIDL can find it and knows that it implements the parcelable protocol.
parcelable OpenPgpError;

View File

@ -14,24 +14,27 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
import android.os.Parcel;
import android.os.Parcelable;
public class CryptoError implements Parcelable {
public class OpenPgpError implements Parcelable {
public static final int ID_NO_OR_WRONG_PASSPHRASE = 1;
public static final int ID_NO_USER_IDS = 2;
int errorId;
String message;
public CryptoError() {
public OpenPgpError() {
}
public CryptoError(int errorId, String message) {
public OpenPgpError(int errorId, String message) {
this.errorId = errorId;
this.message = message;
}
public CryptoError(CryptoError b) {
public OpenPgpError(OpenPgpError b) {
this.errorId = b.errorId;
this.message = b.message;
}
@ -61,16 +64,16 @@ public class CryptoError implements Parcelable {
dest.writeString(message);
}
public static final Creator<CryptoError> CREATOR = new Creator<CryptoError>() {
public CryptoError createFromParcel(final Parcel source) {
CryptoError error = new CryptoError();
public static final Creator<OpenPgpError> CREATOR = new Creator<OpenPgpError>() {
public OpenPgpError createFromParcel(final Parcel source) {
OpenPgpError error = new OpenPgpError();
error.errorId = source.readInt();
error.message = source.readString();
return error;
}
public CryptoError[] newArray(final int size) {
return new CryptoError[size];
public OpenPgpError[] newArray(final int size) {
return new OpenPgpError[size];
}
};
}

View File

@ -14,9 +14,9 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
import org.openintents.crypto.ICryptoService;
import org.openintents.openpgp.IOpenPgpService;
import android.content.ComponentName;
import android.content.Context;
@ -25,27 +25,27 @@ import android.content.ServiceConnection;
import android.os.IBinder;
import android.util.Log;
public class CryptoServiceConnection {
public class OpenPgpServiceConnection {
private Context mApplicationContext;
private ICryptoService mService;
private IOpenPgpService mService;
private boolean bound;
private String cryptoProviderPackageName;
private static final String TAG = "CryptoConnection";
private static final String TAG = "OpenPgpServiceConnection";
public CryptoServiceConnection(Context context, String cryptoProviderPackageName) {
public OpenPgpServiceConnection(Context context, String cryptoProviderPackageName) {
mApplicationContext = context.getApplicationContext();
this.cryptoProviderPackageName = cryptoProviderPackageName;
}
public ICryptoService getService() {
public IOpenPgpService getService() {
return mService;
}
private ServiceConnection mCryptoServiceConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName name, IBinder service) {
mService = ICryptoService.Stub.asInterface(service);
mService = IOpenPgpService.Stub.asInterface(service);
Log.d(TAG, "connected to service");
bound = true;
}
@ -68,7 +68,7 @@ public class CryptoServiceConnection {
Log.d(TAG, "not bound yet");
Intent serviceIntent = new Intent();
serviceIntent.setAction("org.openintents.crypto.ICryptoService");
serviceIntent.setAction(IOpenPgpService.class.getName());
serviceIntent.setPackage(cryptoProviderPackageName);
mApplicationContext.bindService(serviceIntent, mCryptoServiceConnection,
Context.BIND_AUTO_CREATE);

View File

@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
// Declare CryptoSignatureResult so AIDL can find it and knows that it implements the parcelable protocol.
parcelable CryptoSignatureResult;
// Declare OpenPgpSignatureResult so AIDL can find it and knows that it implements the parcelable protocol.
parcelable OpenPgpSignatureResult;

View File

@ -14,23 +14,23 @@
* limitations under the License.
*/
package org.openintents.crypto;
package org.openintents.openpgp;
import android.os.Parcel;
import android.os.Parcelable;
public class CryptoSignatureResult implements Parcelable {
public class OpenPgpSignatureResult implements Parcelable {
String signatureUserId;
boolean signature;
boolean signatureSuccess;
boolean signatureUnknown;
public CryptoSignatureResult() {
public OpenPgpSignatureResult() {
}
public CryptoSignatureResult(String signatureUserId, boolean signature,
public OpenPgpSignatureResult(String signatureUserId, boolean signature,
boolean signatureSuccess, boolean signatureUnknown) {
this.signatureUserId = signatureUserId;
@ -39,7 +39,7 @@ public class CryptoSignatureResult implements Parcelable {
this.signatureUnknown = signatureUnknown;
}
public CryptoSignatureResult(CryptoSignatureResult b) {
public OpenPgpSignatureResult(OpenPgpSignatureResult b) {
this.signatureUserId = b.signatureUserId;
this.signature = b.signature;
@ -59,9 +59,9 @@ public class CryptoSignatureResult implements Parcelable {
dest.writeByte((byte) (signatureUnknown ? 1 : 0));
}
public static final Creator<CryptoSignatureResult> CREATOR = new Creator<CryptoSignatureResult>() {
public CryptoSignatureResult createFromParcel(final Parcel source) {
CryptoSignatureResult vr = new CryptoSignatureResult();
public static final Creator<OpenPgpSignatureResult> CREATOR = new Creator<OpenPgpSignatureResult>() {
public OpenPgpSignatureResult createFromParcel(final Parcel source) {
OpenPgpSignatureResult vr = new OpenPgpSignatureResult();
vr.signatureUserId = source.readString();
vr.signature = source.readByte() == 1;
vr.signatureSuccess = source.readByte() == 1;
@ -69,8 +69,8 @@ public class CryptoSignatureResult implements Parcelable {
return vr;
}
public CryptoSignatureResult[] newArray(final int size) {
return new CryptoSignatureResult[size];
public OpenPgpSignatureResult[] newArray(final int size) {
return new OpenPgpSignatureResult[size];
}
};

View File

@ -26,10 +26,10 @@ import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import org.openintents.crypto.CryptoError;
import org.openintents.crypto.CryptoSignatureResult;
import org.openintents.crypto.ICryptoCallback;
import org.openintents.crypto.ICryptoService;
import org.openintents.openpgp.IOpenPgpCallback;
import org.openintents.openpgp.IOpenPgpService;
import org.openintents.openpgp.OpenPgpError;
import org.openintents.openpgp.OpenPgpSignatureResult;
import org.sufficientlysecure.keychain.Constants;
import org.sufficientlysecure.keychain.Id;
import org.sufficientlysecure.keychain.R;
@ -56,7 +56,7 @@ import android.os.Message;
import android.os.Messenger;
import android.os.RemoteException;
public class CryptoService extends Service {
public class OpenPgpService extends Service {
Context mContext;
final ArrayBlockingQueue<Runnable> mPoolQueue = new ArrayBlockingQueue<Runnable>(100);
@ -103,12 +103,12 @@ public class CryptoService extends Service {
// start passphrase dialog
Bundle extras = new Bundle();
extras.putLong(CryptoServiceActivity.EXTRA_SECRET_KEY_ID, keyId);
extras.putLong(OpenPgpServiceActivity.EXTRA_SECRET_KEY_ID, keyId);
PassphraseActivityCallback callback = new PassphraseActivityCallback();
Messenger messenger = new Messenger(new Handler(getMainLooper(), callback));
pauseQueueAndStartServiceActivity(CryptoServiceActivity.ACTION_CACHE_PASSPHRASE,
pauseQueueAndStartServiceActivity(OpenPgpServiceActivity.ACTION_CACHE_PASSPHRASE,
messenger, extras);
if (callback.isSuccess()) {
@ -199,12 +199,12 @@ public class CryptoService extends Service {
Messenger messenger = new Messenger(new Handler(getMainLooper(), callback));
Bundle extras = new Bundle();
extras.putLongArray(CryptoServiceActivity.EXTRA_SELECTED_MASTER_KEY_IDS, keyIdsArray);
extras.putStringArrayList(CryptoServiceActivity.EXTRA_MISSING_USER_IDS, missingUserIds);
extras.putStringArrayList(CryptoServiceActivity.EXTRA_DUBLICATE_USER_IDS,
extras.putLongArray(OpenPgpServiceActivity.EXTRA_SELECTED_MASTER_KEY_IDS, keyIdsArray);
extras.putStringArrayList(OpenPgpServiceActivity.EXTRA_MISSING_USER_IDS, missingUserIds);
extras.putStringArrayList(OpenPgpServiceActivity.EXTRA_DUBLICATE_USER_IDS,
dublicateUserIds);
pauseQueueAndStartServiceActivity(CryptoServiceActivity.ACTION_SELECT_PUB_KEYS,
pauseQueueAndStartServiceActivity(OpenPgpServiceActivity.ACTION_SELECT_PUB_KEYS,
messenger, extras);
if (callback.isSuccess()) {
@ -255,7 +255,7 @@ public class CryptoService extends Service {
};
private synchronized void encryptAndSignSafe(byte[] inputBytes, String[] encryptionUserIds,
boolean asciiArmor, ICryptoCallback callback, AppSettings appSettings, boolean sign)
boolean asciiArmor, IOpenPgpCallback callback, AppSettings appSettings, boolean sign)
throws RemoteException {
try {
// build InputData and write into OutputStream
@ -267,14 +267,14 @@ public class CryptoService extends Service {
long[] keyIds = getKeyIdsFromEmails(encryptionUserIds, appSettings.getKeyId());
if (keyIds == null) {
callback.onError(new CryptoError(CryptoError.ID_NO_USER_IDS, "No user ids!"));
callback.onError(new OpenPgpError(OpenPgpError.ID_NO_USER_IDS, "No user ids!"));
return;
}
if (sign) {
String passphrase = getCachedPassphrase(appSettings.getKeyId());
if (passphrase == null) {
callback.onError(new CryptoError(CryptoError.ID_NO_OR_WRONG_PASSPHRASE,
callback.onError(new OpenPgpError(OpenPgpError.ID_NO_OR_WRONG_PASSPHRASE,
"No or wrong passphrase!"));
return;
}
@ -300,7 +300,7 @@ public class CryptoService extends Service {
Log.e(Constants.TAG, "KeychainService, Exception!", e);
try {
callback.onError(new CryptoError(0, e.getMessage()));
callback.onError(new OpenPgpError(0, e.getMessage()));
} catch (Exception t) {
Log.e(Constants.TAG, "Error returning exception to client", t);
}
@ -308,7 +308,7 @@ public class CryptoService extends Service {
}
// TODO: asciiArmor?!
private void signSafe(byte[] inputBytes, ICryptoCallback callback, AppSettings appSettings)
private void signSafe(byte[] inputBytes, IOpenPgpCallback callback, AppSettings appSettings)
throws RemoteException {
try {
Log.d(Constants.TAG, "current therad id: " + Thread.currentThread().getId());
@ -322,7 +322,7 @@ public class CryptoService extends Service {
String passphrase = getCachedPassphrase(appSettings.getKeyId());
if (passphrase == null) {
callback.onError(new CryptoError(CryptoError.ID_NO_OR_WRONG_PASSPHRASE,
callback.onError(new OpenPgpError(OpenPgpError.ID_NO_OR_WRONG_PASSPHRASE,
"No or wrong passphrase!"));
return;
}
@ -341,14 +341,14 @@ public class CryptoService extends Service {
Log.e(Constants.TAG, "KeychainService, Exception!", e);
try {
callback.onError(new CryptoError(0, e.getMessage()));
callback.onError(new OpenPgpError(0, e.getMessage()));
} catch (Exception t) {
Log.e(Constants.TAG, "Error returning exception to client", t);
}
}
}
private synchronized void decryptAndVerifySafe(byte[] inputBytes, ICryptoCallback callback,
private synchronized void decryptAndVerifySafe(byte[] inputBytes, IOpenPgpCallback callback,
AppSettings appSettings) throws RemoteException {
try {
// TODO: this is not really needed
@ -432,7 +432,7 @@ public class CryptoService extends Service {
passphrase = getCachedPassphrase(secretKeyId);
if (passphrase == null) {
callback.onError(new CryptoError(CryptoError.ID_NO_OR_WRONG_PASSPHRASE,
callback.onError(new OpenPgpError(OpenPgpError.ID_NO_OR_WRONG_PASSPHRASE,
"No or wrong passphrase!"));
return;
}
@ -470,10 +470,10 @@ public class CryptoService extends Service {
boolean signatureUnknown = outputBundle
.getBoolean(KeychainIntentService.RESULT_SIGNATURE_UNKNOWN);
CryptoSignatureResult sigResult = null;
OpenPgpSignatureResult sigResult = null;
if (signature) {
sigResult = new CryptoSignatureResult(signatureUserId, signature, signatureSuccess,
signatureUnknown);
sigResult = new OpenPgpSignatureResult(signatureUserId, signature,
signatureSuccess, signatureUnknown);
}
// return over handler on client side
@ -482,18 +482,18 @@ public class CryptoService extends Service {
Log.e(Constants.TAG, "KeychainService, Exception!", e);
try {
callback.onError(new CryptoError(0, e.getMessage()));
callback.onError(new OpenPgpError(0, e.getMessage()));
} catch (Exception t) {
Log.e(Constants.TAG, "Error returning exception to client", t);
}
}
}
private final ICryptoService.Stub mBinder = new ICryptoService.Stub() {
private final IOpenPgpService.Stub mBinder = new IOpenPgpService.Stub() {
@Override
public void encrypt(final byte[] inputBytes, final String[] encryptionUserIds,
final boolean asciiArmor, final ICryptoCallback callback) throws RemoteException {
final boolean asciiArmor, final IOpenPgpCallback callback) throws RemoteException {
final AppSettings settings = getAppSettings();
@ -515,7 +515,7 @@ public class CryptoService extends Service {
@Override
public void encryptAndSign(final byte[] inputBytes, final String[] encryptionUserIds,
final boolean asciiArmor, final ICryptoCallback callback) throws RemoteException {
final boolean asciiArmor, final IOpenPgpCallback callback) throws RemoteException {
final AppSettings settings = getAppSettings();
@ -536,8 +536,8 @@ public class CryptoService extends Service {
}
@Override
public void sign(final byte[] inputBytes, boolean asciiArmor, final ICryptoCallback callback)
throws RemoteException {
public void sign(final byte[] inputBytes, boolean asciiArmor,
final IOpenPgpCallback callback) throws RemoteException {
final AppSettings settings = getAppSettings();
Runnable r = new Runnable() {
@ -557,7 +557,7 @@ public class CryptoService extends Service {
}
@Override
public void decryptAndVerify(final byte[] inputBytes, final ICryptoCallback callback)
public void decryptAndVerify(final byte[] inputBytes, final IOpenPgpCallback callback)
throws RemoteException {
final AppSettings settings = getAppSettings();
@ -591,12 +591,12 @@ public class CryptoService extends Service {
Log.e(Constants.TAG, "Not allowed to use service! Starting activity for registration!");
Bundle extras = new Bundle();
// TODO: currently simply uses first entry
extras.putString(CryptoServiceActivity.EXTRA_PACKAGE_NAME, callingPackages[0]);
extras.putString(OpenPgpServiceActivity.EXTRA_PACKAGE_NAME, callingPackages[0]);
RegisterActivityCallback callback = new RegisterActivityCallback();
Messenger messenger = new Messenger(new Handler(getMainLooper(), callback));
pauseQueueAndStartServiceActivity(CryptoServiceActivity.ACTION_REGISTER, messenger,
pauseQueueAndStartServiceActivity(OpenPgpServiceActivity.ACTION_REGISTER, messenger,
extras);
if (callback.isAllowed()) {
@ -726,11 +726,11 @@ public class CryptoService extends Service {
mThreadPool.pause();
Log.d(Constants.TAG, "starting activity...");
Intent intent = new Intent(getBaseContext(), CryptoServiceActivity.class);
Intent intent = new Intent(getBaseContext(), OpenPgpServiceActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(action);
extras.putParcelable(CryptoServiceActivity.EXTRA_MESSENGER, messenger);
extras.putParcelable(OpenPgpServiceActivity.EXTRA_MESSENGER, messenger);
intent.putExtras(extras);
startActivity(intent);

View File

@ -41,7 +41,7 @@ import android.widget.Toast;
import com.actionbarsherlock.app.SherlockFragmentActivity;
public class CryptoServiceActivity extends SherlockFragmentActivity {
public class OpenPgpServiceActivity extends SherlockFragmentActivity {
public static final String ACTION_REGISTER = Constants.INTENT_PREFIX + "API_ACTIVITY_REGISTER";
public static final String ACTION_CACHE_PASSPHRASE = Constants.INTENT_PREFIX
@ -84,7 +84,7 @@ public class CryptoServiceActivity extends SherlockFragmentActivity {
if (!finishHandled) {
Message msg = Message.obtain();
msg.arg1 = CryptoService.RegisterActivityCallback.CANCEL;
msg.arg1 = OpenPgpService.RegisterActivityCallback.CANCEL;
try {
mMessenger.send(msg);
} catch (RemoteException e) {
@ -120,17 +120,17 @@ public class CryptoServiceActivity extends SherlockFragmentActivity {
// user needs to select a key!
if (mSettingsFragment.getAppSettings().getKeyId() == Id.key.none) {
Toast.makeText(CryptoServiceActivity.this,
Toast.makeText(OpenPgpServiceActivity.this,
R.string.api_register_error_select_key, Toast.LENGTH_LONG)
.show();
} else {
ProviderHelper.insertApiApp(CryptoServiceActivity.this,
ProviderHelper.insertApiApp(OpenPgpServiceActivity.this,
mSettingsFragment.getAppSettings());
Message msg = Message.obtain();
msg.arg1 = CryptoService.RegisterActivityCallback.OKAY;
msg.arg1 = OpenPgpService.RegisterActivityCallback.OKAY;
Bundle data = new Bundle();
data.putString(CryptoService.RegisterActivityCallback.PACKAGE_NAME,
data.putString(OpenPgpService.RegisterActivityCallback.PACKAGE_NAME,
packageName);
msg.setData(data);
try {
@ -149,7 +149,7 @@ public class CryptoServiceActivity extends SherlockFragmentActivity {
// Disallow
Message msg = Message.obtain();
msg.arg1 = CryptoService.RegisterActivityCallback.CANCEL;
msg.arg1 = OpenPgpService.RegisterActivityCallback.CANCEL;
try {
mMessenger.send(msg);
} catch (RemoteException e) {
@ -210,10 +210,10 @@ public class CryptoServiceActivity extends SherlockFragmentActivity {
// ok
Message msg = Message.obtain();
msg.arg1 = CryptoService.SelectPubKeysActivityCallback.OKAY;
msg.arg1 = OpenPgpService.SelectPubKeysActivityCallback.OKAY;
Bundle data = new Bundle();
data.putLongArray(
CryptoService.SelectPubKeysActivityCallback.PUB_KEY_IDS,
OpenPgpService.SelectPubKeysActivityCallback.PUB_KEY_IDS,
mSelectFragment.getSelectedMasterKeyIds());
msg.setData(data);
try {
@ -231,7 +231,7 @@ public class CryptoServiceActivity extends SherlockFragmentActivity {
// cancel
Message msg = Message.obtain();
msg.arg1 = CryptoService.SelectPubKeysActivityCallback.CANCEL;
msg.arg1 = OpenPgpService.SelectPubKeysActivityCallback.CANCEL;
;
try {
mMessenger.send(msg);
@ -287,7 +287,7 @@ public class CryptoServiceActivity extends SherlockFragmentActivity {
public void handleMessage(Message message) {
if (message.what == PassphraseDialogFragment.MESSAGE_OKAY) {
Message msg = Message.obtain();
msg.arg1 = CryptoService.PassphraseActivityCallback.OKAY;
msg.arg1 = OpenPgpService.PassphraseActivityCallback.OKAY;
try {
mMessenger.send(msg);
} catch (RemoteException e) {
@ -295,7 +295,7 @@ public class CryptoServiceActivity extends SherlockFragmentActivity {
}
} else {
Message msg = Message.obtain();
msg.arg1 = CryptoService.PassphraseActivityCallback.CANCEL;
msg.arg1 = OpenPgpService.PassphraseActivityCallback.CANCEL;
try {
mMessenger.send(msg);
} catch (RemoteException e) {