diff options
author | Jeff Tinker <jtinker@google.com> | 2014-04-30 10:19:03 -0700 |
---|---|---|
committer | Jeff Tinker <jtinker@google.com> | 2014-08-01 17:16:16 +0000 |
commit | 68b15554f6dca3b056eac517fe5fa2fd4ee80a33 (patch) | |
tree | d6842666f3d062427b56f27c0b9e6e09976389a5 /media/libmediaplayerservice/Drm.cpp | |
parent | fdefe34f40ea6c8964677eaa9107958b0bdf76d0 (diff) | |
download | frameworks_av-68b15554f6dca3b056eac517fe5fa2fd4ee80a33.zip frameworks_av-68b15554f6dca3b056eac517fe5fa2fd4ee80a33.tar.gz frameworks_av-68b15554f6dca3b056eac517fe5fa2fd4ee80a33.tar.bz2 |
Allow device to be unprovisioned
bug: 12247651
Change-Id: I564ac8de3da2430342a028f4058e2c5ac2d85d5e
Diffstat (limited to 'media/libmediaplayerservice/Drm.cpp')
-rw-r--r-- | media/libmediaplayerservice/Drm.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/Drm.cpp b/media/libmediaplayerservice/Drm.cpp index d50037f..d222316 100644 --- a/media/libmediaplayerservice/Drm.cpp +++ b/media/libmediaplayerservice/Drm.cpp @@ -417,6 +417,23 @@ status_t Drm::provideProvisionResponse(Vector<uint8_t> const &response, return mPlugin->provideProvisionResponse(response, certificate, wrappedKey); } +status_t Drm::unprovisionDevice() { + Mutex::Autolock autoLock(mLock); + + if (mInitCheck != OK) { + return mInitCheck; + } + + if (mPlugin == NULL) { + return -EINVAL; + } + + if (!checkPermission("android.permission.REMOVE_DRM_CERTIFICATES")) { + return -EPERM; + } + + return mPlugin->unprovisionDevice(); +} status_t Drm::getSecureStops(List<Vector<uint8_t> > &secureStops) { Mutex::Autolock autoLock(mLock); |