From 79fc0f97eafd6a70bd40bb8cddd50de52ef84f7c Mon Sep 17 00:00:00 2001 From: Adithya Abraham Philip Date: Thu, 11 Jun 2015 05:33:31 +0530 Subject: added proxy to all import operations using KeychainService --- .../keychain/ui/ImportKeysProxyActivity.java | 30 +++++++++++++++------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java index da713d0d8..1a03b8102 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysProxyActivity.java @@ -44,7 +44,9 @@ import org.sufficientlysecure.keychain.service.ImportKeyringParcel; import org.sufficientlysecure.keychain.ui.base.CryptoOperationHelper; import org.sufficientlysecure.keychain.util.IntentIntegratorSupportV4; import org.sufficientlysecure.keychain.util.Log; +import org.sufficientlysecure.keychain.util.ParcelableProxy; import org.sufficientlysecure.keychain.util.Preferences; +import org.sufficientlysecure.keychain.util.orbot.OrbotHelper; import java.util.ArrayList; import java.util.Locale; @@ -157,8 +159,7 @@ public class ImportKeysProxyActivity extends FragmentActivity returnResult(intent); return; } - - String fingerprint = uri.getEncodedSchemeSpecificPart().toLowerCase(Locale.ENGLISH); + final String fingerprint = uri.getEncodedSchemeSpecificPart().toLowerCase(Locale.ENGLISH); if (!fingerprint.matches("[a-fA-F0-9]{40}")) { SingletonResult result = new SingletonResult( SingletonResult.RESULT_ERROR, LogType.MSG_WRONG_QR_CODE_FP); @@ -194,23 +195,23 @@ public class ImportKeysProxyActivity extends FragmentActivity } } - public void importKeys(byte[] keyringData) { + public void importKeys(byte[] keyringData, ParcelableProxy parcelableProxy) { ParcelableKeyRing keyEntry = new ParcelableKeyRing(keyringData); ArrayList selectedEntries = new ArrayList<>(); selectedEntries.add(keyEntry); - startImportService(selectedEntries); + startImportService(selectedEntries, parcelableProxy); } - public void importKeys(String fingerprint) { + public void importKeys(String fingerprint, ParcelableProxy parcelableProxy) { ParcelableKeyRing keyEntry = new ParcelableKeyRing(fingerprint, null, null); ArrayList selectedEntries = new ArrayList<>(); selectedEntries.add(keyEntry); - startImportService(selectedEntries); + startImportService(selectedEntries, parcelableProxy); } - private void startImportService(ArrayList keyRings) { + private void startImportService(ArrayList keyRings, ParcelableProxy parcelableProxy) { // search config { @@ -273,8 +274,19 @@ public class ImportKeysProxyActivity extends FragmentActivity // only one message sent during the beam NdefMessage msg = (NdefMessage) rawMsgs[0]; // record 0 contains the MIME type, record 1 is the AAR, if present - byte[] receivedKeyringBytes = msg.getRecords()[0].getPayload(); - importKeys(receivedKeyringBytes); + final byte[] receivedKeyringBytes = msg.getRecords()[0].getPayload(); + final Preferences.ProxyPrefs proxyPrefs = Preferences.getPreferences(this) + .getProxyPrefs(); + Runnable ignoreTor = new Runnable() { + @Override + public void run() { + importKeys(receivedKeyringBytes, new ParcelableProxy(null, -1, null)); + } + }; + + if (OrbotHelper.isOrbotInRequiredState(R.string.orbot_ignore_tor, ignoreTor, proxyPrefs, this)) { + importKeys(receivedKeyringBytes, proxyPrefs.parcelableProxy); + } } } -- cgit v1.2.3