1c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay/*
2c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay * Copyright (C) 2017 The Android Open Source Project
3c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay *
4c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay * Licensed under the Apache License, Version 2.0 (the "License");
5c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay * you may not use this file except in compliance with the License.
6c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay * You may obtain a copy of the License at
7c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay *
8c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay *      http://www.apache.org/licenses/LICENSE-2.0
9c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay *
10c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay * Unless required by applicable law or agreed to in writing, software
11c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay * distributed under the License is distributed on an "AS IS" BASIS,
12c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay * See the License for the specific language governing permissions and
14c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay * limitations under the License.
15c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay */
16c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay
17c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKaypackage com.example.android.support.content.demos;
18c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay
19c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKayimport android.content.ContentProvider;
20c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKayimport android.content.ContentValues;
21c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKayimport android.database.Cursor;
22c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKayimport android.database.MatrixCursor;
23c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKayimport android.net.Uri;
24c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay
25c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay/**
26c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay * Provides test data for Content Pager Demo app.
27c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay */
28c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKaypublic class UnpagedDemoDataProvider extends ContentProvider {
29c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay
30c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    public static final Uri URI =
31ac5fe7c617c66850fff75a9fce9979c6e5674b0fAurimas Liutikas            Uri.parse("content://com.example.androidx.contentpager.content.demos/poodles");
32c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay
33c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    static final int TOTAL_SIZE = 100;
34c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    private static final String[] COLUMNS = new String[] {
35c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay            "id",
36c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay            "name",
37c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay            "time"
38c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    };
39c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay
40c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    @Override
41c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    public boolean onCreate() {
42c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay        return true;
43c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    }
44c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay
45c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    @Override
46c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    public Cursor query(Uri uri, String[] projection, String selection,
47c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay            String[] selectionArgs, String sortOrder) {
48c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay        MatrixCursor cursor = new MatrixCursor(COLUMNS);
49c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay        Object[] values = new Object[3];
50c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay
51c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay        for (int i = 0; i < TOTAL_SIZE; i++) {
52c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay            values[0] = i;
53c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay            values[1] = "I'm row number " + i;
54c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay            values[2] = System.currentTimeMillis();
55c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay            cursor.addRow(values);
56c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay        }
57c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay
58c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay        return cursor;
59c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    }
60c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay
61c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    @Override
62c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    public int delete(Uri uri, String selection, String[] selectionArgs) {
63c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay        throw new UnsupportedOperationException("Not yet implemented");
64c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    }
65c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay
66c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    @Override
67c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    public String getType(Uri uri) {
68c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay        throw new UnsupportedOperationException("Not yet implemented");
69c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    }
70c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay
71c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    @Override
72c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    public Uri insert(Uri uri, ContentValues values) {
73c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay        throw new UnsupportedOperationException("Not yet implemented");
74c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    }
75c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay
76c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    @Override
77c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    public int update(Uri uri, ContentValues values, String selection,
78c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay            String[] selectionArgs) {
79c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay        throw new UnsupportedOperationException("Not yet implemented");
80c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay    }
81c01ec9664a26a603d90b067d1ca7ca39950eb025Steve McKay}
82