diff options
9 files changed, 35 insertions, 19 deletions
diff --git a/services/core/java/com/android/server/app/GameManagerService.java b/services/core/java/com/android/server/app/GameManagerService.java index 8c5152fdb0d6..6f8dc105850d 100644 --- a/services/core/java/com/android/server/app/GameManagerService.java +++ b/services/core/java/com/android/server/app/GameManagerService.java @@ -100,6 +100,7 @@ import com.android.server.LocalServices; import com.android.server.ServiceThread; import com.android.server.SystemService; import com.android.server.SystemService.TargetUser; +import com.android.server.utils.LazyJniRegistrar; import com.android.server.wm.ActivityTaskManagerInternal; import com.android.server.wm.CompatScaleProvider; @@ -158,6 +159,10 @@ public final class GameManagerService extends IGameManagerService.Stub { private static final String GAME_MODE_INTERVENTION_LIST_FILE_NAME = "game_mode_intervention.list"; + static { + LazyJniRegistrar.registerGameManagerService(); + } + private final Context mContext; private final Object mLock = new Object(); private final Object mDeviceConfigLock = new Object(); diff --git a/services/core/java/com/android/server/utils/LazyJniRegistrar.java b/services/core/java/com/android/server/utils/LazyJniRegistrar.java index ac4a92e12909..6d29e9e58a98 100644 --- a/services/core/java/com/android/server/utils/LazyJniRegistrar.java +++ b/services/core/java/com/android/server/utils/LazyJniRegistrar.java @@ -42,6 +42,9 @@ public final class LazyJniRegistrar { /** Registers native methods for ConsumerIrService. */ public static native void registerConsumerIrService(); + /** Registers native methods for GameManagerService. */ + public static native void registerGameManagerService(); + /** Registers native methods for VrManagerService. */ public static native void registerVrManagerService(); } diff --git a/services/core/jni/Android.bp b/services/core/jni/Android.bp index eaa3a37d5bf3..4c0cee404b68 100644 --- a/services/core/jni/Android.bp +++ b/services/core/jni/Android.bp @@ -38,7 +38,6 @@ cc_library_static { "com_android_server_adb_AdbDebuggingManager.cpp", "com_android_server_am_BatteryStatsService.cpp", "com_android_server_biometrics_SurfaceToNativeHandleConverter.cpp", - "com_android_server_ConsumerIrService.cpp", "com_android_server_companion_virtual_InputController.cpp", "com_android_server_companion_virtual_VirtualDeviceImpl.cpp", "com_android_server_devicepolicy_CryptoTestHelper.cpp", @@ -63,7 +62,6 @@ cc_library_static { "com_android_server_SystemServer.cpp", "com_android_server_tv_TvUinputBridge.cpp", "com_android_server_tv_TvInputHal.cpp", - "com_android_server_vr_VrManagerService.cpp", "com_android_server_UsbAlsaJackDetector.cpp", "com_android_server_UsbAlsaMidiDevice.cpp", "com_android_server_UsbDeviceManager.cpp", @@ -75,14 +73,13 @@ cc_library_static { "com_android_server_am_LowMemDetector.cpp", "com_android_server_pm_PackageManagerShellCommandDataLoader.cpp", "com_android_server_sensor_SensorService.cpp", - "com_android_server_utils_LazyJniRegistrar.cpp", "com_android_server_wm_TaskFpsCallbackController.cpp", "onload.cpp", ":lib_cachedAppOptimizer_native", ":lib_freezer_native", - ":lib_gameManagerService_native", ":lib_oomConnection_native", ":lib_anrTimer_native", + ":lib_lazilyRegisteredServices_native", ], include_dirs: [ @@ -248,13 +245,6 @@ filegroup { } filegroup { - name: "lib_gameManagerService_native", - srcs: [ - "com_android_server_app_GameManagerService.cpp", - ], -} - -filegroup { name: "lib_oomConnection_native", srcs: ["com_android_server_am_OomConnection.cpp"], } @@ -265,3 +255,13 @@ filegroup { "com_android_server_utils_AnrTimer.cpp", ], } + +filegroup { + name: "lib_lazilyRegisteredServices_native", + srcs: [ + "com_android_server_ConsumerIrService.cpp", + "com_android_server_app_GameManagerService.cpp", + "com_android_server_utils_LazyJniRegistrar.cpp", + "com_android_server_vr_VrManagerService.cpp", + ], +} diff --git a/services/core/jni/com_android_server_utils_LazyJniRegistrar.cpp b/services/core/jni/com_android_server_utils_LazyJniRegistrar.cpp index ad7781e3b8b5..0c0f8b02279b 100644 --- a/services/core/jni/com_android_server_utils_LazyJniRegistrar.cpp +++ b/services/core/jni/com_android_server_utils_LazyJniRegistrar.cpp @@ -22,6 +22,7 @@ namespace android { // Forward declared per-class registration methods. int register_android_server_ConsumerIrService(JNIEnv* env); +int register_android_server_app_GameManagerService(JNIEnv* env); int register_android_server_vr_VrManagerService(JNIEnv* env); namespace { @@ -33,12 +34,17 @@ void registerConsumerIrService(JNIEnv* env, jclass) { register_android_server_ConsumerIrService(env); } +void registerGameManagerService(JNIEnv* env, jclass) { + register_android_server_app_GameManagerService(env); +} + void registerVrManagerService(JNIEnv* env, jclass) { register_android_server_vr_VrManagerService(env); } static const JNINativeMethod sJniRegistrarMethods[] = { {"registerConsumerIrService", "()V", (void*)registerConsumerIrService}, + {"registerGameManagerService", "()V", (void*)registerGameManagerService}, {"registerVrManagerService", "()V", (void*)registerVrManagerService}, }; diff --git a/services/core/jni/onload.cpp b/services/core/jni/onload.cpp index c170ae99da04..df37ec3ef037 100644 --- a/services/core/jni/onload.cpp +++ b/services/core/jni/onload.cpp @@ -65,7 +65,6 @@ int register_android_server_stats_pull_StatsPullAtomService(JNIEnv* env); int register_android_server_sensor_SensorService(JavaVM* vm, JNIEnv* env); int register_android_server_companion_virtual_InputController(JNIEnv* env); int register_android_server_companion_virtual_VirtualDeviceImpl(JNIEnv* env); -int register_android_server_app_GameManagerService(JNIEnv* env); int register_com_android_server_wm_TaskFpsCallbackController(JNIEnv* env); int register_com_android_server_display_DisplayControl(JNIEnv* env); int register_com_android_server_SystemClockTime(JNIEnv* env); @@ -131,7 +130,6 @@ extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */) register_android_server_sensor_SensorService(vm, env); register_android_server_companion_virtual_InputController(env); register_android_server_companion_virtual_VirtualDeviceImpl(env); - register_android_server_app_GameManagerService(env); register_com_android_server_wm_TaskFpsCallbackController(env); register_com_android_server_display_DisplayControl(env); register_com_android_server_SystemClockTime(env); diff --git a/services/tests/mockingservicestests/jni/Android.bp b/services/tests/mockingservicestests/jni/Android.bp index 00543a8a9871..94d4b9522d60 100644 --- a/services/tests/mockingservicestests/jni/Android.bp +++ b/services/tests/mockingservicestests/jni/Android.bp @@ -22,8 +22,8 @@ cc_library_shared { srcs: [ ":lib_cachedAppOptimizer_native", ":lib_freezer_native", - ":lib_gameManagerService_native", ":lib_oomConnection_native", + ":lib_lazilyRegisteredServices_native", "onload.cpp", ], @@ -54,6 +54,8 @@ cc_library_shared { "android.hardware.graphics.bufferqueue@2.0", "android.hardware.graphics.common@1.2", "android.hardware.graphics.mapper@4.0", + "android.hardware.ir@1.0", + "android.hardware.vr@1.0", "android.hidl.token@1.0-utils", ], } diff --git a/services/tests/mockingservicestests/jni/onload.cpp b/services/tests/mockingservicestests/jni/onload.cpp index cb246d15fce8..9b4c8178b092 100644 --- a/services/tests/mockingservicestests/jni/onload.cpp +++ b/services/tests/mockingservicestests/jni/onload.cpp @@ -26,8 +26,8 @@ namespace android { int register_android_server_am_CachedAppOptimizer(JNIEnv* env); int register_android_server_am_Freezer(JNIEnv* env); -int register_android_server_app_GameManagerService(JNIEnv* env); int register_android_server_am_OomConnection(JNIEnv* env); +int register_android_server_utils_LazyJniRegistrar(JNIEnv* env); }; using namespace android; @@ -44,7 +44,7 @@ extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */) ALOG_ASSERT(env, "Could not retrieve the env!"); register_android_server_am_CachedAppOptimizer(env); register_android_server_am_Freezer(env); - register_android_server_app_GameManagerService(env); register_android_server_am_OomConnection(env); + register_android_server_utils_LazyJniRegistrar(env); return JNI_VERSION_1_4; } diff --git a/services/tests/servicestests/jni/Android.bp b/services/tests/servicestests/jni/Android.bp index 0a3103722796..e738c19cc545 100644 --- a/services/tests/servicestests/jni/Android.bp +++ b/services/tests/servicestests/jni/Android.bp @@ -22,9 +22,9 @@ cc_library_shared { srcs: [ ":lib_cachedAppOptimizer_native", ":lib_freezer_native", - ":lib_gameManagerService_native", ":lib_oomConnection_native", ":lib_anrTimer_native", + ":lib_lazilyRegisteredServices_native", "onload.cpp", ], @@ -55,6 +55,8 @@ cc_library_shared { "android.hardware.graphics.bufferqueue@2.0", "android.hardware.graphics.common@1.2", "android.hardware.graphics.mapper@4.0", + "android.hardware.ir@1.0", + "android.hardware.vr@1.0", "android.hidl.token@1.0-utils", ], } diff --git a/services/tests/servicestests/jni/onload.cpp b/services/tests/servicestests/jni/onload.cpp index 25487c5aabbe..ad979c62f40e 100644 --- a/services/tests/servicestests/jni/onload.cpp +++ b/services/tests/servicestests/jni/onload.cpp @@ -25,9 +25,9 @@ namespace android { int register_android_server_am_CachedAppOptimizer(JNIEnv* env); -int register_android_server_app_GameManagerService(JNIEnv* env); int register_android_server_am_OomConnection(JNIEnv* env); int register_android_server_utils_AnrTimer(JNIEnv *env); +int register_android_server_utils_LazyJniRegistrar(JNIEnv* env); }; using namespace android; @@ -43,8 +43,8 @@ extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */) } ALOG_ASSERT(env, "Could not retrieve the env!"); register_android_server_am_CachedAppOptimizer(env); - register_android_server_app_GameManagerService(env); register_android_server_am_OomConnection(env); register_android_server_utils_AnrTimer(env); + register_android_server_utils_LazyJniRegistrar(env); return JNI_VERSION_1_4; } |