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