summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin Moore <devinmoore@google.com>2024-01-08 19:01:40 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2024-01-08 19:01:40 +0000
commit5b2fbaffff9c5b670a224d91ccd868859ac6f191 (patch)
tree7aca5cab60635433a45b73f831abfa6e067058f5
parent0d45c3ba7faa950af7185faa77206f8c0bc4937e (diff)
parent8436110c902052c3c1cf278835a14a1c7133271d (diff)
downloadhwservicemanager-5b2fbaffff9c5b670a224d91ccd868859ac6f191.tar.gz
Stop registering android.hidl.token am: 4215470145 am: 65a9d34b62 am: 8436110c90
Original change: https://android-review.googlesource.com/c/platform/system/hwservicemanager/+/2609329 Change-Id: I9f76b1f700ecfcdc7eae25b7b6bc864347ea73b8 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-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