summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin Moore <devinmoore@google.com>2023-05-30 19:39:36 +0000
committerDevin Moore <devinmoore@google.com>2024-04-04 17:01:28 +0000
commit9a4cbc786f72192049ab791b52e24f759c55d708 (patch)
tree7aca5cab60635433a45b73f831abfa6e067058f5
parent32d906708b270f9e603b3cdc35cd5b9e6a65bee9 (diff)
downloadhwservicemanager-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.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