IMediaDrmService: remove makeDrm method

This means IDrm will always be local.

Bug: 134787536
Test: GtsMediaTestCases
Change-Id: I291cca47b97c3f5da40e750bd339693268b46ba0
diff --git a/drm/libmediadrm/DrmUtils.cpp b/drm/libmediadrm/DrmUtils.cpp
index 66991bd..3a76591 100644
--- a/drm/libmediadrm/DrmUtils.cpp
+++ b/drm/libmediadrm/DrmUtils.cpp
@@ -27,8 +27,6 @@
 #include <utils/Errors.h>
 #include <utils/Log.h>
 #include <utils/String16.h>
-#include <binder/IInterface.h>
-#include <binder/IServiceManager.h>
 #include <cutils/properties.h>
 
 #include <mediadrm/CryptoHal.h>
@@ -36,7 +34,6 @@
 #include <mediadrm/DrmUtils.h>
 #include <mediadrm/ICrypto.h>
 #include <mediadrm/IDrm.h>
-#include <mediadrm/IMediaDrmService.h>
 
 using HServiceManager = ::android::hidl::manager::V1_0::IServiceManager;
 using ::android::hardware::hidl_array;
@@ -48,25 +45,12 @@
 namespace DrmUtils {
 
 namespace {
-template<typename Iface>
-sp<Iface> MakeObjectWithService(status_t *pstatus) {
+
+template<typename Hal>
+Hal *MakeObject(status_t *pstatus) {
     status_t err = OK;
     status_t &status = pstatus ? *pstatus : err;
-    sp<IServiceManager> sm = defaultServiceManager();
-    sp<IBinder> binder = sm->getService(String16("media.drm"));
-
-    sp<IMediaDrmService> service = interface_cast<IMediaDrmService>(binder);
-    if (service == NULL) {
-        status = UNKNOWN_ERROR;
-        return NULL;
-    }
-
-    auto obj = service->makeObject<Iface>();
-    if (obj == NULL) {
-        status = UNKNOWN_ERROR;
-        return NULL;
-    }
-
+    auto obj = new Hal();
     status = obj->initCheck();
     if (status != OK && status != NO_INIT) {
         return NULL;
@@ -74,15 +58,6 @@
     return obj;
 }
 
-template<typename Iface, typename Hal>
-sp<Iface> MakeObject(status_t *pstatus) {
-    if (UseDrmService()) {
-        return MakeObjectWithService<Iface>(pstatus);
-    } else {
-        return new Hal();
-    }
-}
-
 template <typename Hal, typename V>
 void MakeCryptoFactories(const uint8_t uuid[16], V &cryptoFactories) {
     sp<HServiceManager> serviceManager = HServiceManager::getService();
@@ -140,14 +115,11 @@
 }
 
 sp<IDrm> MakeDrm(status_t *pstatus) {
-    return MakeObject<IDrm, DrmHal>(pstatus);
+    return MakeObject<DrmHal>(pstatus);
 }
 
 sp<ICrypto> MakeCrypto(status_t *pstatus) {
-    if (pstatus) {
-        *pstatus = OK;
-    }
-    return new CryptoHal();
+    return MakeObject<CryptoHal>(pstatus);
 }
 
 std::vector<sp<::V1_0::ICryptoFactory>> MakeCryptoFactories(const uint8_t uuid[16]) {
diff --git a/drm/libmediadrm/IMediaDrmService.cpp b/drm/libmediadrm/IMediaDrmService.cpp
index 020c063..db67c23 100644
--- a/drm/libmediadrm/IMediaDrmService.cpp
+++ b/drm/libmediadrm/IMediaDrmService.cpp
@@ -29,11 +29,6 @@
 
 namespace android {
 
-enum {
-    MAKE_CRYPTO = IBinder::FIRST_CALL_TRANSACTION,
-    MAKE_DRM,
-};
-
 class BpMediaDrmService: public BpInterface<IMediaDrmService>
 {
 public:
@@ -42,13 +37,6 @@
     {
     }
 
-    virtual sp<IDrm> makeDrm() {
-        Parcel data, reply;
-        data.writeInterfaceToken(IMediaDrmService::getInterfaceDescriptor());
-        remote()->transact(MAKE_DRM, data, &reply);
-        return interface_cast<IDrm>(reply.readStrongBinder());
-    }
-
 };
 
 IMPLEMENT_META_INTERFACE(MediaDrmService, "android.media.IMediaDrmService");
@@ -59,12 +47,6 @@
     uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags)
 {
     switch (code) {
-        case MAKE_DRM: {
-            CHECK_INTERFACE(IMediaDrmService, data, reply);
-            sp<IDrm> drm = makeDrm();
-            reply->writeStrongBinder(IInterface::asBinder(drm));
-            return NO_ERROR;
-        } break;
         default:
             return BBinder::onTransact(code, data, reply, flags);
     }
@@ -72,9 +54,4 @@
 
 // ----------------------------------------------------------------------------
 
-template<>
-sp<IDrm> IMediaDrmService::makeObject<IDrm>() {
-    return makeDrm();
-}
-
 } // namespace android
diff --git a/drm/libmediadrm/include/mediadrm/IMediaDrmService.h b/drm/libmediadrm/include/mediadrm/IMediaDrmService.h
index 899362f..715e0e4 100644
--- a/drm/libmediadrm/include/mediadrm/IMediaDrmService.h
+++ b/drm/libmediadrm/include/mediadrm/IMediaDrmService.h
@@ -32,10 +32,6 @@
 public:
     DECLARE_META_INTERFACE(MediaDrmService);
 
-    virtual sp<IDrm>            makeDrm() = 0;
-
-    template<typename I> sp<I>  makeObject();
-
 };
 
 // ----------------------------------------------------------------------------