@Override public Uri insertDir(SQLiteDatabase db, ContentProvider provider, Uri uri, ContentValues values) throws SQLException { final long parentId = Long.valueOf(ProviderUtils.getNthPathFromEnd(uri, 1)); values.put(mColumn, parentId); return super.insertDir(db, provider, uri, values); }
@Override public int deleteItem( SQLiteDatabase db, ContentProvider provider, Uri uri, String where, String[] whereArgs) { final String parentId = ProviderUtils.getNthPathFromEnd(uri, 2); return super.deleteItem( db, provider, uri, ProviderUtils.addExtraWhere(where, mColumn + "=?"), ProviderUtils.addExtraWhereArgs(whereArgs, parentId)); }
@Override public int updateDir( SQLiteDatabase db, ContentProvider provider, Uri uri, ContentValues values, String where, String[] whereArgs) { final String parentId = ProviderUtils.getNthPathFromEnd(uri, 1); return super.updateDir( db, provider, uri, values, ProviderUtils.addExtraWhere(where, mColumn + "=?"), ProviderUtils.addExtraWhereArgs(whereArgs, parentId)); }
@Override public Cursor queryItem( SQLiteDatabase db, Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { final String parentId = ProviderUtils.getNthPathFromEnd(uri, 2); if (WILDCARD_PATH_SEGMENT.equals(parentId)) { return super.queryItem(db, uri, projection, selection, selectionArgs, sortOrder); } else { return super.queryItem( db, uri, projection, ProviderUtils.addExtraWhere(selection, mColumn + "=?"), ProviderUtils.addExtraWhereArgs(selectionArgs, parentId), sortOrder); } }