Clean up switch statements with only a single option.

This commit is contained in:
Peter Serwylo 2016-08-11 23:10:11 +10:00
parent fd50a2c730
commit 005d109818
3 changed files with 20 additions and 44 deletions

View File

@ -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:
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

View File

@ -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:
if (MATCHER.match(uri) == CODE_INIT) {
initTable();
return null;
default:
return super.insert(uri, values);
}
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<String> 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);
if (MATCHER.match(uri) != CODE_REPO_APK) {
throw new UnsupportedOperationException("Invalid URI for apk content provider: " + uri);
}
List<String> 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);

View File

@ -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:
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);