X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=android_pandora.git;a=blobdiff_plain;f=apps%2Foi-filemanager%2FFileManager%2Fsrc%2Forg%2Fopenintents%2Ffilemanager%2FBookmarksProvider.java;fp=apps%2Foi-filemanager%2FFileManager%2Fsrc%2Forg%2Fopenintents%2Ffilemanager%2FBookmarksProvider.java;h=0000000000000000000000000000000000000000;hp=231b2acceee01178c1a8c5ecd1a2715c0505e711;hb=86591c820f761cc27e31f78790c5a447b8411a33;hpb=ebcf0cf7399e3ec5ba51c5a904553fbcc55725e5 diff --git a/apps/oi-filemanager/FileManager/src/org/openintents/filemanager/BookmarksProvider.java b/apps/oi-filemanager/FileManager/src/org/openintents/filemanager/BookmarksProvider.java deleted file mode 100644 index 231b2ac..0000000 --- a/apps/oi-filemanager/FileManager/src/org/openintents/filemanager/BookmarksProvider.java +++ /dev/null @@ -1,175 +0,0 @@ -package org.openintents.filemanager; - -import android.content.ContentProvider; -import android.content.ContentUris; -import android.content.ContentValues; -import android.content.Context; -import android.content.UriMatcher; -import android.database.Cursor; -import android.database.SQLException; -import android.database.sqlite.SQLiteDatabase; -import android.database.sqlite.SQLiteOpenHelper; -import android.database.sqlite.SQLiteQueryBuilder; -import android.net.Uri; -import android.provider.BaseColumns; -import android.text.TextUtils; - -public class BookmarksProvider extends ContentProvider implements BaseColumns{ - public static final String TB_NAME = "bookmarks"; - public static final String NAME = "name"; - public static final String PATH = "path"; - public static final String CHECKED = "checked"; //Only because of multiple choice delete dialog - public static final String PROVIDER_NAME = "org.openintents.filemanager.bookmarks"; - public static final Uri CONTENT_URI = - Uri.parse("content://"+PROVIDER_NAME); - public static final String BOOKMARK_MIMETYPE = - "vnd.android.cursor.item/vnd.openintents.bookmark"; - public static final String BOOKMARKS_MIMETYPE = - "vnd.android.cursor.dir/vnd.openintents.bookmark"; - - - private static final int BOOKMARKS = 1; - private static final int BOOKMARK_ID = 2; - private static final UriMatcher uriMatcher; - static{ - uriMatcher = new UriMatcher(UriMatcher.NO_MATCH); - uriMatcher.addURI(PROVIDER_NAME, null, BOOKMARKS); - uriMatcher.addURI(PROVIDER_NAME, "#", BOOKMARK_ID); - } - - private DatabaseHelper dbHelper; - private SQLiteDatabase db; - - - private static final String DATABASE_CREATE = - String.format("CREATE TABLE %s (%s integer primary key autoincrement, " - + "%s text not null, %s text not null, %s integer default 0);", - TB_NAME, _ID, NAME, PATH, CHECKED); - - private static final String DATABASE_NAME = "org.openintents.filemanager"; - private static final int DATABASE_VERSION = 2; - - private static class DatabaseHelper extends SQLiteOpenHelper { - - DatabaseHelper(Context context) { - super(context, DATABASE_NAME, null, DATABASE_VERSION); - } - - @Override - public void onCreate(SQLiteDatabase db) { - db.execSQL(DATABASE_CREATE); - } - - /* - * !!! - * When changing database version, you MUST change this method. - * Currently, it would delete all users' bookmarks - */ - @Override - public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { - db.execSQL("DROP TABLE IF EXISTS "+TB_NAME); - onCreate(db); - } - } - - - @Override - public int delete(Uri arg0, String arg1, String[] arg2) { - int count = 0; - switch (uriMatcher.match(arg0)) { - case BOOKMARKS: - count = db.delete(TB_NAME, arg1, arg2); - break; - case BOOKMARK_ID: - String id = arg0.getPathSegments().get(0); - count = db.delete(TB_NAME, _ID + " = " + id - + (!TextUtils.isEmpty(arg1) ? " AND (" + arg1 + ')' : ""), - arg2); - break; - default: - throw new IllegalArgumentException("Unknown URI " + arg0); - } - getContext().getContentResolver().notifyChange(arg0, null); - return count; - } - - @Override - public String getType(Uri uri) { - switch (uriMatcher.match(uri)){ - case BOOKMARKS: - return BOOKMARKS_MIMETYPE; - case BOOKMARK_ID: - return BOOKMARK_MIMETYPE; - default: - throw new IllegalArgumentException("Unsupported URI: " + uri); - } - } - - @Override - public Uri insert(Uri uri, ContentValues values){ - long rowID = db.insert(TB_NAME, "", values); - if (rowID > 0){ - Uri _uri = ContentUris.withAppendedId(CONTENT_URI, rowID); - getContext().getContentResolver().notifyChange(_uri, null); - return _uri; - } - throw new SQLException("Failed to insert row into " + uri); - } - - @Override - public boolean onCreate() { - dbHelper = new DatabaseHelper(getContext()); - db = dbHelper.getWritableDatabase(); - return (db == null)? false:true; - } - - @Override - public Cursor query(Uri uri, String[] projection, String selection, - String[] selectionArgs, String sortOrder) { - SQLiteQueryBuilder sqlBuilder = new SQLiteQueryBuilder(); - sqlBuilder.setTables(TB_NAME); - if (uriMatcher.match(uri) == BOOKMARK_ID){ - sqlBuilder.appendWhere(_ID + " = " + uri.getPathSegments().get(0)); - } - - if (sortOrder==null || sortOrder=="") - sortOrder = _ID; - - Cursor c = sqlBuilder.query(db, - projection, - selection, - selectionArgs, - null, - null, - sortOrder); - c.setNotificationUri(getContext().getContentResolver(), uri); - return c; - } - - @Override - public int update(Uri uri, ContentValues values, String selection, - String[] selectionArgs) { - int count = 0; - switch (uriMatcher.match(uri)){ - case BOOKMARKS: - count = db.update( - TB_NAME, - values, - selection, - selectionArgs); - break; - case BOOKMARK_ID: - count = db.update( - TB_NAME, - values, - _ID + " = " + uri.getPathSegments().get(0) - + (!TextUtils.isEmpty(selection) ? " AND (" + selection + ')' : ""), - selectionArgs); - break; - default: throw new IllegalArgumentException("Unknown URI " + uri); - } - getContext().getContentResolver().notifyChange(uri, null); - return count; - } - -}