Clone the KeyMint device to customize it

In order to make modifications, pull in our own copy of the KeyMint
device from the reference implementation.

Bug: 190578423
Test: atest MicrodroidHostTestCases
Change-Id: I2671a0faf0f354a681ab2c988ecedb94b7adeb4b
diff --git a/microdroid/keymint/service.cpp b/microdroid/keymint/service.cpp
index d2b75a1..8467b33 100644
--- a/microdroid/keymint/service.cpp
+++ b/microdroid/keymint/service.cpp
@@ -22,7 +22,9 @@
 #include <android/binder_process.h>
 #include <keymaster/soft_keymaster_logger.h>
 
-using aidl::android::hardware::security::keymint::AndroidKeyMintDevice;
+#include "MicrodroidKeyMintDevice.h"
+
+using aidl::android::hardware::security::keymint::MicrodroidKeyMintDevice;
 using aidl::android::hardware::security::keymint::SecurityLevel;
 
 template <typename T, class... Args>
@@ -41,8 +43,8 @@
     // the pool size to 1.
     ABinderProcess_setThreadPoolMaxThreadCount(0);
     // Add Keymint Service
-    std::shared_ptr<AndroidKeyMintDevice> keyMint =
-            addService<AndroidKeyMintDevice>(SecurityLevel::SOFTWARE);
+    std::shared_ptr<MicrodroidKeyMintDevice> keyMint =
+            addService<MicrodroidKeyMintDevice>(SecurityLevel::SOFTWARE);
 
     // VMs cannot implement the Secure Clock Service
     // addService<AndroidSecureClock>(keyMint);