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