+ private long getParentId(Uri uri) {
+ long parentId = -1;
+
+ if (mUriMatcher.match(uri) == SINGLE_FILE || mUriMatcher.match(uri) == DIRECTORY) {
+ String fileId = uri.toString().substring(uri.toString().lastIndexOf(FileUtils.PATH_SEPARATOR) + 1);
+ Uri selectFileUri = Uri.withAppendedPath(ProviderTableMeta.CONTENT_URI_FILE, fileId);
+ String[] fileProjection = new String[] { ProviderTableMeta.FILE_PARENT };
+ Cursor fileCursor = query(selectFileUri, fileProjection, null, null, null);
+
+ if (fileCursor != null && fileCursor.moveToFirst()) {
+ parentId = fileCursor.getLong(fileCursor.getColumnIndex(ProviderTableMeta.FILE_PARENT));
+ }
+ fileCursor.close();
+ }
+ Log_OC.d(TAG, "getParentId = " + parentId);
+ return parentId;
+ }
+
+ private void notifyChangeToParentUri(long parentId) {
+ if (parentId != -1) {
+ Uri parentUri = Uri.withAppendedPath(
+ ProviderTableMeta.CONTENT_URI_DIR,
+ String.valueOf(parentId));
+ Log_OC.d(TAG, "ParentUri " + parentUri);
+ getContext().getContentResolver().notifyChange(parentUri, null);
+ }
+ }
+