Update to "clean break" Keymaster::4.0

Keymaster 4.0 is being revised to remove references to 3.0, so we
don't have to deal with a mixture of types.  This CL updates
system/security/keystore for that change.

Test: runtest --path cts/tests/tests/keystore/src/android/keystore/cts/
Change-Id: Id522b037cb4c325b522e813ac678d7763b4ac204
diff --git a/keystore/Keymaster3.cpp b/keystore/Keymaster3.cpp
index 1a17226..9ca6a08 100644
--- a/keystore/Keymaster3.cpp
+++ b/keystore/Keymaster3.cpp
@@ -36,6 +36,10 @@
     return static_cast<oldkeymaster::KeyPurpose>(purpose);
 }
 
+oldkeymaster::KeyFormat convert(KeyFormat purpose) {
+    return static_cast<oldkeymaster::KeyFormat>(purpose);
+}
+
 oldkeymaster::KeyParameter convert(const KeyParameter& param) {
     oldkeymaster::KeyParameter converted;
     converted.tag = static_cast<oldkeymaster::Tag>(param.tag);
@@ -170,7 +174,7 @@
                   const oldkeymaster::KeyCharacteristics& chars) {
         _hidl_cb(convert(error), keyBlob, convert(chars));
     };
-    auto rc = km3_dev_->importKey(convert(params), keyFormat, keyData, cb);
+    auto rc = km3_dev_->importKey(convert(params), convert(keyFormat), keyData, cb);
     rc.isOk();  // move ctor prereq
     return rc;
 }
@@ -181,7 +185,7 @@
     auto cb = [&](oldkeymaster::ErrorCode error, const hidl_vec<uint8_t>& keyMaterial) {
         _hidl_cb(convert(error), keyMaterial);
     };
-    auto rc = km3_dev_->exportKey(exportFormat, keyBlob, clientId, appData, cb);
+    auto rc = km3_dev_->exportKey(convert(exportFormat), keyBlob, clientId, appData, cb);
     rc.isOk();  // move ctor prereq
     return rc;
 }
diff --git a/keystore/include/keystore/keymaster_types.h b/keystore/include/keystore/keymaster_types.h
index d367136..62b43be 100644
--- a/keystore/include/keystore/keymaster_types.h
+++ b/keystore/include/keystore/keymaster_types.h
@@ -15,6 +15,7 @@
 #ifndef SECURITY_KEYSTORE_INCLUDE_KEYSTORE_KEYMASTER_TYPES_H_
 #define SECURITY_KEYSTORE_INCLUDE_KEYSTORE_KEYMASTER_TYPES_H_
 
+#include <android/hardware/keymaster/3.0/types.h>
 #include <android/hardware/keymaster/4.0/IKeymasterDevice.h>
 #include <android/hardware/keymaster/4.0/types.h>
 
diff --git a/keystore/key_store_service.cpp b/keystore/key_store_service.cpp
index 00d20bc..b13441b 100644
--- a/keystore/key_store_service.cpp
+++ b/keystore/key_store_service.cpp
@@ -49,7 +49,6 @@
 namespace {
 
 using ::android::binder::Status;
-using ::android::hardware::keymaster::V3_0::KeyFormat;
 using android::security::KeystoreArg;
 using android::security::keymaster::ExportResult;
 using android::security::keymaster::KeymasterArguments;