From a54a13cffaf3294acbfa34afc9a71ca54de9b313 Mon Sep 17 00:00:00 2001 From: Devin Moore Date: Fri, 7 Oct 2022 16:52:56 +0000 Subject: [PATCH] Prepare for Sensorservice HIDL being deprecated Sensorservice HIDL interface will no longer be registered with hwservicemanager, so don't crash system_server in that case. Test: Boot Cuttlefish without sensorservice HIDL Bug: 218588089 Change-Id: I2a242f37a1b025696dc5c1f1d275e1af50d84928 --- services/core/jni/com_android_server_SystemServer.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/services/core/jni/com_android_server_SystemServer.cpp b/services/core/jni/com_android_server_SystemServer.cpp index bfd80054ffd2a..b171a075578c4 100644 --- a/services/core/jni/com_android_server_SystemServer.cpp +++ b/services/core/jni/com_android_server_SystemServer.cpp @@ -109,8 +109,13 @@ static void android_server_SystemServer_startHidlServices(JNIEnv* env, jobject / LOG_ALWAYS_FATAL_IF(env->GetJavaVM(&vm) != JNI_OK, "Cannot get Java VM"); sp sensorService = new SensorManager(vm); - err = sensorService->registerAsService(); - LOG_ALWAYS_FATAL_IF(err != OK, "Cannot register %s: %d", ISensorManager::descriptor, err); + if (IServiceManager::Transport::HWBINDER == + hardware::defaultServiceManager1_2()->getTransport(ISensorManager::descriptor, "default")) { + err = sensorService->registerAsService(); + LOG_ALWAYS_FATAL_IF(err != OK, "Cannot register %s: %d", ISensorManager::descriptor, err); + } else { + ALOGW("%s is deprecated. Skipping registration.", ISensorManager::descriptor); + } sp schedulingService = new SchedulingPolicyService(); if (IServiceManager::Transport::HWBINDER ==