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 { 4435654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public int bulkInsert(String callingPackage, Uri url, ContentValues[] initialValues) { 458280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 468280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 478280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 488280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa @SuppressWarnings("unused") 4935654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public int delete(String callingPackage, 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") 5935654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public Uri insert(String callingPackage, Uri url, ContentValues initialValues) 6035654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn throws RemoteException { 618280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 628280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 638280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 64bd3b902567b09379e1b62c60b3319ad82102efadJeff Sharkey public ParcelFileDescriptor openFile( 65ff17024e583b170312d82089fd358d278ce16c9aDianne Hackborn String callingPackage, Uri url, String mode, ICancellationSignal signal, 66ff17024e583b170312d82089fd358d278ce16c9aDianne Hackborn IBinder callerToken) { 678280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 688280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 698280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 70bd3b902567b09379e1b62c60b3319ad82102efadJeff Sharkey public AssetFileDescriptor openAssetFile( 71bd3b902567b09379e1b62c60b3319ad82102efadJeff Sharkey String callingPackage, Uri uri, String mode, ICancellationSignal signal) { 728280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 738280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 748280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 7535654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public ContentProviderResult[] applyBatch(String callingPackage, 7635654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn ArrayList<ContentProviderOperation> operations) { 778280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 788280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 798280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 8035654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public Cursor query(String callingPackage, Uri url, String[] projection, String selection, 8135654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn String[] selectionArgs, 824c1241df8f8b7fd5ec3dff6c7e0f66271248e76eJeff Brown String sortOrder, ICancellationSignal cancellationSignal) { 838280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 848280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 858280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 868280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public EntityIterator queryEntities(Uri url, String selection, String[] selectionArgs, 878280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa String sortOrder) { 888280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 898280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 908280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 9135654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public int update(String callingPackage, Uri url, ContentValues values, String selection, 9235654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn String[] selectionArgs) throws RemoteException { 938280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 948280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 958280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa 9635654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public Bundle call(String callingPackage, String method, String request, Bundle args) 971877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick throws RemoteException { 981877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick throw new UnsupportedOperationException("unimplemented mock method"); 991877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick } 1001877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick 1018280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa public IBinder asBinder() { 1028280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa throw new UnsupportedOperationException("unimplemented mock method"); 1038280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa } 10423fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn 10523fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn public String[] getStreamTypes(Uri url, String mimeTypeFilter) throws RemoteException { 10623fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn throw new UnsupportedOperationException("unimplemented mock method"); 10723fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn } 10823fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn 10935654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public AssetFileDescriptor openTypedAssetFile(String callingPackage, Uri url, String mimeType, 110bd3b902567b09379e1b62c60b3319ad82102efadJeff Sharkey Bundle opts, ICancellationSignal signal) throws RemoteException, FileNotFoundException { 11123fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn throw new UnsupportedOperationException("unimplemented mock method"); 11223fdaf6fb62a9b5154b2508916a21c678462c5d0Dianne Hackborn } 11375ea64fc54f328d37b115cfb1ded1e45c30380edJeff Brown 11475ea64fc54f328d37b115cfb1ded1e45c30380edJeff Brown @Override 1154c1241df8f8b7fd5ec3dff6c7e0f66271248e76eJeff Brown public ICancellationSignal createCancellationSignal() throws RemoteException { 11675ea64fc54f328d37b115cfb1ded1e45c30380edJeff Brown throw new UnsupportedOperationException("unimplemented mock method"); 11775ea64fc54f328d37b115cfb1ded1e45c30380edJeff Brown } 11838ed2a471a2291383821fb187bfa18450f0581c2Dianne Hackborn 11938ed2a471a2291383821fb187bfa18450f0581c2Dianne Hackborn @Override 12038ed2a471a2291383821fb187bfa18450f0581c2Dianne Hackborn public Uri canonicalize(String callingPkg, Uri uri) throws RemoteException { 12138ed2a471a2291383821fb187bfa18450f0581c2Dianne Hackborn throw new UnsupportedOperationException("unimplemented mock method"); 12238ed2a471a2291383821fb187bfa18450f0581c2Dianne Hackborn } 12338ed2a471a2291383821fb187bfa18450f0581c2Dianne Hackborn 12438ed2a471a2291383821fb187bfa18450f0581c2Dianne Hackborn @Override 12538ed2a471a2291383821fb187bfa18450f0581c2Dianne Hackborn public Uri uncanonicalize(String callingPkg, Uri uri) throws RemoteException { 12638ed2a471a2291383821fb187bfa18450f0581c2Dianne Hackborn throw new UnsupportedOperationException("unimplemented mock method"); 12738ed2a471a2291383821fb187bfa18450f0581c2Dianne Hackborn } 1288280c2b15f6875b2d387c05df23d264864eb9cd5Daisuke Miyakawa} 129