From: tobiasKaminsky Date: Mon, 2 Nov 2015 21:09:29 +0000 (+0100) Subject: updated for future use with later PRs X-Git-Tag: beta-20151122~1^2~3 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/d06a4b155d442eb5eaa8c875efd9c76628312f15?ds=inline;hp=--cc updated for future use with later PRs --- d06a4b155d442eb5eaa8c875efd9c76628312f15 diff --git a/src/com/owncloud/android/ui/adapter/DiskLruImageCacheFileProvider.java b/src/com/owncloud/android/ui/adapter/DiskLruImageCacheFileProvider.java index fe3f6ea2..4e70cb42 100644 --- a/src/com/owncloud/android/ui/adapter/DiskLruImageCacheFileProvider.java +++ b/src/com/owncloud/android/ui/adapter/DiskLruImageCacheFileProvider.java @@ -27,9 +27,11 @@ import android.content.ContentProvider; import android.content.ContentValues; import android.content.UriMatcher; import android.database.Cursor; +import android.database.MatrixCursor; import android.graphics.Bitmap; import android.net.Uri; import android.os.ParcelFileDescriptor; +import android.provider.OpenableColumns; import com.owncloud.android.MainApp; import com.owncloud.android.authentication.AccountUtils; @@ -46,16 +48,27 @@ import java.io.IOException; public class DiskLruImageCacheFileProvider extends ContentProvider { private static String TAG = FileDataStorageManager.class.getSimpleName(); + private FileDataStorageManager mFileDataStorageManager; public static final String AUTHORITY = "com.owncloud.imageCache.provider"; @Override - public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException { + public boolean onCreate() { + return true; + } + + private OCFile getFile(Uri uri){ Account account = AccountUtils.getCurrentOwnCloudAccount(MainApp.getAppContext()); - FileDataStorageManager fileDataStorageManager = new FileDataStorageManager(account, + mFileDataStorageManager = new FileDataStorageManager(account, MainApp.getAppContext().getContentResolver()); - OCFile ocFile = fileDataStorageManager.getFileByPath(uri.getPath()); + OCFile ocFile = mFileDataStorageManager.getFileByPath(uri.getPath()); + return ocFile; + } + + @Override + public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException { + OCFile ocFile = getFile(uri); Bitmap thumbnail = ThumbnailsCacheManager.getBitmapFromDiskCache( String.valueOf("r" + ocFile.getRemoteId())); @@ -88,20 +101,26 @@ public class DiskLruImageCacheFileProvider extends ContentProvider { return ParcelFileDescriptor.open(f, ParcelFileDescriptor.MODE_READ_ONLY); } - @Override - public boolean onCreate() { - return true; + public String getType(Uri uri) { + OCFile ocFile = getFile(uri); + return ocFile.getMimetype(); } @Override - public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { - return null; - } + public Cursor query(Uri uri, String[] arg1, String arg2, String[] arg3, String arg4) { + MatrixCursor cursor = null; + + OCFile ocFile = getFile(uri); + File file = new File(MainApp.getAppContext().getCacheDir(), ocFile.getFileName()); + if (file.exists()) { + cursor = new MatrixCursor(new String[] { + OpenableColumns.DISPLAY_NAME, OpenableColumns.SIZE }); + cursor.addRow(new Object[] { uri.getLastPathSegment(), + file.length() }); + } - @Override - public String getType(Uri uri) { - return null; + return cursor; } @Override