From dc0c2b40db9112da02522647fa044417febac7e3 Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Mon, 14 Feb 2022 16:24:28 -0800 Subject: Split one ServiceManager method into two Test: later Bug: N/A Change-Id: Ic2c9f759b7ffd08e51c7119636c4946767898bfb --- .../app/src/main/cpp/accessors/service_manager.cc | 16 +++++++++++----- .../app/src/main/cpp/accessors/service_manager.h | 1 + 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'emulator') diff --git a/emulator/screen-sharing-agent/app/src/main/cpp/accessors/service_manager.cc b/emulator/screen-sharing-agent/app/src/main/cpp/accessors/service_manager.cc index 6a9272dfc07..29748c6a648 100644 --- a/emulator/screen-sharing-agent/app/src/main/cpp/accessors/service_manager.cc +++ b/emulator/screen-sharing-agent/app/src/main/cpp/accessors/service_manager.cc @@ -40,11 +40,7 @@ ServiceManager& ServiceManager::GetInstance(Jni jni) { } JObject ServiceManager::GetServiceAsInterface(Jni jni, const char* name, const char* type) { - ServiceManager& manager = GetInstance(jni); - JObject binder = manager.service_manager_class_.CallStaticObjectMethod(jni, manager.get_service_method_, JString(jni, name).ref()); - if (binder.IsNull()) { - Log::Fatal("Unable to find the \"%s\" service", name); - } + JObject binder = GetService(jni, name); string stub_class_name = string(type) + "$Stub"; JClass stub_class = jni.GetClass(stub_class_name.c_str()); string method_signature = string("(Landroid/os/IBinder;)L") + type + ";"; @@ -58,6 +54,16 @@ JObject ServiceManager::GetServiceAsInterface(Jni jni, const char* name, const c return service; } +JObject ServiceManager::GetService(Jni jni, const char* name) { + Log::D("GetService(\"%s\")", name); + ServiceManager& manager = GetInstance(jni); + JObject binder = manager.service_manager_class_.CallStaticObjectMethod(jni, manager.get_service_method_, JString(jni, name).ref()); + if (binder.IsNull()) { + Log::Fatal("Unable to find the \"%s\" service", name); + } + return binder; +} + ServiceManager* ServiceManager::instance_ = nullptr; } // namespace screensharing diff --git a/emulator/screen-sharing-agent/app/src/main/cpp/accessors/service_manager.h b/emulator/screen-sharing-agent/app/src/main/cpp/accessors/service_manager.h index 5fbd9dfa138..9048d76438f 100644 --- a/emulator/screen-sharing-agent/app/src/main/cpp/accessors/service_manager.h +++ b/emulator/screen-sharing-agent/app/src/main/cpp/accessors/service_manager.h @@ -25,6 +25,7 @@ namespace screensharing { class ServiceManager { public: static JObject GetServiceAsInterface(Jni jni, const char* name, const char* type); + static JObject GetService(Jni jni, const char* name); private: ServiceManager(Jni jni); -- cgit v1.2.3