1a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescupackage com.android.photos.data;
2a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu
3a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescuimport android.database.MatrixCursor;
4a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu
5a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu
6a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescupublic class AlbumSetLoader {
7a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu    public static final int INDEX_ID = 0;
8a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu    public static final int INDEX_TITLE = 1;
9a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu    public static final int INDEX_TIMESTAMP = 2;
10a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu    public static final int INDEX_THUMBNAIL_URI = 3;
11a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu    public static final int INDEX_THUMBNAIL_WIDTH = 4;
12a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu    public static final int INDEX_THUMBNAIL_HEIGHT = 5;
13a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu    public static final int INDEX_COUNT_PENDING_UPLOAD = 6;
14a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu    public static final int INDEX_COUNT = 7;
15869f4a62594c4508aa57a8622b461b6825b74e7cBobby Georgescu    public static final int INDEX_SUPPORTED_OPERATIONS = 8;
16a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu
178c12028e716792bb083dc57dda58b8be26a16ef7Bobby Georgescu    public static final String[] PROJECTION = {
188c12028e716792bb083dc57dda58b8be26a16ef7Bobby Georgescu        "_id",
198c12028e716792bb083dc57dda58b8be26a16ef7Bobby Georgescu        "title",
208c12028e716792bb083dc57dda58b8be26a16ef7Bobby Georgescu        "timestamp",
218c12028e716792bb083dc57dda58b8be26a16ef7Bobby Georgescu        "thumb_uri",
228c12028e716792bb083dc57dda58b8be26a16ef7Bobby Georgescu        "thumb_width",
238c12028e716792bb083dc57dda58b8be26a16ef7Bobby Georgescu        "thumb_height",
248c12028e716792bb083dc57dda58b8be26a16ef7Bobby Georgescu        "count_pending_upload",
25869f4a62594c4508aa57a8622b461b6825b74e7cBobby Georgescu        "_count",
26869f4a62594c4508aa57a8622b461b6825b74e7cBobby Georgescu        "supported_operations"
278c12028e716792bb083dc57dda58b8be26a16ef7Bobby Georgescu    };
28a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu    public static final MatrixCursor MOCK = createRandomCursor(30);
29a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu
30a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu    private static MatrixCursor createRandomCursor(int count) {
318c12028e716792bb083dc57dda58b8be26a16ef7Bobby Georgescu        MatrixCursor c = new MatrixCursor(PROJECTION, count);
32a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu        for (int i = 0; i < count; i++) {
33a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu            c.addRow(createRandomRow());
34a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu        }
35a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu        return c;
36a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu    }
37a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu
38a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu    private static Object[] createRandomRow() {
39a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu        double random = Math.random();
40a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu        int id = (int) (500 * random);
41a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu        Object[] row = {
42a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu            id,
43a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu            "Fun times " + id,
44a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu            (long) (System.currentTimeMillis() * random),
45a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu            null,
46a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu            0,
47a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu            0,
48a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu            (random < .3 ? 1 : 0),
49869f4a62594c4508aa57a8622b461b6825b74e7cBobby Georgescu            1,
50869f4a62594c4508aa57a8622b461b6825b74e7cBobby Georgescu            0
51a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu        };
52a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu        return row;
53a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu    }
54a73acc17eea200014edba9c9c6a40f1c632fa57dBobby Georgescu}