diff options
Diffstat (limited to 'src')
37 files changed, 155 insertions, 29 deletions
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml new file mode 100644 index 0000000..98cb89f --- /dev/null +++ b/src/main/AndroidManifest.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="org.openintents.openpgp" + android:versionCode="1" + android:versionName="1.0" > + + <uses-sdk + android:minSdkVersion="9" + android:targetSdkVersion="19" /> + + <application/> + +</manifest>
\ No newline at end of file diff --git a/src/org/openintents/openpgp/IOpenPgpService.aidl b/src/main/aidl/org/openintents/openpgp/IOpenPgpService.aidl index 2451207..2451207 100644 --- a/src/org/openintents/openpgp/IOpenPgpService.aidl +++ b/src/main/aidl/org/openintents/openpgp/IOpenPgpService.aidl diff --git a/src/org/openintents/openpgp/OpenPgpError.java b/src/main/java/org/openintents/openpgp/OpenPgpError.java index ce8f21f..ce8f21f 100644 --- a/src/org/openintents/openpgp/OpenPgpError.java +++ b/src/main/java/org/openintents/openpgp/OpenPgpError.java diff --git a/src/org/openintents/openpgp/OpenPgpMetadata.java b/src/main/java/org/openintents/openpgp/OpenPgpMetadata.java index d620a57..d620a57 100644 --- a/src/org/openintents/openpgp/OpenPgpMetadata.java +++ b/src/main/java/org/openintents/openpgp/OpenPgpMetadata.java diff --git a/src/org/openintents/openpgp/OpenPgpSignatureResult.java b/src/main/java/org/openintents/openpgp/OpenPgpSignatureResult.java index 7eb06d9..7eb06d9 100644 --- a/src/org/openintents/openpgp/OpenPgpSignatureResult.java +++ b/src/main/java/org/openintents/openpgp/OpenPgpSignatureResult.java diff --git a/src/org/openintents/openpgp/util/OpenPgpApi.java b/src/main/java/org/openintents/openpgp/util/OpenPgpApi.java index dbfb797..dbfb797 100644 --- a/src/org/openintents/openpgp/util/OpenPgpApi.java +++ b/src/main/java/org/openintents/openpgp/util/OpenPgpApi.java diff --git a/src/org/openintents/openpgp/util/OpenPgpListPreference.java b/src/main/java/org/openintents/openpgp/util/OpenPgpListPreference.java index 31ba97c..31ba97c 100644 --- a/src/org/openintents/openpgp/util/OpenPgpListPreference.java +++ b/src/main/java/org/openintents/openpgp/util/OpenPgpListPreference.java diff --git a/src/org/openintents/openpgp/util/OpenPgpServiceConnection.java b/src/main/java/org/openintents/openpgp/util/OpenPgpServiceConnection.java index bbc8645..bbc8645 100644 --- a/src/org/openintents/openpgp/util/OpenPgpServiceConnection.java +++ b/src/main/java/org/openintents/openpgp/util/OpenPgpServiceConnection.java diff --git a/src/org/openintents/openpgp/util/OpenPgpUtils.java b/src/main/java/org/openintents/openpgp/util/OpenPgpUtils.java index a5e0163..ef0a88c 100644 --- a/src/org/openintents/openpgp/util/OpenPgpUtils.java +++ b/src/main/java/org/openintents/openpgp/util/OpenPgpUtils.java @@ -24,6 +24,7 @@ import java.util.regex.Pattern; import android.content.Context; import android.content.Intent; import android.content.pm.ResolveInfo; +import android.text.TextUtils; public class OpenPgpUtils { @@ -55,11 +56,7 @@ public class OpenPgpUtils { public static boolean isAvailable(Context context) { Intent intent = new Intent(OpenPgpApi.SERVICE_INTENT); List<ResolveInfo> resInfo = context.getPackageManager().queryIntentServices(intent, 0); - if (!resInfo.isEmpty()) { - return true; - } else { - return false; - } + return !resInfo.isEmpty(); } public static String convertKeyIdToHex(long keyId) { @@ -74,38 +71,36 @@ public class OpenPgpUtils { return hexString; } - private static final Pattern USER_ID_PATTERN = Pattern.compile("^(.*?)(?: \\((.*)\\))?(?: <(.*)>)?$"); + private static final Pattern USER_ID_PATTERN = Pattern.compile("^(.*?)(?: (\\[.*\\]))?(?: \\((.*)\\))?(?: <(.*)>)?$"); /** * Splits userId string into naming part, email part, and comment part + * <p/> + * User ID matching: + * http://fiddle.re/t4p6f * * @param userId - * @return array with naming (0), email (1), comment (2) + * @return theParsedUserInfo */ - public static String[] splitUserId(String userId) { - String[] result = new String[]{null, null, null}; - - if (userId == null || userId.equals("")) { - return result; + public static UserInfo splitUserId(final String userId) { + if (!TextUtils.isEmpty(userId)) { + final Matcher matcher = USER_ID_PATTERN.matcher(userId); + if (matcher.matches()) { + return new UserInfo(matcher.group(1), matcher.group(4), matcher.group(3)); + } } + return new UserInfo(null, null, null); + } - /* - * User ID matching: - * http://fiddle.re/t4p6f - * - * test cases: - * "Max Mustermann (this is a comment) <max@example.com>" - * "Max Mustermann <max@example.com>" - * "Max Mustermann (this is a comment)" - * "Max Mustermann [this is nothing]" - */ - Matcher matcher = USER_ID_PATTERN.matcher(userId); - if (matcher.matches()) { - result[0] = matcher.group(1); - result[1] = matcher.group(3); - result[2] = matcher.group(2); - } + public static class UserInfo { + public final String name; + public final String email; + public final String comment; - return result; + public UserInfo(String name, String email, String comment) { + this.name = name; + this.email = email; + this.comment = comment; + } } } diff --git a/src/org/openintents/openpgp/util/ParcelFileDescriptorUtil.java b/src/main/java/org/openintents/openpgp/util/ParcelFileDescriptorUtil.java index b9492f9..b9492f9 100644 --- a/src/org/openintents/openpgp/util/ParcelFileDescriptorUtil.java +++ b/src/main/java/org/openintents/openpgp/util/ParcelFileDescriptorUtil.java diff --git a/src/main/res/drawable-hdpi/ic_action_cancel_launchersize.png b/src/main/res/drawable-hdpi/ic_action_cancel_launchersize.png Binary files differnew file mode 100644 index 0000000..71b9118 --- /dev/null +++ b/src/main/res/drawable-hdpi/ic_action_cancel_launchersize.png diff --git a/src/main/res/drawable-hdpi/ic_action_cancel_launchersize_light.png b/src/main/res/drawable-hdpi/ic_action_cancel_launchersize_light.png Binary files differnew file mode 100644 index 0000000..73b1d08 --- /dev/null +++ b/src/main/res/drawable-hdpi/ic_action_cancel_launchersize_light.png diff --git a/src/main/res/drawable-mdpi/ic_action_cancel_launchersize.png b/src/main/res/drawable-mdpi/ic_action_cancel_launchersize.png Binary files differnew file mode 100644 index 0000000..270abf4 --- /dev/null +++ b/src/main/res/drawable-mdpi/ic_action_cancel_launchersize.png diff --git a/src/main/res/drawable-mdpi/ic_action_cancel_launchersize_light.png b/src/main/res/drawable-mdpi/ic_action_cancel_launchersize_light.png Binary files differnew file mode 100644 index 0000000..d841821 --- /dev/null +++ b/src/main/res/drawable-mdpi/ic_action_cancel_launchersize_light.png diff --git a/src/main/res/drawable-xhdpi/ic_action_cancel_launchersize.png b/src/main/res/drawable-xhdpi/ic_action_cancel_launchersize.png Binary files differnew file mode 100644 index 0000000..1e3571f --- /dev/null +++ b/src/main/res/drawable-xhdpi/ic_action_cancel_launchersize.png diff --git a/src/main/res/drawable-xhdpi/ic_action_cancel_launchersize_light.png b/src/main/res/drawable-xhdpi/ic_action_cancel_launchersize_light.png Binary files differnew file mode 100644 index 0000000..d505046 --- /dev/null +++ b/src/main/res/drawable-xhdpi/ic_action_cancel_launchersize_light.png diff --git a/src/main/res/drawable-xxhdpi/ic_action_cancel_launchersize.png b/src/main/res/drawable-xxhdpi/ic_action_cancel_launchersize.png Binary files differnew file mode 100644 index 0000000..5204460 --- /dev/null +++ b/src/main/res/drawable-xxhdpi/ic_action_cancel_launchersize.png diff --git a/src/main/res/drawable-xxhdpi/ic_action_cancel_launchersize_light.png b/src/main/res/drawable-xxhdpi/ic_action_cancel_launchersize_light.png Binary files differnew file mode 100644 index 0000000..d6fb86b --- /dev/null +++ b/src/main/res/drawable-xxhdpi/ic_action_cancel_launchersize_light.png diff --git a/src/main/res/values-cs/strings.xml b/src/main/res/values-cs/strings.xml new file mode 100644 index 0000000..c9fe1fa --- /dev/null +++ b/src/main/res/values-cs/strings.xml @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources> + <string name="openpgp_list_preference_none">Žádný</string> + <string name="openpgp_install_openkeychain_via">Instalovat OpenKeychain pomocí %s</string> +</resources> diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml new file mode 100644 index 0000000..91e800a --- /dev/null +++ b/src/main/res/values-de/strings.xml @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources> + <string name="openpgp_list_preference_none">Keine Auswahl</string> + <string name="openpgp_install_openkeychain_via">Installiere OpenKeychain mit %s</string> +</resources> diff --git a/src/main/res/values-es/strings.xml b/src/main/res/values-es/strings.xml new file mode 100644 index 0000000..da8979b --- /dev/null +++ b/src/main/res/values-es/strings.xml @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources> + <string name="openpgp_list_preference_none">Ninguno</string> + <string name="openpgp_install_openkeychain_via">Instalar OpenKeychain mediante %s</string> +</resources> diff --git a/src/main/res/values-et/strings.xml b/src/main/res/values-et/strings.xml new file mode 100644 index 0000000..c757504 --- /dev/null +++ b/src/main/res/values-et/strings.xml @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources/> diff --git a/src/main/res/values-fi/strings.xml b/src/main/res/values-fi/strings.xml new file mode 100644 index 0000000..c757504 --- /dev/null +++ b/src/main/res/values-fi/strings.xml @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources/> diff --git a/src/main/res/values-fr/strings.xml b/src/main/res/values-fr/strings.xml new file mode 100644 index 0000000..9b36df2 --- /dev/null +++ b/src/main/res/values-fr/strings.xml @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources> + <string name="openpgp_list_preference_none">Aucun</string> + <string name="openpgp_install_openkeychain_via">Installer OpenKeychain par %s</string> +</resources> diff --git a/src/main/res/values-is/strings.xml b/src/main/res/values-is/strings.xml new file mode 100644 index 0000000..c757504 --- /dev/null +++ b/src/main/res/values-is/strings.xml @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources/> diff --git a/src/main/res/values-it/strings.xml b/src/main/res/values-it/strings.xml new file mode 100644 index 0000000..23e8e80 --- /dev/null +++ b/src/main/res/values-it/strings.xml @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources> + <string name="openpgp_list_preference_none">Nessuno</string> + <string name="openpgp_install_openkeychain_via">Installa OpenKeychain via %s</string> +</resources> diff --git a/src/main/res/values-ja/strings.xml b/src/main/res/values-ja/strings.xml new file mode 100644 index 0000000..5e337f5 --- /dev/null +++ b/src/main/res/values-ja/strings.xml @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources> + <string name="openpgp_list_preference_none">無し</string> + <string name="openpgp_install_openkeychain_via">%s 経由でOpenKeychainをインストール</string> +</resources> diff --git a/src/main/res/values-nl/strings.xml b/src/main/res/values-nl/strings.xml new file mode 100644 index 0000000..c757504 --- /dev/null +++ b/src/main/res/values-nl/strings.xml @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources/> diff --git a/src/main/res/values-pl/strings.xml b/src/main/res/values-pl/strings.xml new file mode 100644 index 0000000..c757504 --- /dev/null +++ b/src/main/res/values-pl/strings.xml @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources/> diff --git a/src/main/res/values-pt/strings.xml b/src/main/res/values-pt/strings.xml new file mode 100644 index 0000000..c757504 --- /dev/null +++ b/src/main/res/values-pt/strings.xml @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources/> diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml new file mode 100644 index 0000000..e8fd1dd --- /dev/null +++ b/src/main/res/values-ru/strings.xml @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources> + <string name="openpgp_list_preference_none">Нет</string> + <string name="openpgp_install_openkeychain_via">Установить OpenKeychain через %s</string> +</resources> diff --git a/src/main/res/values-sl/strings.xml b/src/main/res/values-sl/strings.xml new file mode 100644 index 0000000..20bf70b --- /dev/null +++ b/src/main/res/values-sl/strings.xml @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources> + <string name="openpgp_list_preference_none">Brez</string> + <string name="openpgp_install_openkeychain_via">Namesti OpenKeychain prek %s</string> +</resources> diff --git a/src/main/res/values-tr/strings.xml b/src/main/res/values-tr/strings.xml new file mode 100644 index 0000000..c757504 --- /dev/null +++ b/src/main/res/values-tr/strings.xml @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources/> diff --git a/src/main/res/values-uk/strings.xml b/src/main/res/values-uk/strings.xml new file mode 100644 index 0000000..baf600a --- /dev/null +++ b/src/main/res/values-uk/strings.xml @@ -0,0 +1,5 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources> + <string name="openpgp_list_preference_none">Жоден</string> + <string name="openpgp_install_openkeychain_via">Встановити OpenKeychain через %s</string> +</resources> diff --git a/src/main/res/values-zh/strings.xml b/src/main/res/values-zh/strings.xml new file mode 100644 index 0000000..c757504 --- /dev/null +++ b/src/main/res/values-zh/strings.xml @@ -0,0 +1,2 @@ +<?xml version='1.0' encoding='UTF-8'?> +<resources/> diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml new file mode 100644 index 0000000..0119831 --- /dev/null +++ b/src/main/res/values/strings.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + <string name="openpgp_list_preference_none">None</string> + <string name="openpgp_install_openkeychain_via">Install OpenKeychain via %s</string> + +</resources>
\ No newline at end of file diff --git a/src/main/test/org/openintents/openpgp/OpenPgpUtilsTest.java b/src/main/test/org/openintents/openpgp/OpenPgpUtilsTest.java new file mode 100644 index 0000000..f115398 --- /dev/null +++ b/src/main/test/org/openintents/openpgp/OpenPgpUtilsTest.java @@ -0,0 +1,50 @@ +package test.org.openintents.openpgp; + +import org.openintents.openpgp.util.OpenPgpUtils; + +import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.assertNull; + +import android.support.test.runner.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.openintents.openpgp.util.OpenPgpUtils; + +import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.assertNull; + +@RunWith(AndroidJUnit4.class) +public class OpenPgpUtilsTest { + @Test + public void splitCompleteUserIdShouldReturnAll3Components() throws Exception { + OpenPgpUtils.UserInfo info = OpenPgpUtils.splitUserId("Max Mustermann (this is a comment) <max@example.com>"); + assertEquals("Max Mustermann", info.name); + assertEquals("this is a comment", info.comment); + assertEquals("max@example.com", info.email); + } + + @Test + public void splitUserIdWithAllButCommentShouldReturnNameAndEmail() throws Exception { + OpenPgpUtils.UserInfo info = OpenPgpUtils.splitUserId("Max Mustermann <max@example.com>"); + assertEquals("Max Mustermann", info.name); + assertNull(info.comment); + assertEquals("max@example.com", info.email); + } + + @Test + public void splitUserIdWithAllButEmailShouldReturnNameAndComment() throws Exception { + OpenPgpUtils.UserInfo info = OpenPgpUtils.splitUserId("Max Mustermann (this is a comment)"); + assertEquals(info.name, "Max Mustermann"); + assertEquals(info.comment, "this is a comment"); + assertNull(info.email); + } + + @Test + public void splitUserIdWithOnlyNameShouldReturnNameOnly() throws Exception { + OpenPgpUtils.UserInfo info = OpenPgpUtils.splitUserId("Max Mustermann [this is a nothing]"); + assertEquals("Max Mustermann", info.name); + assertNull(info.comment); + assertNull(info.email); + } +}
\ No newline at end of file |