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,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

@@ -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() {