From 0cf62450e017a031afc637841a34105c25279067 Mon Sep 17 00:00:00 2001 From: Arne Schwabe Date: Sat, 25 Jan 2014 14:57:40 +0100 Subject: Add the ability to select missing files from Convert Dialog --- .../blinkt/openvpn/fragments/Settings_Basic.java | 8 ++-- src/de/blinkt/openvpn/fragments/Utils.java | 51 +++++++++++++++++++--- 2 files changed, 49 insertions(+), 10 deletions(-) (limited to 'src/de/blinkt/openvpn/fragments') diff --git a/src/de/blinkt/openvpn/fragments/Settings_Basic.java b/src/de/blinkt/openvpn/fragments/Settings_Basic.java index f2fab505..4145c65f 100644 --- a/src/de/blinkt/openvpn/fragments/Settings_Basic.java +++ b/src/de/blinkt/openvpn/fragments/Settings_Basic.java @@ -35,7 +35,7 @@ import de.blinkt.openvpn.core.X509Utils; import java.security.cert.X509Certificate; -public class Settings_Basic extends Fragment implements View.OnClickListener, OnItemSelectedListener, Callback { +public class Settings_Basic extends Fragment implements View.OnClickListener, OnItemSelectedListener, Callback, FileSelectLayout.FileSelectCallback { private static final int CHOOSE_FILE_OFFSET = 1000; private static final int UPDATE_ALIAS = 20; @@ -66,7 +66,7 @@ public class Settings_Basic extends Fragment implements View.OnClickListener, On private void addFileSelectLayout (FileSelectLayout fsl, Utils.FileType type) { int i = fileselects.size() + CHOOSE_FILE_OFFSET; fileselects.put(i, fsl); - fsl.setFragment(this,i,type); + fsl.setCaller(this, i, type); } public void onCreate(Bundle savedInstanceState) { @@ -140,8 +140,8 @@ public class Settings_Basic extends Fragment implements View.OnClickListener, On mPassword = (EditText) mView.findViewById(R.id.auth_password); mKeyPassword = (EditText) mView.findViewById(R.id.key_password); - addFileSelectLayout(mCaCert, Utils.FileType.CERTIFICATE); - addFileSelectLayout(mClientCert, Utils.FileType.CERTIFICATE); + addFileSelectLayout(mCaCert, Utils.FileType.CA_CERTIFICATE); + addFileSelectLayout(mClientCert, Utils.FileType.CLIENT_CERTIFICATE); addFileSelectLayout(mClientKey, Utils.FileType.KEYFILE); addFileSelectLayout(mpkcs12, Utils.FileType.PKCS12); mCaCert.setShowClear(); diff --git a/src/de/blinkt/openvpn/fragments/Utils.java b/src/de/blinkt/openvpn/fragments/Utils.java index d7a144ed..f13b1987 100644 --- a/src/de/blinkt/openvpn/fragments/Utils.java +++ b/src/de/blinkt/openvpn/fragments/Utils.java @@ -7,6 +7,7 @@ import android.net.Uri; import android.os.Build; import android.util.Base64; import android.webkit.MimeTypeMap; +import junit.framework.Assert; import java.io.*; import java.util.TreeSet; @@ -28,7 +29,8 @@ public class Utils { extensions.add("p12"); extensions.add("pfx"); break; - case CERTIFICATE: + case CLIENT_CERTIFICATE: + case CA_CERTIFICATE: i.setType("application/x-pem-file"); supportedMimeTypes.add("application/x-x509-ca-cert"); supportedMimeTypes.add("application/x-x509-user-cert"); @@ -61,6 +63,9 @@ public class Utils { extensions.add("txt"); extensions.add("key"); break; + case USERPW_FILE: + Assert.fail(); + break; } MimeTypeMap mtm = MimeTypeMap.getSingleton(); @@ -78,11 +83,45 @@ public class Utils { } public enum FileType { - PKCS12, - CERTIFICATE, - OVPN_CONFIG, - KEYFILE, - TLS_AUTH_FILE + PKCS12(0), + CLIENT_CERTIFICATE(1), + CA_CERTIFICATE(2), + OVPN_CONFIG(3), + KEYFILE(4), + TLS_AUTH_FILE(5), + USERPW_FILE(6); + + private int value; + + FileType(int i) { + value=i; + } + + public static FileType getFileTypeByValue(int value) + { + switch(value) { + case 0: + return PKCS12; + case 1: + return CLIENT_CERTIFICATE; + case 2: + return CA_CERTIFICATE; + case 3: + return OVPN_CONFIG; + case 4: + return KEYFILE; + case 5: + return TLS_AUTH_FILE; + case 6: + return USERPW_FILE; + default: + return null; + } + } + + public int getValue() { + return value; + } } static private byte[] readBytesFromStream(InputStream input) throws IOException { -- cgit v1.2.3