diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-04-03 16:36:55 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-04-03 16:36:55 +0200 |
commit | 97e0b8d0c3bba4a6a797b0d0f239e63fe4e486cc (patch) | |
tree | e93a8b5d2c1e91c244e7b5d8d168ce2be7cd866c /OpenPGP-Keychain-API | |
parent | 0657f9289a220974d24de379295eeb976ebee7f8 (diff) | |
download | open-keychain-97e0b8d0c3bba4a6a797b0d0f239e63fe4e486cc.tar.gz open-keychain-97e0b8d0c3bba4a6a797b0d0f239e63fe4e486cc.tar.bz2 open-keychain-97e0b8d0c3bba4a6a797b0d0f239e63fe4e486cc.zip |
Callback for OpenPgpServiceConnection
Diffstat (limited to 'OpenPGP-Keychain-API')
-rw-r--r-- | OpenPGP-Keychain-API/libraries/openpgp-api-library/src/org/openintents/openpgp/util/OpenPgpServiceConnection.java | 33 |
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) { |