/** * Build a simple {@link SelectionBuilder} to match the requested {@link Uri}. This is usually * enough to support {@link #insert}, {@link #update}, and {@link #delete} operations. */ private SelectionBuilder buildSimpleSelection(Uri uri) { final SelectionBuilder builder = new SelectionBuilder(); final int match = getUriMatcher().match(uri); switch (match) { case FAVORITES_ID: { final String favoriteId = Favorites.getFavoriteId(uri); return builder.table(Tables.FAVORITES).where(Favorites._ID + "=?", favoriteId); } case RESOURCES_ID: { final String resourceId = Resources.getResourceId(uri); return builder.table(Tables.RESOURCES).where(Resources._ID + "=?", resourceId); } case DOWNLOADS_ID: { final String downloadId = Downloads.getDownloadId(uri); return builder.table(Tables.DOWNLOADS).where(Downloads._ID + "=?", downloadId); } case DOWNLOADS: { return builder.table(Tables.DOWNLOADS); } case RESOURCES: { return builder.table(Tables.RESOURCES); } default: { throw new UnsupportedOperationException("Unknown uri( " + match + "): " + uri); } } }