DrmUtils: refactor IDrm/ICrypto creation

Added utilities to:
* Query config for IMediaDrmService usage
* Create remote vs local IDrm/ICrypto object based on aforementioned config

Bug: 134787536
Test: MediaDrmClearkeyTest#testClearKeyPlaybackCenc
Change-Id: I72df528c0bbd8a6dbd3c4962ac91eb89696bcaf7
diff --git a/drm/libmediadrm/DrmSessionManager.cpp b/drm/libmediadrm/DrmSessionManager.cpp
index 0b91b85..165a4d6 100644
--- a/drm/libmediadrm/DrmSessionManager.cpp
+++ b/drm/libmediadrm/DrmSessionManager.cpp
@@ -25,6 +25,7 @@
 #include <binder/IServiceManager.h>
 #include <cutils/properties.h>
 #include <media/MediaResource.h>
+#include <mediadrm/DrmUtils.h>
 #include <mediadrm/DrmSessionManager.h>
 #include <unistd.h>
 #include <utils/String8.h>
@@ -62,7 +63,8 @@
 }
 
 static sp<IResourceManagerService> getResourceManagerService() {
-    if (property_get_bool("persist.device_config.media_native.mediadrmserver", 1)) {
+    if (DrmUtils::UseDrmService()) {
+        // Create ResourceManagerService object in mediadrmserver process
         return new android::media::ResourceManagerService();
     }
     sp<IServiceManager> sm = defaultServiceManager();