18280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa/* 28280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * Copyright (C) 2009 The Android Open Source Project 38280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * 48280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * Licensed under the Apache License, Version 2.0 (the "License"); 58280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * you may not use this file except in compliance with the License. 68280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * You may obtain a copy of the License at 78280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * 88280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * http://www.apache.org/licenses/LICENSE-2.0 98280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * 108280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * Unless required by applicable law or agreed to in writing, software 118280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * distributed under the License is distributed on an "AS IS" BASIS, 128280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * See the License for the specific language governing permissions and 148280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * limitations under the License. 158280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa */ 168280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 178280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawapackage android.test.mock; 188280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 198280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawaimport android.content.ContentProviderOperation; 208280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawaimport android.content.ContentProviderResult; 218280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawaimport android.content.ContentValues; 228280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawaimport android.content.EntityIterator; 238280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawaimport android.content.IContentProvider; 248280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawaimport android.content.res.AssetFileDescriptor; 258280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawaimport android.database.Cursor; 268280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawaimport android.net.Uri; 271877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrickimport android.os.Bundle; 288280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawaimport android.os.IBinder; 29a7771df3696954f0e279407e8894a916a7cb26ccJeff Brownimport android.os.ICancellationSignal; 308280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawaimport android.os.ParcelFileDescriptor; 318280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawaimport android.os.RemoteException; 328280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 3323fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackbornimport java.io.FileNotFoundException; 348280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawaimport java.util.ArrayList; 358280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 368280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa/** 378280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * Mock implementation of IContentProvider. All methods are non-functional and throw 388280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * {@link java.lang.UnsupportedOperationException}. Tests can extend this class to 398280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * implement behavior needed for tests. 408280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa * 411877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick * @hide - @hide because this exposes bulkQuery() and call(), which must also be hidden. 428280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa */ 438280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawapublic class MockIContentProvider implements IContentProvider { 448280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public int bulkInsert(Uri url, ContentValues[] initialValues) { 458280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 468280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 478280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 488280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa @SuppressWarnings("unused") 498280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public int delete(Uri url, String selection, String[] selectionArgs) 508280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throws RemoteException { 518280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 528280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 538280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 548280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public String getType(Uri url) { 558280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 568280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 578280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 588280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa @SuppressWarnings("unused") 598280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public Uri insert(Uri url, ContentValues initialValues) throws RemoteException { 608280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 618280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 628280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 638280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public ParcelFileDescriptor openFile(Uri url, String mode) { 648280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 658280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 668280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 678280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public AssetFileDescriptor openAssetFile(Uri uri, String mode) { 688280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 698280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 708280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 718280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations) { 728280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 738280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 748280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 758280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public Cursor query(Uri url, String[] projection, String selection, String[] selectionArgs, 764c1241df8f8b7fd5ec3dff6c7e0f66271248e76eJeff Brown String sortOrder, ICancellationSignal cancellationSignal) { 778280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 788280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 798280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 808280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public EntityIterator queryEntities(Uri url, String selection, String[] selectionArgs, 818280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa String sortOrder) { 828280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 838280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 848280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 858280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public int update(Uri url, ContentValues values, String selection, String[] selectionArgs) 868280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throws RemoteException { 878280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 888280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 898280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 901877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick public Bundle call(String method, String request, Bundle args) 911877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick throws RemoteException { 921877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick throw new UnsupportedOperationException("unimplemented mock method"); 931877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick } 941877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick 958280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public IBinder asBinder() { 968280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 978280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 9823fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn 9923fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn public String[] getStreamTypes(Uri url, String mimeTypeFilter) throws RemoteException { 10023fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn throw new UnsupportedOperationException("unimplemented mock method"); 10123fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn } 10223fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn 10323fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn public AssetFileDescriptor openTypedAssetFile(Uri url, String mimeType, Bundle opts) 10423fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn throws RemoteException, FileNotFoundException { 10523fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn throw new UnsupportedOperationException("unimplemented mock method"); 10623fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn } 10775ea64fc54f328d37b115cfb1ded1e45c30380edJeff Brown 10875ea64fc54f328d37b115cfb1ded1e45c30380edJeff Brown @Override 1094c1241df8f8b7fd5ec3dff6c7e0f66271248e76eJeff Brown public ICancellationSignal createCancellationSignal() throws RemoteException { 11075ea64fc54f328d37b115cfb1ded1e45c30380edJeff Brown throw new UnsupportedOperationException("unimplemented mock method"); 11175ea64fc54f328d37b115cfb1ded1e45c30380edJeff Brown } 1128280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa} 113