Merge "Update vold to use KM4.1"

This commit is contained in:
Treehugger Robot 2020-02-12 00:56:18 +00:00 committed by Gerrit Code Review
commit 6c5f302a90
4 changed files with 22 additions and 7 deletions

View file

@ -43,6 +43,7 @@ cc_defaults {
shared_libs: [
"android.hardware.keymaster@3.0",
"android.hardware.keymaster@4.0",
"android.hardware.keymaster@4.1",
"android.hardware.boot@1.0",
"libbase",
"libbinder",
@ -57,6 +58,7 @@ cc_defaults {
"libincfs",
"libhidlbase",
"libkeymaster4support",
"libkeymaster4_1support",
"libkeyutils",
"liblog",
"liblogwrap",
@ -231,10 +233,12 @@ cc_binary {
"android.hardware.keymaster@3.0",
"android.hardware.keymaster@4.0",
"android.hardware.keymaster@4.1",
"libhardware",
"libhardware_legacy",
"libhidlbase",
"libkeymaster4support",
"libkeymaster4_1support",
],
}

View file

@ -43,8 +43,8 @@
#include <cutils/properties.h>
#include <hardware/hw_auth_token.h>
#include <keymasterV4_0/authorization_set.h>
#include <keymasterV4_0/keymaster_utils.h>
#include <keymasterV4_1/authorization_set.h>
#include <keymasterV4_1/keymaster_utils.h>
extern "C" {

View file

@ -17,8 +17,8 @@
#include "Keymaster.h"
#include <android-base/logging.h>
#include <keymasterV4_0/authorization_set.h>
#include <keymasterV4_0/keymaster_utils.h>
#include <keymasterV4_1/authorization_set.h>
#include <keymasterV4_1/keymaster_utils.h>
namespace android {
namespace vold {

View file

@ -24,13 +24,24 @@
#include <utility>
#include <android-base/macros.h>
#include <keymasterV4_0/Keymaster.h>
#include <keymasterV4_0/authorization_set.h>
#include <keymasterV4_1/Keymaster.h>
#include <keymasterV4_1/authorization_set.h>
namespace android {
namespace vold {
namespace km = ::android::hardware::keymaster::V4_0;
namespace km {
using namespace ::android::hardware::keymaster::V4_1;
// Surprisingly -- to me, at least -- this is totally fine. You can re-define symbols that were
// brought in via a using directive (the "using namespace") above. In general this seems like a
// dangerous thing to rely on, but in this case its implications are simple and straightforward:
// km::ErrorCode refers to the 4.0 ErrorCode, though we pull everything else from 4.1.
using ErrorCode = ::android::hardware::keymaster::V4_0::ErrorCode;
} // namespace km
using KmDevice = km::support::Keymaster;
// C++ wrappers to the Keymaster hidl interface.