| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.base; | 5 package org.chromium.base; |
| 6 | 6 |
| 7 import android.content.ContentValues; | 7 import android.content.ContentValues; |
| 8 import android.content.Context; |
| 8 import android.database.Cursor; | 9 import android.database.Cursor; |
| 9 import android.net.Uri; | 10 import android.net.Uri; |
| 10 import android.provider.MediaStore; | 11 import android.provider.MediaStore; |
| 11 | 12 |
| 12 import org.chromium.base.annotations.CalledByNative; | 13 import org.chromium.base.annotations.CalledByNative; |
| 13 | 14 |
| 14 /** | 15 /** |
| 15 * Utilities for testing operations on content URI. | 16 * Utilities for testing operations on content URI. |
| 16 */ | 17 */ |
| 17 public class ContentUriTestUtils { | 18 public class ContentUriTestUtils { |
| 18 /** | 19 /** |
| 19 * Insert an image into the MediaStore, and return the content URI. If the | 20 * Insert an image into the MediaStore, and return the content URI. If the |
| 20 * image already exists in the MediaStore, just retrieve the URI. | 21 * image already exists in the MediaStore, just retrieve the URI. |
| 21 * | 22 * |
| 23 * @param context Application context. |
| 22 * @param path Path to the image file. | 24 * @param path Path to the image file. |
| 23 * @return Content URI of the image. | 25 * @return Content URI of the image. |
| 24 */ | 26 */ |
| 25 @CalledByNative | 27 @CalledByNative |
| 26 private static String insertImageIntoMediaStore(String path) { | 28 private static String insertImageIntoMediaStore(Context context, String path
) { |
| 27 // Check whether the content URI exists. | 29 // Check whether the content URI exists. |
| 28 Cursor c = ContextUtils.getApplicationContext().getContentResolver().que
ry( | 30 Cursor c = context.getContentResolver().query( |
| 29 MediaStore.Images.Media.EXTERNAL_CONTENT_URI, | 31 MediaStore.Images.Media.EXTERNAL_CONTENT_URI, |
| 30 new String[] {MediaStore.Video.VideoColumns._ID}, | 32 new String[] { MediaStore.Video.VideoColumns._ID }, |
| 31 MediaStore.Images.Media.DATA + " LIKE ?", new String[] {path}, n
ull); | 33 MediaStore.Images.Media.DATA + " LIKE ?", |
| 34 new String[] { path }, |
| 35 null); |
| 32 if (c != null && c.getCount() > 0) { | 36 if (c != null && c.getCount() > 0) { |
| 33 c.moveToFirst(); | 37 c.moveToFirst(); |
| 34 int id = c.getInt(0); | 38 int id = c.getInt(0); |
| 35 return Uri.withAppendedPath( | 39 return Uri.withAppendedPath( |
| 36 MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "" + id).toStr
ing(); | 40 MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "" + id).toStr
ing(); |
| 37 } | 41 } |
| 38 | 42 |
| 39 // Insert the content URI into MediaStore. | 43 // Insert the content URI into MediaStore. |
| 40 ContentValues values = new ContentValues(); | 44 ContentValues values = new ContentValues(); |
| 41 values.put(MediaStore.MediaColumns.DATA, path); | 45 values.put(MediaStore.MediaColumns.DATA, path); |
| 42 Uri uri = ContextUtils.getApplicationContext().getContentResolver().inse
rt( | 46 Uri uri = context.getContentResolver().insert( |
| 43 MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); | 47 MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); |
| 44 return uri.toString(); | 48 return uri.toString(); |
| 45 } | 49 } |
| 46 } | 50 } |
| OLD | NEW |