Revert "DrmManager: check drm.service.enabled in init"
This reverts commit fccd98a3369077b483eccb720692640a853cd8ef.
Reason for revert: related to b/193560826
Change-Id: I9450786834861bee6da3d25ee32d471eea0060fe
diff --git a/drm/drmserver/drmserver.rc b/drm/drmserver/drmserver.rc
index eb176c1..de46fb9 100644
--- a/drm/drmserver/drmserver.rc
+++ b/drm/drmserver/drmserver.rc
@@ -1,12 +1,5 @@
service drm /system/bin/drmserver
- disabled
class main
user drm
group drm system inet drmrpc readproc
writepid /dev/cpuset/foreground/tasks
-
-on property:drm.service.enabled=true
- start drm
-
-on property:drm.service.enabled=1
- start drm
diff --git a/drm/libdrmframework/DrmManagerClientImpl.cpp b/drm/libdrmframework/DrmManagerClientImpl.cpp
index 38591bc..b0a441b 100644
--- a/drm/libdrmframework/DrmManagerClientImpl.cpp
+++ b/drm/libdrmframework/DrmManagerClientImpl.cpp
@@ -52,22 +52,25 @@
const sp<IDrmManagerService>& DrmManagerClientImpl::getDrmManagerService() {
Mutex::Autolock lock(sMutex);
if (NULL == sDrmManagerService.get()) {
+ char value[PROPERTY_VALUE_MAX];
+ if (property_get("drm.service.enabled", value, NULL) == 0) {
+ // Drm is undefined for this device
+ return sDrmManagerService;
+ }
+
sp<IServiceManager> sm = defaultServiceManager();
sp<IBinder> binder;
- for(int i = 0; i < 10; i++) {
+ do {
binder = sm->getService(String16("drm.drmManager"));
if (binder != 0) {
break;
}
- ALOGW("DrmManagerService not published, waiting... %d", i);
+ ALOGW("DrmManagerService not published, waiting...");
struct timespec reqt;
reqt.tv_sec = 0;
reqt.tv_nsec = 500000000; //0.5 sec
nanosleep(&reqt, NULL);
- }
- if (binder == NULL) {
- return sDrmManagerService;
- }
+ } while (true);
if (NULL == sDeathNotifier.get()) {
sDeathNotifier = new DeathNotifier();
}