diff --git a/app/src/main/java/org/fdroid/fdroid/data/RepoProvider.java b/app/src/main/java/org/fdroid/fdroid/data/RepoProvider.java index 702d69ca6..c9e8b860a 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/RepoProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/RepoProvider.java @@ -141,8 +141,8 @@ public class RepoProvider extends FDroidProvider { } else if (!fingerprint.equals(calcedFingerprint)) { // TODO the UI should represent this error! Log.e(TAG, "The stored and calculated fingerprints do not match!"); - Log.e(TAG, "stored: " + fingerprint); - Log.e(TAG, "calced: " + calcedFingerprint); + Log.e(TAG, "Stored: " + fingerprint); + Log.e(TAG, "Calculated: " + calcedFingerprint); } } } else if (!TextUtils.isEmpty(publicKey)) { @@ -327,14 +327,14 @@ public class RepoProvider extends FDroidProvider { @Override public int delete(Uri uri, String where, String[] whereArgs) { + QuerySelection selection = new QuerySelection(where, whereArgs); switch (MATCHER.match(uri)) { case CODE_LIST: // Don't support deleting of multiple repos. return 0; case CODE_SINGLE: - where = (where == null ? "" : where + " AND ") + - "_ID = " + uri.getLastPathSegment(); + selection.add(Cols._ID + " = ?", new String[] {uri.getLastPathSegment()}); break; default: @@ -342,7 +342,7 @@ public class RepoProvider extends FDroidProvider { throw new UnsupportedOperationException("Invalid URI for repo content provider: " + uri); } - int rowsAffected = db().delete(getTableName(), where, whereArgs); + int rowsAffected = db().delete(getTableName(), selection.getSelection(), selection.getArgs()); Utils.debugLog(TAG, "Deleted repos. Notifying provider change: '" + uri + "'."); getContext().getContentResolver().notifyChange(uri, null); return rowsAffected;