diff --git a/app/app.iml b/app/app.iml
index 16cf64f9..bc39b36e 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -64,14 +64,6 @@
-
-
-
-
-
-
-
-
@@ -80,6 +72,14 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/java/eu/faircode/netguard/ActivitySettings.java b/app/src/main/java/eu/faircode/netguard/ActivitySettings.java
index 6dfddc5d..e5c3b591 100644
--- a/app/src/main/java/eu/faircode/netguard/ActivitySettings.java
+++ b/app/src/main/java/eu/faircode/netguard/ActivitySettings.java
@@ -22,12 +22,14 @@ package eu.faircode.netguard;
import android.Manifest;
import android.annotation.TargetApi;
import android.content.BroadcastReceiver;
+import android.content.ContentResolver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
+import android.content.res.AssetFileDescriptor;
import android.database.Cursor;
import android.net.ConnectivityManager;
import android.net.Uri;
@@ -903,7 +905,10 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
InputStream in = null;
try {
Log.i(TAG, "Reading URI=" + data.getData());
- in = getContentResolver().openInputStream(data.getData());
+ ContentResolver resolver = getContentResolver();
+ String[] streamTypes = resolver.getStreamTypes(data.getData(), "*/*");
+ AssetFileDescriptor descriptor = resolver.openTypedAssetFileDescriptor(data.getData(), streamTypes[0], null);
+ in = descriptor.createInputStream();
out = new FileOutputStream(hosts);
int len;
@@ -963,7 +968,10 @@ public class ActivitySettings extends AppCompatActivity implements SharedPrefere
InputStream in = null;
try {
Log.i(TAG, "Reading URI=" + data.getData());
- in = getContentResolver().openInputStream(data.getData());
+ ContentResolver resolver = getContentResolver();
+ String[] streamTypes = resolver.getStreamTypes(data.getData(), "*/*");
+ AssetFileDescriptor descriptor = resolver.openTypedAssetFileDescriptor(data.getData(), streamTypes[0], null);
+ in = descriptor.createInputStream();
xmlImport(in);
return null;
} catch (Throwable ex) {