From d13cd0793cb4dc578fdc557ca0b8bbaf2fd46407 Mon Sep 17 00:00:00 2001 From: Kirill Mityakov Date: Mon, 18 Jul 2016 23:59:33 +0300 Subject: [PATCH 1/2] Don't encrypt null values --- .../in/co/ophio/secure/core/ObscuredSharedPreferences.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/in/co/ophio/secure/core/ObscuredSharedPreferences.java b/library/src/main/java/in/co/ophio/secure/core/ObscuredSharedPreferences.java index d74198d..e83a979 100644 --- a/library/src/main/java/in/co/ophio/secure/core/ObscuredSharedPreferences.java +++ b/library/src/main/java/in/co/ophio/secure/core/ObscuredSharedPreferences.java @@ -283,13 +283,13 @@ public Editor putLong(String key, long value) { @Override public Editor putString(String key, String value) { - delegate.putString(encryptKey(key), encrypt(value)); + delegate.putString(encryptKey(key), value != null ? encrypt(value) : null); return this; } @Override public SharedPreferences.Editor putStringSet(String key, Set values) { - delegate.putStringSet(encryptKey(key), encryptSet(values)); + delegate.putStringSet(encryptKey(key), values != null ? encryptSet(values) : null); return this; } From 720a988e5a42bc69d2deddc07c6641be59743c58 Mon Sep 17 00:00:00 2001 From: Kirill Mityakov Date: Tue, 19 Jul 2016 00:24:23 +0300 Subject: [PATCH 2/2] added testSetNulls --- .../core/ObscuredSharedPreferencesTest.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/library/src/androidTest/java/in/co/ophio/secure/core/ObscuredSharedPreferencesTest.java b/library/src/androidTest/java/in/co/ophio/secure/core/ObscuredSharedPreferencesTest.java index 0fa4a4c..48704f0 100644 --- a/library/src/androidTest/java/in/co/ophio/secure/core/ObscuredSharedPreferencesTest.java +++ b/library/src/androidTest/java/in/co/ophio/secure/core/ObscuredSharedPreferencesTest.java @@ -2,6 +2,7 @@ import android.content.SharedPreferences; import android.test.AndroidTestCase; +import org.mockito.internal.util.collections.Sets; import java.util.HashSet; import java.util.Map; @@ -99,4 +100,18 @@ public void testRemove() throws Exception { obscuredSharedPreferences.edit().remove(KEY_STRING); assertThat(obscuredSharedPreferences.contains(KEY_STRING), is(true)); } + + public void testSetNulls() throws Exception { + obscuredSharedPreferences.edit().putString(KEY_STRING, "test").commit(); + assertNotNull(obscuredSharedPreferences.getString(KEY_STRING, null)); + + obscuredSharedPreferences.edit().putString(KEY_STRING, null).commit(); + assertNull(obscuredSharedPreferences.getString(KEY_STRING, null)); + + obscuredSharedPreferences.edit().putStringSet(KEY_STRINGSET, Sets.newSet("one", "two")).commit(); + assertNotNull(obscuredSharedPreferences.getStringSet(KEY_STRINGSET, null)); + + obscuredSharedPreferences.edit().putStringSet(KEY_STRINGSET, null).commit(); + assertNull(obscuredSharedPreferences.getStringSet(KEY_STRINGSET, null)); + } }