diff options
-rw-r--r-- | main/src/main/java/de/blinkt/openvpn/views/FileSelectLayout.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/main/src/main/java/de/blinkt/openvpn/views/FileSelectLayout.java b/main/src/main/java/de/blinkt/openvpn/views/FileSelectLayout.java index 1addd831..401eaa2a 100644 --- a/main/src/main/java/de/blinkt/openvpn/views/FileSelectLayout.java +++ b/main/src/main/java/de/blinkt/openvpn/views/FileSelectLayout.java @@ -32,23 +32,22 @@ public class FileSelectLayout extends LinearLayout implements OnClickListener { public void parseResponse(Intent data, Context c) { - if (VERSION.SDK_INT < VERSION_CODES.KITKAT) { - String fileData = data.getStringExtra(FileSelect.RESULT_DATA); - setData(fileData, c); - } else if (data != null) { + try { String newData = Utils.getFilePickerResult(fileType, data, c); if (newData!=null) setData(newData, c); + if (newData == null) { + String fileData = data.getStringExtra(FileSelect.RESULT_DATA); + setData(fileData, c); + } + } catch (IOException e) { VpnStatus.logException(e); } catch (SecurityException e) { VpnStatus.logException(e); } - - - } } public interface FileSelectCallback { @@ -166,8 +165,12 @@ public class FileSelectLayout extends LinearLayout implements OnClickListener { @Override public void onClick(View v) { if (v == mSelectButton) { + Intent startFilePicker=null; if (VERSION.SDK_INT >= VERSION_CODES.KITKAT) { - Intent startFilePicker = Utils.getFilePickerIntent(getContext(),fileType); + startFilePicker = Utils.getFilePickerIntent(getContext(), fileType); + } + + if (startFilePicker != null) { mFragment.startActivityForResult(startFilePicker, mTaskId); } else { getCertificateFileDialog(); |