aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-06-06 23:39:26 +0200
committerVincent Breitmoser <valodim@mugenguild.com>2015-06-06 23:40:22 +0200
commitb779211f55a126d54c643fb9f13a0a17b46c37bf (patch)
treea526af2e5d385691c20393560443e17f9a61201a /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java
parentfa614383065a22269c5ca249819c46b82e20a194 (diff)
parent7cfc0d80d0b4318ce1ae027536d70c2cda4c8605 (diff)
downloadopen-keychain-b779211f55a126d54c643fb9f13a0a17b46c37bf.tar.gz
open-keychain-b779211f55a126d54c643fb9f13a0a17b46c37bf.tar.bz2
open-keychain-b779211f55a126d54c643fb9f13a0a17b46c37bf.zip
Merge branch 'master' into v/multi-decrypt
this also fixes weird-bug Conflicts: OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFilesFragment.java OpenKeychain/src/main/res/values/strings.xml
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java60
1 files changed, 45 insertions, 15 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java
index 10442ade0..e206169bb 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptTextFragment.java
@@ -41,13 +41,15 @@ import org.sufficientlysecure.keychain.operations.results.SignEncryptResult;
import org.sufficientlysecure.keychain.pgp.KeyRing;
import org.sufficientlysecure.keychain.pgp.PgpConstants;
import org.sufficientlysecure.keychain.pgp.SignEncryptParcel;
-import org.sufficientlysecure.keychain.service.KeychainIntentService;
+import org.sufficientlysecure.keychain.service.KeychainService;
import org.sufficientlysecure.keychain.service.ServiceProgressHandler;
import org.sufficientlysecure.keychain.service.input.CryptoInputParcel;
import org.sufficientlysecure.keychain.ui.base.CachingCryptoOperationFragment;
-import org.sufficientlysecure.keychain.ui.dialog.ProgressDialogFragment;
import org.sufficientlysecure.keychain.ui.util.Notify;
+import org.sufficientlysecure.keychain.ui.util.Notify.ActionListener;
+import org.sufficientlysecure.keychain.ui.util.Notify.Style;
import org.sufficientlysecure.keychain.util.Passphrase;
+import org.sufficientlysecure.keychain.util.Preferences;
import org.sufficientlysecure.keychain.util.ShareHelper;
import java.util.HashSet;
@@ -131,8 +133,16 @@ public class EncryptTextFragment extends CachingCryptoOperationFragment<SignEncr
mMessage = getArguments().getString(ARG_TEXT);
}
+ Preferences prefs = Preferences.getPreferences(getActivity());
+
Bundle args = savedInstanceState == null ? getArguments() : savedInstanceState;
+
mUseCompression = args.getBoolean(ARG_USE_COMPRESSION, true);
+ if (args.containsKey(ARG_USE_COMPRESSION)) {
+ mUseCompression = args.getBoolean(ARG_USE_COMPRESSION, true);
+ } else {
+ mUseCompression = prefs.getTextUseCompression();
+ }
setHasOptionsMenu(true);
}
@@ -147,12 +157,9 @@ public class EncryptTextFragment extends CachingCryptoOperationFragment<SignEncr
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- if (item.isCheckable()) {
- item.setChecked(!item.isChecked());
- }
switch (item.getItemId()) {
case R.id.check_enable_compression: {
- mUseCompression = item.isChecked();
+ toggleEnableCompression(item, !item.isChecked());
break;
}
// case R.id.check_hidden_recipients: {
@@ -175,6 +182,28 @@ public class EncryptTextFragment extends CachingCryptoOperationFragment<SignEncr
return true;
}
+ public void toggleEnableCompression(MenuItem item, final boolean compress) {
+
+ mUseCompression = compress;
+ item.setChecked(compress);
+
+ Notify.create(getActivity(), compress
+ ? R.string.snack_compression_on
+ : R.string.snack_compression_off,
+ Notify.LENGTH_LONG, Style.OK, new ActionListener() {
+ @Override
+ public void onAction() {
+ Preferences.getPreferences(getActivity()).setTextUseCompression(compress);
+ Notify.create(getActivity(), compress
+ ? R.string.snack_compression_on
+ : R.string.snack_compression_off,
+ Notify.LENGTH_SHORT, Style.OK, null, R.string.btn_saved)
+ .show(EncryptTextFragment.this, false);
+ }
+ }, R.string.btn_save_default).show(this);
+
+ }
+
protected void onEncryptSuccess(SignEncryptResult result) {
if (mShareAfterEncrypt) {
// Share encrypted message/file
@@ -323,20 +352,21 @@ public class EncryptTextFragment extends CachingCryptoOperationFragment<SignEncr
}
// Send all information needed to service to edit key in other thread
- Intent intent = new Intent(getActivity(), KeychainIntentService.class);
- intent.setAction(KeychainIntentService.ACTION_SIGN_ENCRYPT);
+ Intent intent = new Intent(getActivity(), KeychainService.class);
+ intent.setAction(KeychainService.ACTION_SIGN_ENCRYPT);
Bundle data = new Bundle();
- data.putParcelable(KeychainIntentService.SIGN_ENCRYPT_PARCEL, actionsParcel);
- data.putParcelable(KeychainIntentService.EXTRA_CRYPTO_INPUT, cryptoInput);
- intent.putExtra(KeychainIntentService.EXTRA_DATA, data);
+ data.putParcelable(KeychainService.SIGN_ENCRYPT_PARCEL, actionsParcel);
+ data.putParcelable(KeychainService.EXTRA_CRYPTO_INPUT, cryptoInput);
+ intent.putExtra(KeychainService.EXTRA_DATA, data);
- // Message is received after encrypting is done in KeychainIntentService
+ // Message is received after encrypting is done in KeychainService
ServiceProgressHandler serviceHandler = new ServiceProgressHandler(
getActivity(),
getString(R.string.progress_encrypting),
- ProgressDialog.STYLE_HORIZONTAL,
- ProgressDialogFragment.ServiceType.KEYCHAIN_INTENT) {
+ ProgressDialog.STYLE_HORIZONTAL
+ ) {
+ @Override
public void handleMessage(Message message) {
// handle messages by standard KeychainIntentServiceHandler first
super.handleMessage(message);
@@ -359,7 +389,7 @@ public class EncryptTextFragment extends CachingCryptoOperationFragment<SignEncr
};
// Create a new Messenger for the communication back
Messenger messenger = new Messenger(serviceHandler);
- intent.putExtra(KeychainIntentService.EXTRA_MESSENGER, messenger);
+ intent.putExtra(KeychainService.EXTRA_MESSENGER, messenger);
// show progress dialog
serviceHandler.showProgressDialog(getActivity());