From 86e41f8996143816f0ebdff48a337c15cf8d512a Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Wed, 29 Nov 2017 14:44:00 +0100 Subject: [PATCH] fix delete method in TemporaryFileProvider --- .../keychain/provider/TemporaryFileProvider.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/TemporaryFileProvider.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/TemporaryFileProvider.java index bb44314d7..59f37fd81 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/TemporaryFileProvider.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/provider/TemporaryFileProvider.java @@ -268,12 +268,15 @@ public class TemporaryFileProvider extends ContentProvider { @Override public int delete(Uri uri, String selection, String[] selectionArgs) { - if (uri == null || uri.getLastPathSegment() == null) { + if (uri == null) { return 0; } - selection = DatabaseUtil.concatenateWhere(selection, TemporaryFileColumns.COLUMN_UUID + "=?"); - selectionArgs = DatabaseUtil.appendSelectionArgs(selectionArgs, new String[]{uri.getLastPathSegment()}); + String fileUuidFromUri = uri.getLastPathSegment(); + if (fileUuidFromUri != null) { + selection = DatabaseUtil.concatenateWhere(selection, TemporaryFileColumns.COLUMN_UUID + "=?"); + selectionArgs = DatabaseUtil.appendSelectionArgs(selectionArgs, new String[]{ fileUuidFromUri }); + } Cursor files = db.getReadableDatabase().query(TABLE_FILES, new String[]{TemporaryFileColumns.COLUMN_UUID}, selection, selectionArgs, null, null, null);