15e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet/* 25e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * Copyright (C) 2010 The Android Open Source Project 35e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * 45e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * Licensed under the Apache License, Version 2.0 (the "License"); 55e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * you may not use this file except in compliance with the License. 65e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * You may obtain a copy of the License at 75e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * 85e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * http://www.apache.org/licenses/LICENSE-2.0 95e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * 105e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * Unless required by applicable law or agreed to in writing, software 115e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * distributed under the License is distributed on an "AS IS" BASIS, 125e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * See the License for the specific language governing permissions and 145e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * limitations under the License. 155e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet */ 165e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 17c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetpackage com.android.layoutlib.bridge.android; 185e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 195e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport android.content.ContentProviderOperation; 205e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport android.content.ContentProviderResult; 215e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport android.content.ContentValues; 225e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport android.content.IContentProvider; 235e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport android.content.OperationApplicationException; 245e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport android.content.res.AssetFileDescriptor; 255e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport android.database.Cursor; 265e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport android.net.Uri; 275e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport android.os.Bundle; 285e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport android.os.IBinder; 29a7771df3696954f0e279407e8894a916a7cb26ccJeff Brownimport android.os.ICancellationSignal; 305e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport android.os.ParcelFileDescriptor; 315e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport android.os.RemoteException; 325e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 335e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport java.io.FileNotFoundException; 345e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetimport java.util.ArrayList; 355e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 365e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet/** 375e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * Mock implementation of {@link IContentProvider}. 385e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * 395e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet * TODO: never return null when the method is not supposed to. Return fake data instead. 405e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet */ 415e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohetpublic final class BridgeContentProvider implements IContentProvider { 42d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown @Override 4335654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public ContentProviderResult[] applyBatch(String callingPackage, 4435654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn ArrayList<ContentProviderOperation> arg0) 455e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet throws RemoteException, OperationApplicationException { 465e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet // TODO Auto-generated method stub 475e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet return null; 485e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet } 495e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 50d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown @Override 5135654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public int bulkInsert(String callingPackage, Uri arg0, ContentValues[] arg1) 5235654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn throws RemoteException { 535e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet // TODO Auto-generated method stub 545e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet return 0; 555e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet } 565e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 57d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown @Override 5835654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public Bundle call(String callingPackage, String arg0, String arg1, Bundle arg2) 5935654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn throws RemoteException { 605e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet // TODO Auto-generated method stub 615e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet return null; 625e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet } 635e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 64d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown @Override 6535654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public int delete(String callingPackage, Uri arg0, String arg1, String[] arg2) 6635654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn throws RemoteException { 675e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet // TODO Auto-generated method stub 685e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet return 0; 695e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet } 705e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 71d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown @Override 725e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet public String getType(Uri arg0) throws RemoteException { 735e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet // TODO Auto-generated method stub 745e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet return null; 755e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet } 765e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 77d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown @Override 7835654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public Uri insert(String callingPackage, Uri arg0, ContentValues arg1) throws RemoteException { 795e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet // TODO Auto-generated method stub 805e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet return null; 815e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet } 825e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 83d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown @Override 8435654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public AssetFileDescriptor openAssetFile(String callingPackage, Uri arg0, String arg1) 8535654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn throws RemoteException, FileNotFoundException { 865e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet // TODO Auto-generated method stub 875e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet return null; 885e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet } 895e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 90d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown @Override 9135654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public ParcelFileDescriptor openFile(String callingPackage, Uri arg0, String arg1) 9235654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn throws RemoteException, FileNotFoundException { 935e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet // TODO Auto-generated method stub 945e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet return null; 955e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet } 965e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 97d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown @Override 9835654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public Cursor query(String callingPackage, Uri arg0, String[] arg1, String arg2, String[] arg3, 9935654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn String arg4, ICancellationSignal arg5) throws RemoteException { 1005e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet // TODO Auto-generated method stub 1015e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet return null; 1025e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet } 1035e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 104d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown @Override 10535654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public int update(String callingPackage, Uri arg0, ContentValues arg1, String arg2, 10635654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn String[] arg3) throws RemoteException { 1075e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet // TODO Auto-generated method stub 1085e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet return 0; 1095e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet } 1105e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 111d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown @Override 1125e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet public IBinder asBinder() { 1135e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet // TODO Auto-generated method stub 1145e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet return null; 1155e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet } 1165e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 117d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown @Override 1185e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet public String[] getStreamTypes(Uri arg0, String arg1) throws RemoteException { 1195e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet // TODO Auto-generated method stub 1205e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet return null; 1215e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet } 1225e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 123d2183654e03d589b120467f4e98da1b178ceeadbJeff Brown @Override 12435654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn public AssetFileDescriptor openTypedAssetFile(String callingPackage, Uri arg0, String arg1, 12535654b61e8fe7bc85afcb076ddbb590d51c5865fDianne Hackborn Bundle arg2) throws RemoteException, FileNotFoundException { 1265e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet // TODO Auto-generated method stub 1275e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet return null; 1285e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet } 1295e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet 13075ea64fc54f328d37b115cfb1ded1e45c30380edJeff Brown @Override 1314c1241df8f8b7fd5ec3dff6c7e0f66271248e76eJeff Brown public ICancellationSignal createCancellationSignal() throws RemoteException { 13275ea64fc54f328d37b115cfb1ded1e45c30380edJeff Brown // TODO Auto-generated method stub 13375ea64fc54f328d37b115cfb1ded1e45c30380edJeff Brown return null; 13475ea64fc54f328d37b115cfb1ded1e45c30380edJeff Brown } 1355e7ed8da0d990cbc55071d16b5db270231ff0c89Xavier Ducrohet} 136