ShadowMediaStore.java revision 99fafb79bf98b7aa1946bbda1f0a225cefa2d35d
1package com.xtremelabs.robolectric.shadows;
2
3import android.content.ContentResolver;
4import android.graphics.Bitmap;
5import android.net.Uri;
6import android.provider.MediaStore;
7import com.xtremelabs.robolectric.Robolectric;
8import com.xtremelabs.robolectric.internal.Implementation;
9import com.xtremelabs.robolectric.internal.Implements;
10
11@SuppressWarnings({"UnusedDeclaration"})
12@Implements(MediaStore.class)
13public class ShadowMediaStore {
14
15    @Implements(MediaStore.Images.class)
16    public static class ShadowImages {
17        @Implements(MediaStore.Images.Media.class)
18        public static class ShadowMedia {
19            @Implementation
20            public static Bitmap getBitmap(ContentResolver cr, Uri url) {
21                return ShadowBitmapFactory.create(url.toString());
22            }
23        }
24    }
25
26    public static void reset() {
27        Robolectric.Reflection.setFinalStaticField(MediaStore.Images.Media.class, "EXTERNAL_CONTENT_URI",
28                Uri.parse("content://media/external/images/media"));
29
30        Robolectric.Reflection.setFinalStaticField(MediaStore.Images.Media.class, "INTERNAL_CONTENT_URI",
31                Uri.parse("content://media/internal/images/media"));
32
33        Robolectric.Reflection.setFinalStaticField(MediaStore.Video.Media.class, "EXTERNAL_CONTENT_URI",
34                Uri.parse("content://media/external/video/media"));
35
36        Robolectric.Reflection.setFinalStaticField(MediaStore.Video.Media.class, "INTERNAL_CONTENT_URI",
37                Uri.parse("content://media/internal/video/media"));
38    }
39}
40