public class MockContentResolver extends ContentResolver
An extension of ContentResolver
that is designed for
testing.
MockContentResolver overrides Android's normal way of resolving providers by
authority. To have access to a provider based on its authority, users of
MockContentResolver first instantiate the provider and
use addProvider(String, ContentProvider)
. Resolution of an
authority occurs entirely within MockContentResolver.
Users can also set an authority's entry in the map to null, so that a provider is completely mocked out.
For more information about application testing, read the Testing developer guide.
ContentResolver.OpenResourceIdResult
CONTENT_SERVICE_NAME, CURSOR_DIR_BASE_TYPE, CURSOR_ITEM_BASE_TYPE, SCHEME_ANDROID_RESOURCE, SCHEME_CONTENT, SCHEME_FILE, SYNC_ERROR_AUTHENTICATION, SYNC_ERROR_CONFLICT, SYNC_ERROR_INTERNAL, SYNC_ERROR_IO, SYNC_ERROR_PARSE, SYNC_ERROR_SYNC_ALREADY_IN_PROGRESS, SYNC_ERROR_TOO_MANY_DELETIONS, SYNC_ERROR_TOO_MANY_RETRIES, SYNC_EXTRAS_ACCOUNT, SYNC_EXTRAS_DISCARD_LOCAL_DELETIONS, SYNC_EXTRAS_DO_NOT_RETRY, SYNC_EXTRAS_EXPEDITED, SYNC_EXTRAS_FORCE, SYNC_EXTRAS_IGNORE_BACKOFF, SYNC_EXTRAS_IGNORE_SETTINGS, SYNC_EXTRAS_INITIALIZE, SYNC_EXTRAS_MANUAL, SYNC_EXTRAS_OVERRIDE_TOO_MANY_DELETIONS, SYNC_EXTRAS_UPLOAD, SYNC_OBSERVER_TYPE_ACTIVE, SYNC_OBSERVER_TYPE_ALL, SYNC_OBSERVER_TYPE_PENDING, SYNC_OBSERVER_TYPE_SETTINGS, SYNC_OBSERVER_TYPE_STATUS
Constructor and Description |
---|
MockContentResolver() |
Modifier and Type | Method and Description |
---|---|
protected IContentProvider |
acquireExistingProvider(Context context,
String name)
Providing a default implementation of this, to avoid having to change
a lot of other things, but implementations of ContentResolver should
implement it.
|
protected IContentProvider |
acquireProvider(Context context,
String name) |
protected IContentProvider |
acquireUnstableProvider(Context c,
String name) |
void |
addProvider(String name,
ContentProvider provider)
Adds access to a provider based on its authority
|
void |
notifyChange(Uri uri,
ContentObserver observer,
boolean syncToNetwork)
|
boolean |
releaseProvider(IContentProvider provider) |
boolean |
releaseUnstableProvider(IContentProvider icp) |
void |
unstableProviderDied(IContentProvider icp) |
acquireContentProviderClient, acquireContentProviderClient, acquireExistingProvider, acquireProvider, acquireProvider, acquireUnstableContentProviderClient, acquireUnstableContentProviderClient, acquireUnstableProvider, acquireUnstableProvider, addPeriodicSync, addStatusChangeListener, applyBatch, bulkInsert, call, cancelSync, cancelSync, delete, getContentService, getCurrentSync, getCurrentSyncs, getIsSyncable, getMasterSyncAutomatically, getPeriodicSyncs, getResourceId, getStreamTypes, getSyncAdapterTypes, getSyncAutomatically, getSyncStatus, getType, insert, isSyncActive, isSyncPending, modeToMode, notifyChange, notifyChange, openAssetFileDescriptor, openFileDescriptor, openInputStream, openOutputStream, openOutputStream, openTypedAssetFileDescriptor, query, query, registerContentObserver, registerContentObserver, removePeriodicSync, removeStatusChangeListener, requestSync, setIsSyncable, setMasterSyncAutomatically, setSyncAutomatically, startSync, unregisterContentObserver, update, validateSyncExtrasBundle
public void addProvider(String name, ContentProvider provider)
name
- The authority name associated with the provider.provider
- An instance of ContentProvider
or one of its
subclasses, or null.protected IContentProvider acquireProvider(Context context, String name)
acquireProvider
in class ContentResolver
protected IContentProvider acquireExistingProvider(Context context, String name)
ContentResolver
acquireExistingProvider
in class ContentResolver
public boolean releaseProvider(IContentProvider provider)
releaseProvider
in class ContentResolver
protected IContentProvider acquireUnstableProvider(Context c, String name)
acquireUnstableProvider
in class ContentResolver
public boolean releaseUnstableProvider(IContentProvider icp)
releaseUnstableProvider
in class ContentResolver
public void unstableProviderDied(IContentProvider icp)
unstableProviderDied
in class ContentResolver
public void notifyChange(Uri uri, ContentObserver observer, boolean syncToNetwork)
ContentResolver.notifChange(Uri, ContentObserver, boolean)
. All parameters are ignored.
The method hides providers linked to MockContentResolver from other observers in the system.notifyChange
in class ContentResolver
uri
- (Ignored) The uri of the content provider.observer
- (Ignored) The observer that originated the change.syncToNetwork
- (Ignored) If true, attempt to sync the change to the network.ContentResolver.requestSync(android.accounts.Account, String, android.os.Bundle)