summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin Moore <devinmoore@google.com>2024-04-04 21:29:09 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-04-04 21:29:09 +0000
commitfbaf71c318f38d63c2a5b2fa2512b46f9f3d59e3 (patch)
tree24f9ba74b0f3a12f73dedf6970d5163a5f4444e7
parent2400b8d52bb20edbb729fcfcc303601838c42a6d (diff)
parent9a4cbc786f72192049ab791b52e24f759c55d708 (diff)
downloadhwservicemanager-fbaf71c318f38d63c2a5b2fa2512b46f9f3d59e3.tar.gz
Merge "Stop registering android.hidl.token" into main
-rw-r--r--hwservicemanager.xml2
-rw-r--r--service.cpp15
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