Add digest support and implementation name to getHardwareFeatures

This is needed to support the keystore statistics gathering initiative.
It will allow us to get information about what kinds of keymaster
implementations exist in the ecosystem, and which ones fail in which
ways.

Bug: 36549319
Test: Will add to VTS tests
Change-Id: I49ee4623656060d69a6de7723b11cd715150451a
diff --git a/keymaster/3.0/default/KeymasterDevice.h b/keymaster/3.0/default/KeymasterDevice.h
index 382f45f..e048d5b 100644
--- a/keymaster/3.0/default/KeymasterDevice.h
+++ b/keymaster/3.0/default/KeymasterDevice.h
@@ -44,9 +44,11 @@
 
 class KeymasterDevice : public IKeymasterDevice {
   public:
-    KeymasterDevice(keymaster2_device_t* dev, uint32_t hardware_version, bool hardware_supports_ec)
+    KeymasterDevice(keymaster2_device_t* dev, uint32_t hardware_version, bool hardware_supports_ec,
+                    bool hardware_supports_all_digests)
         : keymaster_device_(dev), hardware_version_(hardware_version),
-          hardware_supports_ec_(hardware_supports_ec) {}
+          hardware_supports_ec_(hardware_supports_ec),
+          hardware_supports_all_digests_(hardware_supports_all_digests) {}
     virtual ~KeymasterDevice();
 
     // Methods from ::android::hardware::keymaster::V3_0::IKeymasterDevice follow.
@@ -85,6 +87,7 @@
     keymaster2_device_t* keymaster_device_;
     uint32_t hardware_version_;
     bool hardware_supports_ec_;
+    bool hardware_supports_all_digests_;
 };
 
 extern "C" IKeymasterDevice* HIDL_FETCH_IKeymasterDevice(const char* name);