/**@class android.content.ContentProviderClient @extends java.lang.Object The public interface object used to interact with a {@link android.content.ContentProvider}. This is obtained by calling {@link android.content.ContentResolver#acquireContentProviderClient}. This object must be released using {@link #release} in order to indicate to the system that the {@link android.content.ContentProvider} is no longer needed and can be killed to free up resources. <p>Note that you should generally create a new ContentProviderClient instance for each thread that will be performing operations. Unlike {@link android.content.ContentResolver}, the methods here such as {@link #query} and {@link #openFile} are not thread safe -- you must not call {@link #release}() on the ContentProviderClient those calls are made from until you are finished with the data they have returned. */ var ContentProviderClient = { /**{@hide} */ setDetectNotResponding : function( ) {}, /**See {@link android.content.ContentProvider#query android.content.ContentProvider.query} */ query : function( ) {}, /**See {@link android.content.ContentProvider#query android.content.ContentProvider.query} */ query : function( ) {}, /**See {@link android.content.ContentProvider#getType android.content.ContentProvider.getType} */ getType : function( ) {}, /**See {@link android.content.ContentProvider#getStreamTypes android.content.ContentProvider.getStreamTypes} */ getStreamTypes : function( ) {}, /**See {@link android.content.ContentProvider#canonicalize} */ canonicalize : function( ) {}, /**See {@link android.content.ContentProvider#uncanonicalize} */ uncanonicalize : function( ) {}, /**See {@link android.content.ContentProvider#insert android.content.ContentProvider.insert} */ insert : function( ) {}, /**See {@link android.content.ContentProvider#bulkInsert android.content.ContentProvider.bulkInsert} */ bulkInsert : function( ) {}, /**See {@link android.content.ContentProvider#delete android.content.ContentProvider.delete} */ delete : function( ) {}, /**See {@link android.content.ContentProvider#update android.content.ContentProvider.update} */ update : function( ) {}, /**See {@link android.content.ContentProvider#openFile android.content.ContentProvider.openFile}. Note that this <em>does not</em> take care of non-content: URIs such as file:. It is strongly recommended you use the {@link android.content.ContentResolver#openFileDescriptor android.content.ContentResolver.openFileDescriptor} API instead. */ openFile : function( ) {}, /**See {@link android.content.ContentProvider#openFile android.content.ContentProvider.openFile}. Note that this <em>does not</em> take care of non-content: URIs such as file:. It is strongly recommended you use the {@link android.content.ContentResolver#openFileDescriptor android.content.ContentResolver.openFileDescriptor} API instead. */ openFile : function( ) {}, /**See {@link android.content.ContentProvider#openAssetFile android.content.ContentProvider.openAssetFile}. Note that this <em>does not</em> take care of non-content: URIs such as file:. It is strongly recommended you use the {@link android.content.ContentResolver#openAssetFileDescriptor android.content.ContentResolver.openAssetFileDescriptor} API instead. */ openAssetFile : function( ) {}, /**See {@link android.content.ContentProvider#openAssetFile android.content.ContentProvider.openAssetFile}. Note that this <em>does not</em> take care of non-content: URIs such as file:. It is strongly recommended you use the {@link android.content.ContentResolver#openAssetFileDescriptor android.content.ContentResolver.openAssetFileDescriptor} API instead. */ openAssetFile : function( ) {}, /**See {@link android.content.ContentProvider#openTypedAssetFile android.content.ContentProvider.openTypedAssetFile} */ openTypedAssetFileDescriptor : function( ) {}, /**See {@link android.content.ContentProvider#openTypedAssetFile android.content.ContentProvider.openTypedAssetFile} */ openTypedAssetFileDescriptor : function( ) {}, /**See {@link android.content.ContentProvider#applyBatch android.content.ContentProvider.applyBatch} */ applyBatch : function( ) {}, /**See {@link android.content.ContentProvider#call(String, String, Bundle)} */ call : function( ) {}, /**Call this to indicate to the system that the associated {@link android.content.ContentProvider} is no longer needed by this {@link android.content.ContentProviderClient}. @return {Boolean} true if this was release, false if it was already released */ release : function( ) {}, /**Get a reference to the {@link android.content.ContentProvider} that is associated with this client. If the {@link android.content.ContentProvider} is running in a different process then null will be returned. This can be used if you know you are running in the same process as a provider, and want to get direct access to its implementation details. @return {Object {android.content.ContentProvider}} If the associated {@link ContentProvider} is local, returns it. Otherwise returns null. */ getLocalContentProvider : function( ) {}, /**{@hide} */ releaseQuietly : function( ) {}, };