FileDocCategorySizeDatePackage
DownloadDrmHelper.javaAPI DocAndroid 5.1 API4068Thu Mar 12 22:22:54 GMT 2015com.google.android.mms.util

DownloadDrmHelper

public class DownloadDrmHelper extends Object

Fields Summary
private static final String
TAG
public static final String
MIMETYPE_DRM_MESSAGE
The MIME type of special DRM files
public static final String
EXTENSION_DRM_MESSAGE
The extensions of special DRM files
public static final String
EXTENSION_INTERNAL_FWDL
Constructors Summary
Methods Summary
public static java.lang.StringgetOriginalMimeType(android.content.Context context, java.lang.String path, java.lang.String containingMime)
Gets the original mime type of DRM protected content.

param
context The context
param
path Path to the file
param
containingMime The current mime type of of the file i.e. the containing mime type
return
The original mime type of the file if DRM protected else the currentMime

        String result = containingMime;
        DrmManagerClient drmClient = new DrmManagerClient(context);
        try {
            if (drmClient.canHandle(path, null)) {
                result = drmClient.getOriginalMimeType(path);
            }
        } catch (IllegalArgumentException ex) {
            Log.w(TAG,
                    "Can't get original mime type since path is null or empty string.");
        } catch (IllegalStateException ex) {
            Log.w(TAG, "DrmManagerClient didn't initialize properly.");
        }
        return result;
    
public static booleanisDrmConvertNeeded(java.lang.String mimetype)
Checks if the Media Type needs to be DRM converted

param
mimetype Media type of the content
return
True if convert is needed else false

        return MIMETYPE_DRM_MESSAGE.equals(mimetype);
    
public static booleanisDrmMimeType(android.content.Context context, java.lang.String mimetype)
Checks if the Media Type is a DRM Media Type

param
drmManagerClient A DrmManagerClient
param
mimetype Media Type to check
return
True if the Media Type is DRM else false


                                       
           
        boolean result = false;
        if (context != null) {
            try {
                DrmManagerClient drmClient = new DrmManagerClient(context);
                if (drmClient != null && mimetype != null && mimetype.length() > 0) {
                    result = drmClient.canHandle("", mimetype);
                }
            } catch (IllegalArgumentException e) {
                Log.w(TAG,
                        "DrmManagerClient instance could not be created, context is Illegal.");
            } catch (IllegalStateException e) {
                Log.w(TAG, "DrmManagerClient didn't initialize properly.");
            }
        }
        return result;
    
public static java.lang.StringmodifyDrmFwLockFileExtension(java.lang.String filename)
Modifies the file extension for a DRM Forward Lock file NOTE: This function shouldn't be called if the file shouldn't be DRM converted

        if (filename != null) {
            int extensionIndex;
            extensionIndex = filename.lastIndexOf(".");
            if (extensionIndex != -1) {
                filename = filename.substring(0, extensionIndex);
            }
            filename = filename.concat(EXTENSION_INTERNAL_FWDL);
        }
        return filename;