diff --git a/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java b/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java index 6b7707192..db5874eb9 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/AppProvider.java @@ -785,22 +785,12 @@ public class AppProvider extends FDroidProvider { @Override public int delete(Uri uri, String where, String[] whereArgs) { - - QuerySelection query = new QuerySelection(where, whereArgs); - switch (MATCHER.match(uri)) { - - case NO_APKS: - query = query.add(queryNoApks()); - break; - - default: - throw new UnsupportedOperationException("Delete not supported for " + uri + "."); - + if (MATCHER.match(uri) != NO_APKS) { + throw new UnsupportedOperationException("Delete not supported for " + uri + "."); } - int count = db().delete(getTableName(), query.getSelection(), query.getArgs()); - getContext().getContentResolver().notifyChange(uri, null); - return count; + AppQuerySelection selection = new AppQuerySelection(where, whereArgs).add(queryNoApks()); + return db().delete(getTableName(), selection.getSelection(), selection.getArgs()); } @Override diff --git a/app/src/main/java/org/fdroid/fdroid/data/TempApkProvider.java b/app/src/main/java/org/fdroid/fdroid/data/TempApkProvider.java index 8d35fdf1a..db9d03b65 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/TempApkProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/TempApkProvider.java @@ -5,7 +5,6 @@ import android.content.Context; import android.content.UriMatcher; import android.database.sqlite.SQLiteDatabase; import android.net.Uri; -import android.util.Log; import org.fdroid.fdroid.data.Schema.ApkTable; @@ -16,8 +15,6 @@ import java.util.List; */ public class TempApkProvider extends ApkProvider { - private static final String TAG = "TempApkProvider"; - private static final String PROVIDER_NAME = "TempApkProvider"; static final String TABLE_TEMP_APK = "temp_" + ApkTable.NAME; @@ -89,18 +86,16 @@ public class TempApkProvider extends ApkProvider { @Override public Uri insert(Uri uri, ContentValues values) { - switch (MATCHER.match(uri)) { - case CODE_INIT: - initTable(); - return null; - default: - return super.insert(uri, values); + if (MATCHER.match(uri) == CODE_INIT) { + initTable(); + return null; } + + return super.insert(uri, values); } @Override public int update(Uri uri, ContentValues values, String where, String[] whereArgs) { - if (MATCHER.match(uri) != CODE_SINGLE) { throw new UnsupportedOperationException("Cannot update anything other than a single apk."); } @@ -110,20 +105,15 @@ public class TempApkProvider extends ApkProvider { @Override public int delete(Uri uri, String where, String[] whereArgs) { - - QuerySelection query = new QuerySelection(where, whereArgs); - - switch (MATCHER.match(uri)) { - case CODE_REPO_APK: - List pathSegments = uri.getPathSegments(); - query = query.add(queryRepo(Long.parseLong(pathSegments.get(1)), false)).add(queryApks(pathSegments.get(2), false)); - break; - - default: - Log.e(TAG, "Invalid URI for apk content provider: " + uri); - throw new UnsupportedOperationException("Invalid URI for apk content provider: " + uri); + if (MATCHER.match(uri) != CODE_REPO_APK) { + throw new UnsupportedOperationException("Invalid URI for apk content provider: " + uri); } + List pathSegments = uri.getPathSegments(); + QuerySelection query = new QuerySelection(where, whereArgs) + .add(queryRepo(Long.parseLong(pathSegments.get(1)), false)) + .add(queryApks(pathSegments.get(2), false)); + int rowsAffected = db().delete(getTableName(), query.getSelection(), query.getArgs()); if (!isApplyingBatch()) { getContext().getContentResolver().notifyChange(uri, null); diff --git a/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java b/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java index d9d1f455b..3f73997af 100644 --- a/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java +++ b/app/src/main/java/org/fdroid/fdroid/data/TempAppProvider.java @@ -122,16 +122,12 @@ public class TempAppProvider extends AppProvider { @Override public int update(Uri uri, ContentValues values, String where, String[] whereArgs) { - QuerySelection query = new QuerySelection(where, whereArgs); - switch (MATCHER.match(uri)) { - case CODE_SINGLE: - query = query.add(querySingle(uri.getLastPathSegment())); - break; - - default: - throw new UnsupportedOperationException("Update not supported for " + uri + "."); + if (MATCHER.match(uri) != CODE_SINGLE) { + throw new UnsupportedOperationException("Update not supported for " + uri + "."); } + QuerySelection query = new QuerySelection(where, whereArgs).add(querySingle(uri.getLastPathSegment())); + int count = db().update(getTableName(), values, query.getSelection(), query.getArgs()); if (!isApplyingBatch()) { getContext().getContentResolver().notifyChange(uri, null);