catch security exception when reading file
This commit is contained in:
parent
9cc95d4cc2
commit
77f448692c
|
@ -29,6 +29,7 @@ import android.util.Log;
|
||||||
import android.util.LruCache;
|
import android.util.LruCache;
|
||||||
|
|
||||||
import androidx.annotation.RequiresApi;
|
import androidx.annotation.RequiresApi;
|
||||||
|
import androidx.annotation.StringRes;
|
||||||
import androidx.core.content.FileProvider;
|
import androidx.core.content.FileProvider;
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
|
@ -646,12 +647,13 @@ public class FileBackend {
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new FileWriterException();
|
throw new FileWriterException();
|
||||||
}
|
}
|
||||||
} catch (FileNotFoundException e) {
|
} catch (final FileNotFoundException e) {
|
||||||
throw new FileCopyException(R.string.error_file_not_found);
|
throw new FileCopyException(R.string.error_file_not_found);
|
||||||
} catch (FileWriterException e) {
|
} catch (final FileWriterException e) {
|
||||||
throw new FileCopyException(R.string.error_unable_to_create_temporary_file);
|
throw new FileCopyException(R.string.error_unable_to_create_temporary_file);
|
||||||
} catch (IOException e) {
|
} catch (final SecurityException e) {
|
||||||
e.printStackTrace();
|
throw new FileCopyException(R.string.error_security_exception);
|
||||||
|
} catch (final IOException e) {
|
||||||
throw new FileCopyException(R.string.error_io_exception);
|
throw new FileCopyException(R.string.error_io_exception);
|
||||||
} finally {
|
} finally {
|
||||||
close(os);
|
close(os);
|
||||||
|
@ -1462,11 +1464,11 @@ public class FileBackend {
|
||||||
public static class FileCopyException extends Exception {
|
public static class FileCopyException extends Exception {
|
||||||
private final int resId;
|
private final int resId;
|
||||||
|
|
||||||
private FileCopyException(int resId) {
|
private FileCopyException(@StringRes int resId) {
|
||||||
this.resId = resId;
|
this.resId = resId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getResId() {
|
public @StringRes int getResId() {
|
||||||
return resId;
|
return resId;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,6 +148,7 @@
|
||||||
<string name="error_file_not_found">File not found</string>
|
<string name="error_file_not_found">File not found</string>
|
||||||
<string name="error_io_exception">General I/O error. Maybe you ran out of storage space?</string>
|
<string name="error_io_exception">General I/O error. Maybe you ran out of storage space?</string>
|
||||||
<string name="error_security_exception_during_image_copy">The app you used to select this image did not provide enough permissions to read the file.\n\n<small>Use a different file manager to choose an image</small>.</string>
|
<string name="error_security_exception_during_image_copy">The app you used to select this image did not provide enough permissions to read the file.\n\n<small>Use a different file manager to choose an image</small>.</string>
|
||||||
|
<string name="error_security_exception">The app you used to share this file did not provide enough permissions.</string>
|
||||||
<string name="account_status_unknown">Unknown</string>
|
<string name="account_status_unknown">Unknown</string>
|
||||||
<string name="account_status_disabled">Temporarily disabled</string>
|
<string name="account_status_disabled">Temporarily disabled</string>
|
||||||
<string name="account_status_online">Online</string>
|
<string name="account_status_online">Online</string>
|
||||||
|
|
Loading…
Reference in a new issue