Class MAMDocumentsProvider
-
- All Implemented Interfaces:
-
android.content.ComponentCallbacks,android.content.ComponentCallbacks2,com.microsoft.intune.mam.client.app.MAMIdentityRequirementListener,com.microsoft.intune.mam.client.content.HookedContentProvider,com.microsoft.intune.mam.client.content.HookedDocumentsProvider
public abstract class MAMDocumentsProvider extends DocumentsProvider implements HookedDocumentsProviderMAM version of DocumentsProvider.
-
-
Field Summary
Fields Modifier and Type Field Description public final static intTRIM_MEMORY_BACKGROUNDpublic final static intTRIM_MEMORY_COMPLETEpublic final static intTRIM_MEMORY_MODERATEpublic final static intTRIM_MEMORY_RUNNING_CRITICALpublic final static intTRIM_MEMORY_RUNNING_LOWpublic final static intTRIM_MEMORY_RUNNING_MODERATEpublic final static intTRIM_MEMORY_UI_HIDDEN
-
Constructor Summary
Constructors Constructor Description MAMDocumentsProvider()
-
Method Summary
Modifier and Type Method Description voidattachInfo(Context context, ProviderInfo info)final Array<ContentProviderResult>applyBatch(ArrayList<ContentProviderOperation> operations)final Array<ContentProviderResult>applyBatch(String authority, ArrayList<ContentProviderOperation> operations)final intbulkInsert(Uri uri, Array<ContentValues> values)final Bundlecall(String method, String arg, Bundle extras)final Bundlecall(String authority, String method, String arg, Bundle extras)final StringcreateDocument(String parentDocumentId, String mimeType, String displayName)final voiddeleteDocument(String documentId)final intdelete(Uri uri, Bundle extras)final Uriinsert(Uri uri, ContentValues values, Bundle extras)final ParcelFileDescriptoropenDocument(String documentId, String mode, CancellationSignal signal)final AssetFileDescriptoropenDocumentThumbnail(String documentId, Point sizeHint, CancellationSignal signal)final Cursorquery(Uri uri, Array<String> projection, String selection, Array<String> selectionArgs, String sortOrder, CancellationSignal cancellationSignal)final CursorqueryChildDocuments(String parentDocumentId, Array<String> projection, String sortOrder)Note, there are other overloads of query which we do not override because they are final. final CursorqueryChildDocuments(String parentDocumentId, Array<String> projection, Bundle queryArgs)final CursorqueryDocument(String documentId, Array<String> projection)final CursorqueryRecentDocuments(String rootId, Array<String> projection)final CursorqueryRoots(Array<String> projection)final CursorquerySearchDocuments(String rootId, String query, Array<String> projection)final intupdate(Uri uri, ContentValues values, Bundle extras)final voidejectRoot(String rootId)IntentSendercreateWebLinkIntent(String documentId, Bundle options)final DocumentsContract.PathfindDocumentPath(String parentDocumentId, String childDocumentId)voidattachInfoMAM(Context context, ProviderInfo info)MAM version of attachInfo. Array<ContentProviderResult>applyBatchMAM(ArrayList<ContentProviderOperation> operations)MAM version of applyBatch. Array<ContentProviderResult>applyBatchMAM(String authority, ArrayList<ContentProviderOperation> operations)MAM version of applyBatch. intbulkInsertMAM(Uri uri, Array<ContentValues> values)MAM version of bulkInsert. BundlecallMAM(String method, String arg, Bundle extras)MAM version of call. BundlecallMAM(String authority, String method, String arg, Bundle extras)MAM version of call. StringcreateDocumentMAM(String parentDocumentId, String mimeType, String displayName)See DocumentsProvider. voiddeleteDocumentMAM(String parentDocumentId)See DocumentsProvider. AssetFileDescriptoropenDocumentThumbnailMAM(String documentId, Point sizeHint, CancellationSignal signal)See DocumentsProvider. CursorqueryMAM(Uri uri, Array<String> projection, String selection, Array<String> selectionArgs, String sortOrder, CancellationSignal cancellationSignal)MAM version of query. CursorqueryMAM(Uri uri, Array<String> projection, Bundle queryArgs, CancellationSignal cancellationSignal)MAM version of query. CursorqueryChildDocumentsMAM(String parentDocumentId, Array<String> projection, Bundle queryArgs)See DocumentsProvider. CursorqueryRecentDocumentsMAM(String rootId, Array<String> projection)See DocumentsProvider. CursorquerySearchDocumentsMAM(String rootId, String query, Array<String> projection)See DocumentsProvider. StringcopyDocument(String sourceDocumentId, String targetParentDocumentId)StringcopyDocumentMAM(String sourceDocumentId, String targetParentDocumentId)MAM version of copyDocument. AssetFileDescriptoropenTypedDocument(String documentId, String mimeTypeFilter, Bundle opts, CancellationSignal signal)AssetFileDescriptoropenTypedDocumentMAM(String documentId, String mimeTypeFilter, Bundle opts, CancellationSignal signal)MAM version of openTypedDocument. StringmoveDocument(String sourceDocumentId, String sourceParentDocumentId, String targetParentDocumentId)StringmoveDocumentMAM(String sourceDocumentId, String sourceParentDocumentId, String targetParentDocumentId)MAM version of moveDocument. voidremoveDocument(String documentId, String parentDocumentId)voidremoveDocumentMAM(String documentId, String parentDocumentId)MAM version of removeDocument. final AssetFileDescriptoropenAssetFileMAM(Uri uri, String mode)MAM version of openAssetFile. final AssetFileDescriptoropenAssetFileMAM(Uri uri, String mode, CancellationSignal signal)MAM version of openAssetFile. final ParcelFileDescriptoropenFileMAM(Uri uri, String mode)MAM version of openFile. final ParcelFileDescriptoropenFileMAM(Uri uri, String mode, CancellationSignal signal)MAM version of openFile. final AssetFileDescriptoropenTypedAssetFileMAM(Uri uri, String mimeTypeFilter, Bundle opts)MAM version of openTypedAssetFile. final AssetFileDescriptoropenTypedAssetFileMAM(Uri uri, String mimeTypeFilter, Bundle opts, CancellationSignal signal)MAM version of openTypedAssetFile. intdeleteMAM(Uri uri, String selection, Array<String> selectionArgs)MAM version of delete. intdeleteMAM(Uri uri, Bundle extras)MAM version of delete. UriinsertMAM(Uri uri, ContentValues values)MAM version of insert. UriinsertMAM(Uri uri, ContentValues values, Bundle extras)MAM version of insert. CursorqueryMAM(Uri uri, Array<String> projection, String selection, Array<String> selectionArgs, String sortOrder)MAM version of query. intupdateMAM(Uri uri, ContentValues values, String selection, Array<String> selectionArgs)MAM version of update. intupdateMAM(Uri uri, ContentValues values, Bundle extras)MAM version of update. voidejectRootMAM(String rootId)MAM version of ejectRoot. IntentSendercreateWebLinkIntentMAM(String documentId, Bundle options)MAM version of createWebLinkIntent. DocumentsContract.PathfindDocumentPathMAM(String parentDocumentId, String childDocumentId)MAM version of findDocumentPath. -
Methods inherited from class android.provider.DocumentsProvider
canonicalize, delete, getDocumentMetadata, getDocumentStreamTypes, getDocumentType, getStreamTypes, getType, getTypeAnonymous, insert, isChildDocument, openAssetFile, openFile, openTypedAssetFile, query, renameDocument, revokeDocumentPermission, update -
Methods inherited from class com.microsoft.intune.mam.client.content.HookedDocumentsProvider
openDocumentMAM, queryChildDocumentsMAM, queryDocumentMAM, queryRootsMAM -
Methods inherited from class android.content.ContentProvider
clearCallingIdentity, dump, getCallingAttributionSource, getCallingAttributionTag, getCallingPackage, getCallingPackageUnchecked, getContext, getPathPermissions, getReadPermission, getWritePermission, onCallingPackageChanged, onConfigurationChanged, onCreate, onLowMemory, onTrimMemory, openPipeHelper, refresh, requireContext, restoreCallingIdentity, shutdown, uncanonicalize -
Methods inherited from class com.microsoft.intune.mam.client.app.MAMIdentityRequirementListener
onMAMIdentitySwitchRequired, onMAMIdentitySwitchRequired -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
attachInfo
void attachInfo(Context context, ProviderInfo info)
-
applyBatch
final Array<ContentProviderResult> applyBatch(ArrayList<ContentProviderOperation> operations)
-
applyBatch
final Array<ContentProviderResult> applyBatch(String authority, ArrayList<ContentProviderOperation> operations)
-
bulkInsert
final int bulkInsert(Uri uri, Array<ContentValues> values)
-
createDocument
final String createDocument(String parentDocumentId, String mimeType, String displayName)
-
deleteDocument
final void deleteDocument(String documentId)
-
delete
@RequiresApi(api = Build.VERSION_CODES.R) final int delete(Uri uri, Bundle extras)
-
insert
@RequiresApi(api = Build.VERSION_CODES.R) final Uri insert(Uri uri, ContentValues values, Bundle extras)
-
openDocument
final ParcelFileDescriptor openDocument(String documentId, String mode, CancellationSignal signal)
-
openDocumentThumbnail
final AssetFileDescriptor openDocumentThumbnail(String documentId, Point sizeHint, CancellationSignal signal)
-
query
final Cursor query(Uri uri, Array<String> projection, String selection, Array<String> selectionArgs, String sortOrder, CancellationSignal cancellationSignal)
-
queryChildDocuments
final Cursor queryChildDocuments(String parentDocumentId, Array<String> projection, String sortOrder)
Note, there are other overloads of query which we do not override because they are final. Data leak will not occur, because the DocumentsProvider implementation of these always calls into one of the non-final documents-specific query* methods (queryRoots, queryRecentDocuments, etc).
-
queryChildDocuments
@RequiresApi(value = Build.VERSION_CODES.O) final Cursor queryChildDocuments(String parentDocumentId, Array<String> projection, Bundle queryArgs)
-
queryDocument
final Cursor queryDocument(String documentId, Array<String> projection)
-
queryRecentDocuments
final Cursor queryRecentDocuments(String rootId, Array<String> projection)
-
queryRoots
final Cursor queryRoots(Array<String> projection)
-
querySearchDocuments
final Cursor querySearchDocuments(String rootId, String query, Array<String> projection)
-
update
@RequiresApi(api = Build.VERSION_CODES.R) final int update(Uri uri, ContentValues values, Bundle extras)
-
createWebLinkIntent
@RequiresApi(value = Build.VERSION_CODES.O) IntentSender createWebLinkIntent(String documentId, Bundle options)
-
findDocumentPath
@RequiresApi(value = Build.VERSION_CODES.O) final DocumentsContract.Path findDocumentPath(String parentDocumentId, String childDocumentId)
-
attachInfoMAM
void attachInfoMAM(Context context, ProviderInfo info)
MAM version of attachInfo.
- Parameters:
context- See ContentProvider.info- See ContentProvider.
-
applyBatchMAM
Array<ContentProviderResult> applyBatchMAM(ArrayList<ContentProviderOperation> operations)
MAM version of applyBatch.
- Parameters:
operations- See ContentProvider.- Returns:
See ContentProvider.
-
applyBatchMAM
Array<ContentProviderResult> applyBatchMAM(String authority, ArrayList<ContentProviderOperation> operations)
MAM version of applyBatch.
- Parameters:
authority- See ContentProvider.operations- See ContentProvider.- Returns:
See ContentProvider.
-
bulkInsertMAM
int bulkInsertMAM(Uri uri, Array<ContentValues> values)
MAM version of bulkInsert.
- Parameters:
uri- See ContentProvider.values- See ContentProvider.- Returns:
See ContentProvider.
-
callMAM
Bundle callMAM(String method, String arg, Bundle extras)
MAM version of call.
- Parameters:
method- See ContentProvider.arg- See ContentProvider.extras- See ContentProvider.- Returns:
See ContentProvider.
-
callMAM
Bundle callMAM(String authority, String method, String arg, Bundle extras)
MAM version of call.
- Parameters:
authority- See ContentProvider.method- See ContentProvider.arg- See ContentProvider.extras- See ContentProvider.- Returns:
See ContentProvider.
-
createDocumentMAM
String createDocumentMAM(String parentDocumentId, String mimeType, String displayName)
See DocumentsProvider.
- Parameters:
parentDocumentId- See DocumentsProvider.mimeType- See DocumentsProvider.displayName- See DocumentsProvider.- Returns:
See DocumentsProvider.
-
deleteDocumentMAM
void deleteDocumentMAM(String parentDocumentId)
See DocumentsProvider.
- Parameters:
parentDocumentId- See DocumentsProvider.
-
openDocumentThumbnailMAM
AssetFileDescriptor openDocumentThumbnailMAM(String documentId, Point sizeHint, CancellationSignal signal)
See DocumentsProvider.
- Parameters:
documentId- See DocumentsProvider.sizeHint- See DocumentsProvider.signal- See DocumentsProvider.- Returns:
See DocumentsProvider.
-
queryMAM
Cursor queryMAM(Uri uri, Array<String> projection, String selection, Array<String> selectionArgs, String sortOrder, CancellationSignal cancellationSignal)
MAM version of query.
- Parameters:
uri- See ContentProvider.projection- See ContentProvider.selection- See ContentProvider.selectionArgs- See ContentProvider.sortOrder- See ContentProvider.cancellationSignal- See ContentProvider.- Returns:
See ContentProvider.
-
queryMAM
@RequiresApi(value = Build.VERSION_CODES.O) Cursor queryMAM(Uri uri, Array<String> projection, Bundle queryArgs, CancellationSignal cancellationSignal)
MAM version of query.
- Parameters:
uri- See ContentProvider.projection- See ContentProvider.queryArgs- See ContentProvider.cancellationSignal- See ContentProvider.- Returns:
See ContentProvider.
-
queryChildDocumentsMAM
@RequiresApi(value = Build.VERSION_CODES.O) Cursor queryChildDocumentsMAM(String parentDocumentId, Array<String> projection, Bundle queryArgs)
See DocumentsProvider.
- Parameters:
parentDocumentId- See DocumentsProvider.projection- See DocumentsProvider.queryArgs- See DocumentsProvider.- Returns:
See DocumentsProvider.
-
queryRecentDocumentsMAM
Cursor queryRecentDocumentsMAM(String rootId, Array<String> projection)
See DocumentsProvider.
- Parameters:
rootId- See DocumentsProvider.projection- See DocumentsProvider.- Returns:
See DocumentsProvider.
-
querySearchDocumentsMAM
Cursor querySearchDocumentsMAM(String rootId, String query, Array<String> projection)
See DocumentsProvider.
- Parameters:
rootId- See DocumentsProvider.query- See DocumentsProvider.projection- See DocumentsProvider.- Returns:
See DocumentsProvider.
-
copyDocument
@RequiresApi(value = Build.VERSION_CODES.N) String copyDocument(String sourceDocumentId, String targetParentDocumentId)
-
copyDocumentMAM
@RequiresApi(value = Build.VERSION_CODES.N) String copyDocumentMAM(String sourceDocumentId, String targetParentDocumentId)
MAM version of copyDocument.
- Parameters:
sourceDocumentId- the document to copy.targetParentDocumentId- the target document to be copied into as a child.- Returns:
documentId of new document.
-
openTypedDocument
@RequiresApi(value = Build.VERSION_CODES.N) AssetFileDescriptor openTypedDocument(String documentId, String mimeTypeFilter, Bundle opts, CancellationSignal signal)
-
openTypedDocumentMAM
@RequiresApi(value = Build.VERSION_CODES.N) AssetFileDescriptor openTypedDocumentMAM(String documentId, String mimeTypeFilter, Bundle opts, CancellationSignal signal)
MAM version of openTypedDocument.
- Parameters:
documentId- the document to return.mimeTypeFilter- the MIM type filter for the requested format.opts- extra options from the client.signal- used by the caller to signal if the request should be cancelled.- Returns:
AssetFileDescriptor for typed document.
-
moveDocument
@RequiresApi(value = Build.VERSION_CODES.N) String moveDocument(String sourceDocumentId, String sourceParentDocumentId, String targetParentDocumentId)
-
moveDocumentMAM
@RequiresApi(value = Build.VERSION_CODES.N) String moveDocumentMAM(String sourceDocumentId, String sourceParentDocumentId, String targetParentDocumentId)
MAM version of moveDocument.
- Parameters:
sourceDocumentId- the document to move.sourceParentDocumentId- the parent of the document to move.targetParentDocumentId- the target document to be a new parent of the source document.- Returns:
documentId of new document.
-
removeDocument
@RequiresApi(value = Build.VERSION_CODES.N) void removeDocument(String documentId, String parentDocumentId)
-
removeDocumentMAM
@RequiresApi(value = Build.VERSION_CODES.N) void removeDocumentMAM(String documentId, String parentDocumentId)
MAM version of removeDocument.
- Parameters:
documentId- the document to remove.parentDocumentId- the parent of the document to remove.
-
openAssetFileMAM
final AssetFileDescriptor openAssetFileMAM(Uri uri, String mode)
MAM version of openAssetFile.
- Parameters:
uri- See ContentProvider.mode- See ContentProvider.- Returns:
See ContentProvider.
-
openAssetFileMAM
final AssetFileDescriptor openAssetFileMAM(Uri uri, String mode, CancellationSignal signal)
MAM version of openAssetFile.
- Parameters:
uri- See ContentProvider.mode- See ContentProvider.signal- See ContentProvider.- Returns:
See ContentProvider.
-
openFileMAM
final ParcelFileDescriptor openFileMAM(Uri uri, String mode)
MAM version of openFile.
- Parameters:
uri- See ContentProvider.mode- See ContentProvider.- Returns:
See ContentProvider.
-
openFileMAM
final ParcelFileDescriptor openFileMAM(Uri uri, String mode, CancellationSignal signal)
MAM version of openFile.
- Parameters:
uri- See ContentProvider.mode- See ContentProvider.signal- See ContentProvider.- Returns:
See ContentProvider.
-
openTypedAssetFileMAM
final AssetFileDescriptor openTypedAssetFileMAM(Uri uri, String mimeTypeFilter, Bundle opts)
MAM version of openTypedAssetFile.
- Parameters:
uri- See ContentProvider.mimeTypeFilter- See ContentProvider.opts- See ContentProvider.- Returns:
See ContentProvider.
-
openTypedAssetFileMAM
final AssetFileDescriptor openTypedAssetFileMAM(Uri uri, String mimeTypeFilter, Bundle opts, CancellationSignal signal)
MAM version of openTypedAssetFile.
- Parameters:
uri- See ContentProvider.mimeTypeFilter- See ContentProvider.opts- See ContentProvider.signal- See ContentProvider.- Returns:
See ContentProvider.
-
deleteMAM
int deleteMAM(Uri uri, String selection, Array<String> selectionArgs)
MAM version of delete.
- Parameters:
uri- See ContentProvider.selection- See ContentProvider.selectionArgs- See ContentProvider.- Returns:
See ContentProvider.
-
deleteMAM
@RequiresApi(api = Build.VERSION_CODES.R) int deleteMAM(Uri uri, Bundle extras)
MAM version of delete.
- Parameters:
uri- See ContentProvider.extras- See ContentProvider.- Returns:
See ContentProvider.
-
insertMAM
Uri insertMAM(Uri uri, ContentValues values)
MAM version of insert.
- Parameters:
uri- See ContentProvider.values- See ContentProvider.- Returns:
See ContentProvider.
-
insertMAM
@RequiresApi(api = Build.VERSION_CODES.R) Uri insertMAM(Uri uri, ContentValues values, Bundle extras)
MAM version of insert.
- Parameters:
uri- See ContentProvider.values- See ContentProvider.extras- See ContentProvider.- Returns:
See ContentProvider.
-
queryMAM
Cursor queryMAM(Uri uri, Array<String> projection, String selection, Array<String> selectionArgs, String sortOrder)
MAM version of query.
- Parameters:
uri- See ContentProvider.projection- See ContentProvider.selection- See ContentProvider.selectionArgs- See ContentProvider.sortOrder- See ContentProvider.- Returns:
See ContentProvider.
-
updateMAM
int updateMAM(Uri uri, ContentValues values, String selection, Array<String> selectionArgs)
MAM version of update.
- Parameters:
uri- See ContentProvider.values- See ContentProvider.selection- See ContentProvider.selectionArgs- See ContentProvider.- Returns:
See ContentProvider.
-
updateMAM
@RequiresApi(api = Build.VERSION_CODES.R) int updateMAM(Uri uri, ContentValues values, Bundle extras)
MAM version of update.
- Parameters:
uri- See ContentProvider.values- See ContentProvider.extras- See ContentProvider.- Returns:
See ContentProvider.
-
ejectRootMAM
@RequiresApi(value = Build.VERSION_CODES.O) void ejectRootMAM(String rootId)
MAM version of ejectRoot.
- Parameters:
rootId- root id
-
createWebLinkIntentMAM
@RequiresApi(value = Build.VERSION_CODES.O) IntentSender createWebLinkIntentMAM(String documentId, Bundle options)
MAM version of createWebLinkIntent.
- Parameters:
documentId- See DocumentsProvideroptions- See DocumentsProvider- Returns:
See DocumentsProvider
-
findDocumentPathMAM
@RequiresApi(value = Build.VERSION_CODES.O) DocumentsContract.Path findDocumentPathMAM(String parentDocumentId, String childDocumentId)
MAM version of findDocumentPath.
- Parameters:
parentDocumentId- See DocumentsProviderchildDocumentId- See DocumentsProvider- Returns:
See DocumentsProvider
-
-
-
-