aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-04-03 16:36:55 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2014-04-03 16:36:55 +0200
commit97e0b8d0c3bba4a6a797b0d0f239e63fe4e486cc (patch)
treee93a8b5d2c1e91c244e7b5d8d168ce2be7cd866c
parent0657f9289a220974d24de379295eeb976ebee7f8 (diff)
downloadopen-keychain-97e0b8d0c3bba4a6a797b0d0f239e63fe4e486cc.tar.gz
open-keychain-97e0b8d0c3bba4a6a797b0d0f239e63fe4e486cc.tar.bz2
open-keychain-97e0b8d0c3bba4a6a797b0d0f239e63fe4e486cc.zip
Callback for OpenPgpServiceConnection
-rw-r--r--OpenPGP-Keychain-API/libraries/openpgp-api-library/src/org/openintents/openpgp/util/OpenPgpServiceConnection.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/OpenPGP-Keychain-API/libraries/openpgp-api-library/src/org/openintents/openpgp/util/OpenPgpServiceConnection.java b/OpenPGP-Keychain-API/libraries/openpgp-api-library/src/org/openintents/openpgp/util/OpenPgpServiceConnection.java
index 346055dcd..0395a7bc5 100644
--- a/OpenPGP-Keychain-API/libraries/openpgp-api-library/src/org/openintents/openpgp/util/OpenPgpServiceConnection.java
+++ b/OpenPGP-Keychain-API/libraries/openpgp-api-library/src/org/openintents/openpgp/util/OpenPgpServiceConnection.java
@@ -25,16 +25,46 @@ import android.content.ServiceConnection;
import android.os.IBinder;
public class OpenPgpServiceConnection {
+
+ // interface to create callbacks for onServiceConnected
+ public interface OnBound {
+ public void onBound(IOpenPgpService service);
+ }
+
private Context mApplicationContext;
private IOpenPgpService mService;
private String mProviderPackageName;
+ private OnBound mOnBoundListener;
+
+ /**
+ * Create new OpenPgpServiceConnection
+ *
+ * @param context
+ * @param providerPackageName specify package name of OpenPGP provider,
+ * e.g., "org.sufficientlysecure.keychain"
+ */
public OpenPgpServiceConnection(Context context, String providerPackageName) {
this.mApplicationContext = context.getApplicationContext();
this.mProviderPackageName = providerPackageName;
}
+ /**
+ * Create new OpenPgpServiceConnection
+ *
+ * @param context
+ * @param providerPackageName specify package name of OpenPGP provider,
+ * e.g., "org.sufficientlysecure.keychain"
+ * @param onBoundListener callback, executed when connection to service has been established
+ */
+ public OpenPgpServiceConnection(Context context, String providerPackageName,
+ OnBound onBoundListener) {
+ this.mApplicationContext = context.getApplicationContext();
+ this.mProviderPackageName = providerPackageName;
+ this.mOnBoundListener = onBoundListener;
+ }
+
public IOpenPgpService getService() {
return mService;
}
@@ -46,6 +76,9 @@ public class OpenPgpServiceConnection {
private ServiceConnection mServiceConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName name, IBinder service) {
mService = IOpenPgpService.Stub.asInterface(service);
+ if (mOnBoundListener != null) {
+ mOnBoundListener.onBound(mService);
+ }
}
public void onServiceDisconnected(ComponentName name) {