summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin Moore <devinmoore@google.com>2023-05-30 19:39:36 +0000
committerDevin Moore <devinmoore@google.com>2024-01-05 17:29:42 +0000
commit4215470145c667e7a54ef0e7dc3de469f1c512c2 (patch)
tree7aca5cab60635433a45b73f831abfa6e067058f5
parenta0bc77968ea2b12234954f871e068e8a37a4c29f (diff)
downloadhwservicemanager-4215470145c667e7a54ef0e7dc3de469f1c512c2.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 Bug: 218588089 Change-Id: I2bce5e1d0a01d6617e601b1f4993a636bae652a5
-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