summaryrefslogtreecommitdiffstats
path: root/drm/libdrmframework/DrmManagerClientImpl.cpp
diff options
context:
space:
mode:
authorGloria Wang <gwang@google.com>2011-07-21 15:10:22 -0700
committerGloria Wang <gwang@google.com>2011-07-25 16:09:58 -0700
commit8f00151cbe693d52f3e233757c57fab3b6396d21 (patch)
treee23cc93514f43af27aa3e2d7bcfce1b88d614a2b /drm/libdrmframework/DrmManagerClientImpl.cpp
parent60c93010e8f96a179574ec66c00ec47a675319e3 (diff)
downloadframeworks_av-8f00151cbe693d52f3e233757c57fab3b6396d21.zip
frameworks_av-8f00151cbe693d52f3e233757c57fab3b6396d21.tar.gz
frameworks_av-8f00151cbe693d52f3e233757c57fab3b6396d21.tar.bz2
Fix for bug 4371230.
- Generate unique ID for each DrmManagerClient in native side - Fix the bug where multiple clients could use the same ID - Return the correct unique ID back to Java - Add a flag in the unique ID to separate native client and Java client Change-Id: Ia4574b6b0a526f2335a65380975dc62f9a6e7f9b
Diffstat (limited to 'drm/libdrmframework/DrmManagerClientImpl.cpp')
-rw-r--r--drm/libdrmframework/DrmManagerClientImpl.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/drm/libdrmframework/DrmManagerClientImpl.cpp b/drm/libdrmframework/DrmManagerClientImpl.cpp
index a36bd4a..67f58ca 100644
--- a/drm/libdrmframework/DrmManagerClientImpl.cpp
+++ b/drm/libdrmframework/DrmManagerClientImpl.cpp
@@ -33,13 +33,10 @@ sp<IDrmManagerService> DrmManagerClientImpl::sDrmManagerService;
sp<DrmManagerClientImpl::DeathNotifier> DrmManagerClientImpl::sDeathNotifier;
const String8 DrmManagerClientImpl::EMPTY_STRING("");
-DrmManagerClientImpl* DrmManagerClientImpl::create(int* pUniqueId) {
- if (0 == *pUniqueId) {
- int uniqueId = getDrmManagerService()->addUniqueId(*pUniqueId);
- *pUniqueId = uniqueId;
- } else {
- getDrmManagerService()->addUniqueId(*pUniqueId);
- }
+DrmManagerClientImpl* DrmManagerClientImpl::create(
+ int* pUniqueId, bool isNative) {
+ *pUniqueId = getDrmManagerService()->addUniqueId(isNative);
+
return new DrmManagerClientImpl();
}