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 HookedDocumentsProvider
                        

    MAM version of DocumentsProvider.

    • Constructor Detail

      • MAMDocumentsProvider

        MAMDocumentsProvider()
    • Method Detail

      • attachInfo

         void attachInfo(Context context, ProviderInfo info)
      • 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)
      • openDocumentThumbnail

         final AssetFileDescriptor openDocumentThumbnail(String documentId, Point sizeHint, CancellationSignal signal)
      • 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).

      • update

        @RequiresApi(api = Build.VERSION_CODES.R) final int update(Uri uri, ContentValues values, Bundle extras)
      • ejectRoot

        @RequiresApi(value = Build.VERSION_CODES.O) final void ejectRoot(String rootId)
      • 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.

      • 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.

      • 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.

      • 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 DocumentsProvider
        options - 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 DocumentsProvider
        childDocumentId - See DocumentsProvider
        Returns:

        See DocumentsProvider