X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/4354329b46778d50175eeac178bae1cdbc6fb1f2..5ca1b94865fcb868c44fe11df01ba17d33673b17:/src/com/owncloud/android/datamodel/FileDataStorageManager.java diff --git a/src/com/owncloud/android/datamodel/FileDataStorageManager.java b/src/com/owncloud/android/datamodel/FileDataStorageManager.java index c24c94b7..a197e080 100644 --- a/src/com/owncloud/android/datamodel/FileDataStorageManager.java +++ b/src/com/owncloud/android/datamodel/FileDataStorageManager.java @@ -1,6 +1,8 @@ -/* ownCloud Android client application +/** + * ownCloud Android client application + * * Copyright (C) 2012 Bartek Przybylski - * Copyright (C) 2012-2014 ownCloud Inc. + * Copyright (C) 2015 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2, @@ -1502,18 +1504,41 @@ public class FileDataStorageManager { public void deleteFileInMediaScan(String path) { String mimetypeString = FileStorageUtils.getMimeTypeFromName(path); - if (mimetypeString.startsWith("image/")) { - // Images - getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, - MediaStore.Images.Media.DATA + "=?", new String[]{path}); - } else if (mimetypeString.startsWith("audio/")) { - // Audio - getContentResolver().delete(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, - MediaStore.Audio.Media.DATA + "=?", new String[]{path}); - } else if (mimetypeString.startsWith("video/")) { - // Video - getContentResolver().delete(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, - MediaStore.Video.Media.DATA + "=?", new String[]{path}); + ContentResolver contentResolver = getContentResolver(); + + if (contentResolver != null) { + if (mimetypeString.startsWith("image/")) { + // Images + contentResolver.delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, + MediaStore.Images.Media.DATA + "=?", new String[]{path}); + } else if (mimetypeString.startsWith("audio/")) { + // Audio + contentResolver.delete(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, + MediaStore.Audio.Media.DATA + "=?", new String[]{path}); + } else if (mimetypeString.startsWith("video/")) { + // Video + contentResolver.delete(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, + MediaStore.Video.Media.DATA + "=?", new String[]{path}); + } + } else { + ContentProviderClient contentProviderClient = getContentProviderClient(); + try { + if (mimetypeString.startsWith("image/")) { + // Images + contentProviderClient.delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, + MediaStore.Images.Media.DATA + "=?", new String[]{path}); + } else if (mimetypeString.startsWith("audio/")) { + // Audio + contentProviderClient.delete(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, + MediaStore.Audio.Media.DATA + "=?", new String[]{path}); + } else if (mimetypeString.startsWith("video/")) { + // Video + contentProviderClient.delete(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, + MediaStore.Video.Media.DATA + "=?", new String[]{path}); + } + } catch (RemoteException e) { + Log_OC.e(TAG, "Exception deleting media file in MediaStore " + e.getMessage()); + } } }