diff options
| author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-08-13 13:20:21 +0200 | 
|---|---|---|
| committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-08-13 13:20:21 +0200 | 
| commit | e4c86747926f6c9ae8c3eafd55409107886565b9 (patch) | |
| tree | 8acb6e75e9b53b4d876fe42ed4c8633393f3f809 /OpenKeychain/src | |
| parent | fd055a893be2bcc75dfb2ef768479e8536df6ffc (diff) | |
| parent | f34597a3c06d4ef6a096939237431aef6c2a3f96 (diff) | |
| download | open-keychain-e4c86747926f6c9ae8c3eafd55409107886565b9.tar.gz open-keychain-e4c86747926f6c9ae8c3eafd55409107886565b9.tar.bz2 open-keychain-e4c86747926f6c9ae8c3eafd55409107886565b9.zip | |
Merge pull request #760 from mar-v-in/fix-encrypt-intent
Fix encrypt intent
Diffstat (limited to 'OpenKeychain/src')
3 files changed, 20 insertions, 49 deletions
| diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java index b140c5a03..33deddd81 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java @@ -81,10 +81,6 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn      PagerTabStripAdapter mTabsAdapterContent;      // tabs -    Bundle mAsymmetricFragmentBundle = new Bundle(); -    Bundle mSymmetricFragmentBundle = new Bundle(); -    Bundle mMessageFragmentBundle = new Bundle(); -    Bundle mFileFragmentBundle = new Bundle();      int mSwitchToMode = PAGER_MODE_ASYMMETRIC;      int mSwitchToContent = PAGER_CONTENT_MESSAGE; @@ -93,7 +89,7 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn      private static final int PAGER_CONTENT_MESSAGE = 0;      private static final int PAGER_CONTENT_FILE = 1; -    // model used by message and file fragments +    // model used by fragments      private long mEncryptionKeyIds[] = null;      private String mEncryptionUserIds[] = null;      private long mSigningKeyId = Constants.key.none; @@ -503,16 +499,12 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn          // Handle intent actions          handleActions(getIntent()); -        mTabsAdapterMode.addTab(EncryptAsymmetricFragment.class, -                mAsymmetricFragmentBundle, getString(R.string.label_asymmetric)); -        mTabsAdapterMode.addTab(EncryptSymmetricFragment.class, -                mSymmetricFragmentBundle, getString(R.string.label_symmetric)); +        mTabsAdapterMode.addTab(EncryptAsymmetricFragment.class, null, getString(R.string.label_asymmetric)); +        mTabsAdapterMode.addTab(EncryptSymmetricFragment.class, null, getString(R.string.label_symmetric));          mViewPagerMode.setCurrentItem(mSwitchToMode); -        mTabsAdapterContent.addTab(EncryptMessageFragment.class, -                mMessageFragmentBundle, getString(R.string.label_message)); -        mTabsAdapterContent.addTab(EncryptFileFragment.class, -                mFileFragmentBundle, getString(R.string.label_files)); +        mTabsAdapterContent.addTab(EncryptMessageFragment.class, null, getString(R.string.label_message)); +        mTabsAdapterContent.addTab(EncryptFileFragment.class, null, getString(R.string.label_files));          mViewPagerContent.setCurrentItem(mSwitchToContent);          mUseArmor = Preferences.getPreferences(this).getDefaultAsciiArmor(); @@ -604,14 +596,10 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn          String textData = extras.getString(EXTRA_TEXT); -        long signatureKeyId = extras.getLong(EXTRA_SIGNATURE_KEY_ID); -        long[] encryptionKeyIds = extras.getLongArray(EXTRA_ENCRYPTION_KEY_IDS); +        mSigningKeyId = extras.getLong(EXTRA_SIGNATURE_KEY_ID); +        mEncryptionKeyIds = extras.getLongArray(EXTRA_ENCRYPTION_KEY_IDS);          // preselect keys given by intent -        mAsymmetricFragmentBundle.putLongArray(EncryptAsymmetricFragment.ARG_ENCRYPTION_KEY_IDS, -                encryptionKeyIds); -        mAsymmetricFragmentBundle.putLong(EncryptAsymmetricFragment.ARG_SIGNATURE_KEY_ID, -                signatureKeyId);          mSwitchToMode = PAGER_MODE_ASYMMETRIC;          /** @@ -619,11 +607,11 @@ public class EncryptActivity extends DrawerActivity implements EncryptActivityIn           */          if (ACTION_ENCRYPT.equals(action) && textData != null) {              // encrypt text based on given extra -            mMessageFragmentBundle.putString(EncryptMessageFragment.ARG_TEXT, textData); +            mMessage = textData;              mSwitchToContent = PAGER_CONTENT_MESSAGE;          } else if (ACTION_ENCRYPT.equals(action) && uris != null && !uris.isEmpty()) {              // encrypt file based on Uri -            mFileFragmentBundle.putParcelableArrayList(EncryptFileFragment.ARG_URIS, uris); +            mInputUris = uris;              mSwitchToContent = PAGER_CONTENT_FILE;          } else if (ACTION_ENCRYPT.equals(action)) {              Log.e(Constants.TAG, diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java index bc3b140c3..a402b6f68 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptAsymmetricFragment.java @@ -123,14 +123,10 @@ public class EncryptAsymmetricFragment extends Fragment implements EncryptActivi      @Override      public void onActivityCreated(Bundle savedInstanceState) {          super.onActivityCreated(savedInstanceState); - -        long signatureKeyId = getArguments().getLong(ARG_SIGNATURE_KEY_ID); -        long[] encryptionKeyIds = getArguments().getLongArray(ARG_ENCRYPTION_KEY_IDS); -          mProviderHelper = new ProviderHelper(getActivity()); -        // preselect keys given by arguments (given by Intent to EncryptActivity) -        preselectKeys(signatureKeyId, encryptionKeyIds, mProviderHelper); +        // preselect keys given +        preselectKeys();          getLoaderManager().initLoader(1, null, new LoaderManager.LoaderCallbacks<Cursor>() {              @Override @@ -187,19 +183,15 @@ public class EncryptAsymmetricFragment extends Fragment implements EncryptActivi      /**       * If an Intent gives a signatureMasterKeyId and/or encryptionMasterKeyIds, preselect those! -     * -     * @param preselectedSignatureKeyId -     * @param preselectedEncryptionKeyIds       */ -    private void preselectKeys(long preselectedSignatureKeyId, long[] preselectedEncryptionKeyIds, -                               ProviderHelper providerHelper) { +    private void preselectKeys() {          // TODO all of this works under the assumption that the first suitable subkey is always used!          // not sure if we need to distinguish between different subkeys here? -        if (preselectedSignatureKeyId != 0) { +        long signatureKey = mEncryptInterface.getSignatureKey(); +        if (signatureKey != Constants.key.none) {              try { -                CachedPublicKeyRing keyring = -                        providerHelper.getCachedPublicKeyRing( -                                KeyRings.buildUnifiedKeyRingUri(preselectedSignatureKeyId)); +                CachedPublicKeyRing keyring = mProviderHelper.getCachedPublicKeyRing( +                        KeyRings.buildUnifiedKeyRingUri(signatureKey));                  if(keyring.hasAnySecret()) {                      setSignatureKeyId(keyring.getMasterKeyId());                  } @@ -208,10 +200,11 @@ public class EncryptAsymmetricFragment extends Fragment implements EncryptActivi              }          } -        if (preselectedEncryptionKeyIds != null) { -            for (long preselectedId : preselectedEncryptionKeyIds) { +        long[] encryptionKeyIds = mEncryptInterface.getEncryptionKeys(); +        if (encryptionKeyIds != null) { +            for (long preselectedId : encryptionKeyIds) {                  try { -                    CachedPublicKeyRing ring = providerHelper.getCachedPublicKeyRing( +                    CachedPublicKeyRing ring = mProviderHelper.getCachedPublicKeyRing(                              KeyRings.buildUnifiedKeyRingsFindBySubkeyUri(preselectedId));                      mEncryptKeyView.addObject(mEncryptKeyView.new EncryptionKey(ring));                  } catch (PgpGeneralException e) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFileFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFileFragment.java index 8a9e17020..14d3d1c4a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFileFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptFileFragment.java @@ -111,8 +111,6 @@ public class EncryptFileFragment extends Fragment implements EncryptActivityInte      @Override      public void onActivityCreated(Bundle savedInstanceState) {          super.onActivityCreated(savedInstanceState); - -        addInputUris(getArguments().<Uri>getParcelableArrayList(ARG_URIS));      }      private void addInputUri() { @@ -125,14 +123,6 @@ public class EncryptFileFragment extends Fragment implements EncryptActivityInte          }      } -    private void addInputUris(List<Uri> uris) { -        if (uris != null) { -            for (Uri uri : uris) { -                addInputUri(uri); -            } -        } -    } -      private void addInputUri(Uri inputUri) {          if (inputUri == null) {              return; | 
