From d149bfd3dbc1010d661b81e72e442c4d4f7b9fa0 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Wed, 21 Oct 2015 21:54:39 +0200 Subject: displaytextactivity: truncate displayed text if too long --- .../src/main/java/org/sufficientlysecure/keychain/Constants.java | 3 +++ .../org/sufficientlysecure/keychain/ui/DisplayTextActivity.java | 8 ++++++++ OpenKeychain/src/main/res/values/strings.xml | 2 ++ 3 files changed, 13 insertions(+) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java index 9623eaeda..79175e9ad 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/Constants.java @@ -79,6 +79,9 @@ public final class Constants { public static final int TEMPFILE_TTL = 24 * 60 * 60 * 1000; // 1 day + // the maximal length of plaintext to read in encrypt/decrypt text activities + public static final int TEXT_LENGTH_LIMIT = 1024 * 50; + public static final String SAFESLINGER_SERVER = "safeslinger-openpgp.appspot.com"; public static final class Path { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DisplayTextActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DisplayTextActivity.java index 4bcca09f1..2fa1aa1c2 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DisplayTextActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DisplayTextActivity.java @@ -28,9 +28,12 @@ import android.support.v4.app.Fragment; import android.widget.Toast; import org.openintents.openpgp.OpenPgpMetadata; +import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; import org.sufficientlysecure.keychain.operations.results.DecryptVerifyResult; import org.sufficientlysecure.keychain.ui.base.BaseActivity; +import org.sufficientlysecure.keychain.ui.util.Notify; +import org.sufficientlysecure.keychain.ui.util.Notify.Style; import org.sufficientlysecure.keychain.util.FileHelper; public class DisplayTextActivity extends BaseActivity { @@ -73,6 +76,11 @@ public class DisplayTextActivity extends BaseActivity { } if (plaintext != null) { + if (plaintext.length() > Constants.TEXT_LENGTH_LIMIT) { + plaintext = plaintext.substring(0, Constants.TEXT_LENGTH_LIMIT); + Notify.create(this, R.string.snack_text_too_long, Style.WARN).show(); + } + loadFragment(plaintext, result); } else { Toast.makeText(this, R.string.error_invalid_data, Toast.LENGTH_LONG).show(); diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index dd120023b..4df144531 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -1663,10 +1663,12 @@ "Backup already exists!" "Saved to OpenKeychain directory" Go back to check + "Text is too long to show in full!" "Share log?" "While logs can be super helpful for developers to find bugs in OpenKeychain, they can contain potential sensitive information such as data about the updated keys. Please make sure you are okay with sharing this information." "Share" "Cancel" + -- cgit v1.2.3