- private DataBaseHelper mDbHelper;\r
- \r
- private static HashMap<String, String> mProjectionMap;\r
- static {\r
- mProjectionMap = new HashMap<String, String>();\r
- mProjectionMap.put(ProviderTableMeta._ID,\r
- ProviderTableMeta._ID);\r
- mProjectionMap.put(ProviderTableMeta.FILE_PARENT,\r
- ProviderTableMeta.FILE_PARENT);\r
- mProjectionMap.put(ProviderTableMeta.FILE_PATH,\r
- ProviderTableMeta.FILE_PATH);\r
- mProjectionMap.put(ProviderTableMeta.FILE_NAME,\r
- ProviderTableMeta.FILE_NAME);\r
- mProjectionMap.put(ProviderTableMeta.FILE_CREATION,\r
- ProviderTableMeta.FILE_CREATION);\r
- mProjectionMap.put(ProviderTableMeta.FILE_MODIFIED,\r
- ProviderTableMeta.FILE_MODIFIED);\r
- mProjectionMap.put(ProviderTableMeta.FILE_CONTENT_LENGTH,\r
- ProviderTableMeta.FILE_CONTENT_LENGTH);\r
- mProjectionMap.put(ProviderTableMeta.FILE_CONTENT_TYPE,\r
- ProviderTableMeta.FILE_CONTENT_TYPE);\r
- mProjectionMap.put(ProviderTableMeta.FILE_STORAGE_PATH,\r
- ProviderTableMeta.FILE_STORAGE_PATH);\r
- }\r
- \r
- private static final int SINGLE_FILE = 1;\r
- private static final int DIRECTORY = 2;\r
- private static final int ROOT_DIRECTORY = 3;\r
- private static final UriMatcher mUriMatcher;\r
- static {\r
- mUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);\r
- mUriMatcher.addURI(ProviderMeta.AUTHORITY_FILES, "/", ROOT_DIRECTORY);\r
- mUriMatcher.addURI(ProviderMeta.AUTHORITY_FILES, "file/", SINGLE_FILE);\r
- mUriMatcher.addURI(ProviderMeta.AUTHORITY_FILES, "file/#", SINGLE_FILE);\r
- mUriMatcher.addURI(ProviderMeta.AUTHORITY_FILES, "dir/#", DIRECTORY);\r
- }\r
- \r
- @Override\r
- public int delete(Uri uri, String where, String[] whereArgs) {\r
- SQLiteDatabase db = mDbHelper.getWritableDatabase();\r
- int count = 0;\r
- switch (mUriMatcher.match(uri)) {\r
- case SINGLE_FILE:\r
- count = db.delete(ProviderTableMeta.DB_NAME,\r
- ProviderTableMeta._ID + "=" + uri.getPathSegments().get(1)\r
- + (!TextUtils.isEmpty(where)?" AND (" + where +")" : ""),\r
- whereArgs);\r
- break;\r
- case ROOT_DIRECTORY:\r
- count = db.delete(ProviderTableMeta.DB_NAME, where, whereArgs);\r
- break;\r
- default:\r
- throw new IllegalArgumentException("Unknown uri: " + uri.toString());\r
- }\r
- getContext().getContentResolver().notifyChange(uri, null);\r
- return count;\r
- }\r
-\r
- @Override\r
- public String getType(Uri uri) {\r
- switch (mUriMatcher.match(uri)) {\r
- case ROOT_DIRECTORY:\r
- return ProviderTableMeta.CONTENT_TYPE;\r
- case SINGLE_FILE:\r
- return ProviderTableMeta.CONTENT_TYPE_ITEM;\r
- default:\r
- throw new IllegalArgumentException("Unknown Uri id." + uri.toString());\r
+ private DataBaseHelper mDbHelper;\r
+\r
+ private static HashMap<String, String> mProjectionMap;\r
+ static {\r
+ mProjectionMap = new HashMap<String, String>();\r
+ mProjectionMap.put(ProviderTableMeta._ID, ProviderTableMeta._ID);\r
+ mProjectionMap.put(ProviderTableMeta.FILE_PARENT,\r
+ ProviderTableMeta.FILE_PARENT);\r
+ mProjectionMap.put(ProviderTableMeta.FILE_PATH,\r
+ ProviderTableMeta.FILE_PATH);\r
+ mProjectionMap.put(ProviderTableMeta.FILE_NAME,\r
+ ProviderTableMeta.FILE_NAME);\r
+ mProjectionMap.put(ProviderTableMeta.FILE_CREATION,\r
+ ProviderTableMeta.FILE_CREATION);\r
+ mProjectionMap.put(ProviderTableMeta.FILE_MODIFIED,\r
+ ProviderTableMeta.FILE_MODIFIED);\r
+ mProjectionMap.put(ProviderTableMeta.FILE_CONTENT_LENGTH,\r
+ ProviderTableMeta.FILE_CONTENT_LENGTH);\r
+ mProjectionMap.put(ProviderTableMeta.FILE_CONTENT_TYPE,\r
+ ProviderTableMeta.FILE_CONTENT_TYPE);\r
+ mProjectionMap.put(ProviderTableMeta.FILE_STORAGE_PATH,\r
+ ProviderTableMeta.FILE_STORAGE_PATH);\r
+ mProjectionMap.put(ProviderTableMeta.FILE_LAST_SYNC_DATE,\r
+ ProviderTableMeta.FILE_LAST_SYNC_DATE);\r
+ mProjectionMap.put(ProviderTableMeta.FILE_KEEP_IN_SYNC,\r
+ ProviderTableMeta.FILE_KEEP_IN_SYNC);\r