diff options
| author | Owen Lin <owenlin@google.com> | 2011-08-24 15:45:08 +0800 |
|---|---|---|
| committer | Owen Lin <owenlin@google.com> | 2011-08-24 15:47:18 +0800 |
| commit | 476a89e18fc6b8a472b4e352d20be3a09a1776a4 (patch) | |
| tree | 022ad630e058147e9d6964cd32d1d17f156e844c /src | |
| parent | 666f131bda5fbb02a07d54cfb0282e1d224d8f19 (diff) | |
| download | android_packages_apps_Gallery2-476a89e18fc6b8a472b4e352d20be3a09a1776a4.tar.gz android_packages_apps_Gallery2-476a89e18fc6b8a472b4e352d20be3a09a1776a4.tar.bz2 android_packages_apps_Gallery2-476a89e18fc6b8a472b4e352d20be3a09a1776a4.zip | |
Fix cannot edit picasa synced images.
Change-Id: Ic2df3f6a8a93711c8616b1532acef12d67341062
fix: 5202762
Diffstat (limited to 'src')
| -rw-r--r-- | src/com/android/gallery3d/data/MtpImage.java | 7 | ||||
| -rw-r--r-- | src/com/android/gallery3d/provider/GalleryProvider.java | 18 |
2 files changed, 19 insertions, 6 deletions
diff --git a/src/com/android/gallery3d/data/MtpImage.java b/src/com/android/gallery3d/data/MtpImage.java index 4766d88f8..e0e5481d9 100644 --- a/src/com/android/gallery3d/data/MtpImage.java +++ b/src/com/android/gallery3d/data/MtpImage.java @@ -22,6 +22,7 @@ import com.android.gallery3d.util.ThreadPool; import com.android.gallery3d.util.ThreadPool.Job; import com.android.gallery3d.util.ThreadPool.JobContext; +import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapRegionDecoder; import android.hardware.usb.UsbDevice; @@ -45,10 +46,12 @@ public class MtpImage extends MediaItem { private final MtpObjectInfo mObjInfo; private final int mImageWidth; private final int mImageHeight; + private final Context mContext; MtpImage(Path path, GalleryApp application, int deviceId, MtpObjectInfo objInfo, MtpContext mtpContext) { super(path, nextVersionNumber()); + mContext = application.getAndroidContext(); mDeviceId = deviceId; mObjInfo = objInfo; mObjectId = objInfo.getObjectHandle(); @@ -146,9 +149,7 @@ public class MtpImage extends MediaItem { @Override public Uri getContentUri() { - return GalleryProvider.BASE_URI.buildUpon() - .appendEncodedPath(mPath.toString().substring(1)) - .build(); + return GalleryProvider.getUriFor(mContext, mPath); } @Override diff --git a/src/com/android/gallery3d/provider/GalleryProvider.java b/src/com/android/gallery3d/provider/GalleryProvider.java index f5f0f1b3c..d1dccc574 100644 --- a/src/com/android/gallery3d/provider/GalleryProvider.java +++ b/src/com/android/gallery3d/provider/GalleryProvider.java @@ -29,6 +29,7 @@ import com.android.gallery3d.util.GalleryUtils; import android.content.ContentProvider; import android.content.ContentValues; +import android.content.Context; import android.database.Cursor; import android.database.MatrixCursor; import android.net.Uri; @@ -45,11 +46,22 @@ import java.io.OutputStream; public class GalleryProvider extends ContentProvider { private static final String TAG = "GalleryProvider"; - public static final String AUTHORITY = "com.android.gallery3d.provider"; - public static final Uri BASE_URI = Uri.parse("content://" + AUTHORITY); - private DataManager mDataManager; private DownloadCache mDownloadCache; + private static Uri sBaseUri; + + public static String getAuthority(Context context) { + return context.getPackageName() + ".provider"; + } + + public static Uri getUriFor(Context context, Path path) { + if (sBaseUri == null) { + sBaseUri = Uri.parse("content://" + context.getPackageName() + ".provider"); + } + return sBaseUri.buildUpon() + .appendEncodedPath(path.toString().substring(1)) // ignore the leading '/' + .build(); + } @Override public int delete(Uri uri, String selection, String[] selectionArgs) { |
