From 73ce6fc7bb9cd5a024bfe510e862dd9d6af3d2de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Tue, 23 Feb 2016 16:06:54 +0100 Subject: Passthrough of data Intent in methods of ApiPendingIntentFactory instead of constructor --- .../keychain/remote/ApiPendingIntentFactory.java | 54 +++++++++++----------- 1 file changed, 26 insertions(+), 28 deletions(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ApiPendingIntentFactory.java') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ApiPendingIntentFactory.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ApiPendingIntentFactory.java index 4a37af491..690a4d1a2 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ApiPendingIntentFactory.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/remote/ApiPendingIntentFactory.java @@ -41,25 +41,23 @@ import java.util.ArrayList; public class ApiPendingIntentFactory { Context mContext; - private Intent mPendingIntentData; - public ApiPendingIntentFactory(Context context, Intent data) { + public ApiPendingIntentFactory(Context context) { mContext = context; - mPendingIntentData = data; } - PendingIntent requiredInputPi(RequiredInputParcel requiredInput, + PendingIntent requiredInputPi(Intent data, RequiredInputParcel requiredInput, CryptoInputParcel cryptoInput) { switch (requiredInput.mType) { case NFC_MOVE_KEY_TO_CARD: case NFC_DECRYPT: case NFC_SIGN: { - return createNfcOperationPendingIntent(requiredInput, cryptoInput); + return createNfcOperationPendingIntent(data, requiredInput, cryptoInput); } case PASSPHRASE: { - return createPassphrasePendingIntent(requiredInput, cryptoInput); + return createPassphrasePendingIntent(data, requiredInput, cryptoInput); } default: @@ -67,25 +65,25 @@ public class ApiPendingIntentFactory { } } - private PendingIntent createNfcOperationPendingIntent(RequiredInputParcel requiredInput, CryptoInputParcel cryptoInput) { + private PendingIntent createNfcOperationPendingIntent(Intent data, RequiredInputParcel requiredInput, CryptoInputParcel cryptoInput) { Intent intent = new Intent(mContext, RemoteSecurityTokenOperationActivity.class); // pass params through to activity that it can be returned again later to repeat pgp operation intent.putExtra(RemoteSecurityTokenOperationActivity.EXTRA_REQUIRED_INPUT, requiredInput); intent.putExtra(RemoteSecurityTokenOperationActivity.EXTRA_CRYPTO_INPUT, cryptoInput); - return createInternal(intent); + return createInternal(data, intent); } - private PendingIntent createPassphrasePendingIntent(RequiredInputParcel requiredInput, CryptoInputParcel cryptoInput) { + private PendingIntent createPassphrasePendingIntent(Intent data, RequiredInputParcel requiredInput, CryptoInputParcel cryptoInput) { Intent intent = new Intent(mContext, RemotePassphraseDialogActivity.class); // pass params through to activity that it can be returned again later to repeat pgp operation intent.putExtra(RemotePassphraseDialogActivity.EXTRA_REQUIRED_INPUT, requiredInput); intent.putExtra(RemotePassphraseDialogActivity.EXTRA_CRYPTO_INPUT, cryptoInput); - return createInternal(intent); + return createInternal(data, intent); } - PendingIntent createSelectPublicKeyPendingIntent(long[] keyIdsArray, ArrayList missingEmails, + PendingIntent createSelectPublicKeyPendingIntent(Intent data, long[] keyIdsArray, ArrayList missingEmails, ArrayList duplicateEmails, boolean noUserIdsCheck) { Intent intent = new Intent(mContext, RemoteSelectPubKeyActivity.class); intent.putExtra(RemoteSelectPubKeyActivity.EXTRA_SELECTED_MASTER_KEY_IDS, keyIdsArray); @@ -93,58 +91,58 @@ public class ApiPendingIntentFactory { intent.putExtra(RemoteSelectPubKeyActivity.EXTRA_MISSING_EMAILS, missingEmails); intent.putExtra(RemoteSelectPubKeyActivity.EXTRA_DUPLICATE_EMAILS, duplicateEmails); - return createInternal(intent); + return createInternal(data, intent); } - PendingIntent createImportFromKeyserverPendingIntent(long masterKeyId) { + PendingIntent createImportFromKeyserverPendingIntent(Intent data, long masterKeyId) { Intent intent = new Intent(mContext, RemoteImportKeysActivity.class); intent.setAction(RemoteImportKeysActivity.ACTION_IMPORT_KEY_FROM_KEYSERVER_AND_RETURN_RESULT); intent.putExtra(RemoteImportKeysActivity.EXTRA_KEY_ID, masterKeyId); - return createInternal(intent); + return createInternal(data, intent); } - PendingIntent createSelectAllowedKeysPendingIntent(String packageName) { + PendingIntent createSelectAllowedKeysPendingIntent(Intent data, String packageName) { Intent intent = new Intent(mContext, SelectAllowedKeysActivity.class); intent.setData(KeychainContract.ApiApps.buildByPackageNameUri(packageName)); - return createInternal(intent); + return createInternal(data, intent); } - PendingIntent createShowKeyPendingIntent(long masterKeyId) { + PendingIntent createShowKeyPendingIntent(Intent data, long masterKeyId) { Intent intent = new Intent(mContext, ViewKeyActivity.class); intent.setData(KeychainContract.KeyRings.buildGenericKeyRingUri(masterKeyId)); - return createInternal(intent); + return createInternal(data, intent); } - PendingIntent createSelectSignKeyIdPendingIntent(String packageName, String preferredUserId) { + PendingIntent createSelectSignKeyIdPendingIntent(Intent data, String packageName, String preferredUserId) { Intent intent = new Intent(mContext, SelectSignKeyIdActivity.class); intent.setData(KeychainContract.ApiApps.buildByPackageNameUri(packageName)); intent.putExtra(SelectSignKeyIdActivity.EXTRA_USER_ID, preferredUserId); - return createInternal(intent); + return createInternal(data, intent); } @Deprecated - PendingIntent createAccountCreationPendingIntent(String packageName, String accountName) { + PendingIntent createAccountCreationPendingIntent(Intent data, String packageName, String accountName) { Intent intent = new Intent(mContext, RemoteCreateAccountActivity.class); intent.putExtra(RemoteCreateAccountActivity.EXTRA_PACKAGE_NAME, packageName); intent.putExtra(RemoteCreateAccountActivity.EXTRA_ACC_NAME, accountName); - return createInternal(intent); + return createInternal(data, intent); } - PendingIntent createErrorPendingIntent(String errorMessage) { + PendingIntent createErrorPendingIntent(Intent data, String errorMessage) { Intent intent = new Intent(mContext, RemoteErrorActivity.class); intent.putExtra(RemoteErrorActivity.EXTRA_ERROR_MESSAGE, errorMessage); - return createInternal(intent); + return createInternal(data, intent); } - private PendingIntent createInternal(Intent intent) { + private PendingIntent createInternal(Intent data, Intent intent) { // re-attach "data" for pass through. It will be used later to repeat pgp operation - intent.putExtra(RemoteSecurityTokenOperationActivity.EXTRA_DATA, mPendingIntentData); + intent.putExtra(RemoteSecurityTokenOperationActivity.EXTRA_DATA, data); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { //noinspection ResourceType, looks like lint is missing FLAG_IMMUTABLE @@ -158,11 +156,11 @@ public class ApiPendingIntentFactory { } } - PendingIntent createRegisterPendingIntent(String packageName, byte[] packageCertificate) { + PendingIntent createRegisterPendingIntent(Intent data, String packageName, byte[] packageCertificate) { Intent intent = new Intent(mContext, RemoteRegisterActivity.class); intent.putExtra(RemoteRegisterActivity.EXTRA_PACKAGE_NAME, packageName); intent.putExtra(RemoteRegisterActivity.EXTRA_PACKAGE_SIGNATURE, packageCertificate); - intent.putExtra(RemoteRegisterActivity.EXTRA_DATA, mPendingIntentData); + intent.putExtra(RemoteRegisterActivity.EXTRA_DATA, data); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { //noinspection ResourceType, looks like lint is missing FLAG_IMMUTABLE -- cgit v1.2.3