aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2015-06-30 17:14:17 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2015-06-30 17:14:17 +0200
commit677afa90fce133b81c195488e07f07a5a83e2f0b (patch)
tree127c6844082b0fdf840e10f0aad4923b80c38cf4
parent715188ccdaf9659aec2fec348505cd7675b62f52 (diff)
parentf29d8351bad70b3c3aa80f899c3a90030bd67e17 (diff)
downloadopen-keychain-677afa90fce133b81c195488e07f07a5a83e2f0b.tar.gz
open-keychain-677afa90fce133b81c195488e07f07a5a83e2f0b.tar.bz2
open-keychain-677afa90fce133b81c195488e07f07a5a83e2f0b.zip
Merge branch 'master' of github.com:open-keychain/open-keychain
-rw-r--r--OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/AsymmetricTextOperationTests.java33
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java13
-rw-r--r--OpenKeychain/src/main/res/layout/encrypt_text_fragment.xml7
3 files changed, 19 insertions, 34 deletions
diff --git a/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/AsymmetricTextOperationTests.java b/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/AsymmetricTextOperationTests.java
index 6b226142c..cb3d2cb17 100644
--- a/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/AsymmetricTextOperationTests.java
+++ b/OpenKeychain/src/androidTest/java/org/sufficientlysecure/keychain/ui/AsymmetricTextOperationTests.java
@@ -32,15 +32,14 @@ import org.junit.runner.RunWith;
import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.service.PassphraseCacheService;
import org.sufficientlysecure.keychain.ui.util.Notify.Style;
+import org.sufficientlysecure.keychain.util.FileHelper;
import static android.support.test.espresso.Espresso.onData;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.Espresso.pressBack;
import static android.support.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.action.ViewActions.typeText;
-import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist;
import static android.support.test.espresso.assertion.ViewAssertions.matches;
-import static android.support.test.espresso.contrib.DrawerActions.openDrawer;
import static android.support.test.espresso.matcher.ViewMatchers.hasDescendant;
import static android.support.test.espresso.matcher.ViewMatchers.isAssignableFrom;
import static android.support.test.espresso.matcher.ViewMatchers.isDescendantOfA;
@@ -115,33 +114,13 @@ public class AsymmetricTextOperationTests {
onView(withId(R.id.passphrase_passphrase)).perform(typeText("x"));
onView(withText(R.string.btn_unlock)).perform(click());
-
onView(isRecyclerItemView(R.id.decrypted_files_list,
hasDescendant(withText(R.string.filename_unknown_text))))
- .check(matches(allOf(withEncryptionStatus(true), withSignatureNone())));
-
- }
-
- }
-
- @Test
- public void testTextEncryptDecryptFromKeyView() throws Exception {
-
- String cleartext = randomString(10, 30);
-
- pressBack();
-
- { // encrypt
-
- // navigate to edit key dialog
- onData(withKeyItemId(0x9D604D2F310716A3L))
- .inAdapterView(allOf(isAssignableFrom(AdapterView.class),
- isDescendantOfA(withId(R.id.key_list_list))))
- .perform(click());
- onView(withId(R.id.view_key_action_encrypt_text)).perform(click());
-
- // make sure the encrypt is correctly set
- onView(withId(R.id.result_encryption_icon)).check(matches(withDisplayedChild(1)));
+ .check(matches(allOf(
+ hasDescendant(withText(FileHelper.readableFileSize(cleartext.length()))),
+ withEncryptionStatus(true),
+ withSignatureNone()
+ )));
}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java
index a0b470add..7c0b7eaef 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java
@@ -459,11 +459,16 @@ public class PassphraseCacheService extends Service {
* Called when one specific passphrase for keyId timed out
*/
private void timeout(long keyId) {
+
CachedPassphrase cPass = mPassphraseCache.get(keyId);
- // clean internal char[] from memory!
- cPass.getPassphrase().removeFromMemory();
- // remove passphrase object
- mPassphraseCache.remove(keyId);
+ if (cPass != null) {
+ if (cPass.getPassphrase() != null) {
+ // clean internal char[] from memory!
+ cPass.getPassphrase().removeFromMemory();
+ }
+ // remove passphrase object
+ mPassphraseCache.remove(keyId);
+ }
Log.d(Constants.TAG, "PassphraseCacheService Timeout of keyId " + keyId + ", removed from memory!");
diff --git a/OpenKeychain/src/main/res/layout/encrypt_text_fragment.xml b/OpenKeychain/src/main/res/layout/encrypt_text_fragment.xml
index 7645918f4..13b85dd88 100644
--- a/OpenKeychain/src/main/res/layout/encrypt_text_fragment.xml
+++ b/OpenKeychain/src/main/res/layout/encrypt_text_fragment.xml
@@ -6,15 +6,16 @@
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:paddingTop="4dp"
+ android:paddingBottom="4dp"
+ android:paddingLeft="8dp"
+ android:paddingRight="8dp"
android:fillViewport="true">
<EditText
android:id="@+id/encrypt_text_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="4dp"
- android:layout_marginLeft="16dp"
- android:layout_marginRight="16dp"
android:gravity="top"
android:inputType="text|textCapSentences|textMultiLine|textLongMessage"
android:hint="@string/encrypt_content_edit_text_hint" />