HomeProvider.java revision bafe58a83ade9cfa5c91e7033fae2d08a64603e8
1
2/*
3 * Copyright (C) 2011 The Android Open Source Project
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17package com.android.browser.homepages;
18
19import android.content.ContentProvider;
20import android.content.ContentValues;
21import android.content.res.AssetFileDescriptor;
22import android.database.Cursor;
23import android.net.Uri;
24import android.os.ParcelFileDescriptor;
25import android.util.Log;
26
27import java.io.IOException;
28
29public class HomeProvider extends ContentProvider {
30
31    private static final String TAG = "HomeProvider";
32    public static final String AUTHORITY = "com.android.browser.home";
33    public static final String MOST_VISITED = "content://" + AUTHORITY + "/";
34
35    @Override
36    public int delete(Uri uri, String selection, String[] selectionArgs) {
37        return 0;
38    }
39
40    @Override
41    public String getType(Uri uri) {
42        return null;
43    }
44
45    @Override
46    public Uri insert(Uri uri, ContentValues values) {
47        return null;
48    }
49
50    @Override
51    public boolean onCreate() {
52        return false;
53    }
54
55    @Override
56    public Cursor query(Uri uri, String[] projection, String selection,
57            String[] selectionArgs, String sortOrder) {
58        return null;
59    }
60
61    @Override
62    public int update(Uri uri, ContentValues values, String selection,
63            String[] selectionArgs) {
64        return 0;
65    }
66
67    @Override
68    public ParcelFileDescriptor openFile(Uri uri, String mode) {
69        try {
70            ParcelFileDescriptor[] pipes = ParcelFileDescriptor.createPipe();
71            final ParcelFileDescriptor write = pipes[1];
72            AssetFileDescriptor afd = new AssetFileDescriptor(write, 0, -1);
73            new RequestHandler(getContext(), uri, afd.createOutputStream()).start();
74            return pipes[0];
75        } catch (IOException e) {
76            Log.e(TAG, "Failed to handle request: " + uri, e);
77            return null;
78        }
79    }
80
81}
82