diff options
author | Devin Moore <devinmoore@google.com> | 2023-05-30 19:39:36 +0000 |
---|---|---|
committer | Devin Moore <devinmoore@google.com> | 2024-04-04 17:01:28 +0000 |
commit | 9a4cbc786f72192049ab791b52e24f759c55d708 (patch) | |
tree | 7aca5cab60635433a45b73f831abfa6e067058f5 | |
parent | 32d906708b270f9e603b3cdc35cd5b9e6a65bee9 (diff) | |
download | hwservicemanager-9a4cbc786f72192049ab791b52e24f759c55d708.tar.gz |
Stop registering android.hidl.token
We are doing this early to make sure there are no more un-aware users of
this interface.
Test: CtsCameraTestCases and cts/camera/device-presubmit
Test: atest vts_treble_vintf_framework_test vts_treble_no_hidl
Test: atest vts_treble_vintf_vendor_test
Bug: 218588089
Merged-In: I947b710b78be3879b46d0860d43e3a8b6c7f894f
Change-Id: Ia73062b5aeb5d65bcd3ce204ee875f0b4282a50f
-rw-r--r-- | hwservicemanager.xml | 2 | ||||
-rw-r--r-- | service.cpp | 15 |
2 files changed, 13 insertions, 4 deletions
diff --git a/hwservicemanager.xml b/hwservicemanager.xml index 65220d8..2bff501 100644 --- a/hwservicemanager.xml +++ b/hwservicemanager.xml @@ -8,7 +8,7 @@ <instance>default</instance> </interface> </hal> - <hal> + <hal max-level="8"> <name>android.hidl.token</name> <transport>hwbinder</transport> <version>1.0</version> diff --git a/service.cpp b/service.cpp index 3766bc5..6b11372 100644 --- a/service.cpp +++ b/service.cpp @@ -36,6 +36,7 @@ #include "ServiceManager.h" #include "TokenManager.h" +#include "Vintf.h" // libutils: using android::sp; @@ -166,9 +167,17 @@ int main() { ALOGE("Failed to register hwservicemanager with itself."); } - sp<TokenManager> tokenManager = new TokenManager(); - if (!manager->add(serviceName, tokenManager).withDefault(false)) { - ALOGE("Failed to register ITokenManager with hwservicemanager."); + // Check to make sure we should be registering tokenManager first. Only if + // it's declared in the manifest. + sp<TokenManager> tokenManager; + if (android::vintf::Transport::EMPTY != + android::hardware::getTransport(TokenManager::descriptor, serviceName)) { + tokenManager = new TokenManager(); + if (!manager->add(serviceName, tokenManager).withDefault(false)) { + ALOGE("Failed to register ITokenManager with hwservicemanager."); + } + } else { + ALOGW("Not registering android.hidl.token service because it is no longer supported"); } // Tell IPCThreadState we're the service manager |