summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/app/GameManagerService.java5
-rw-r--r--services/core/java/com/android/server/utils/LazyJniRegistrar.java3
-rw-r--r--services/core/jni/Android.bp22
-rw-r--r--services/core/jni/com_android_server_utils_LazyJniRegistrar.cpp6
-rw-r--r--services/core/jni/onload.cpp2
-rw-r--r--services/tests/mockingservicestests/jni/Android.bp4
-rw-r--r--services/tests/mockingservicestests/jni/onload.cpp4
-rw-r--r--services/tests/servicestests/jni/Android.bp4
-rw-r--r--services/tests/servicestests/jni/onload.cpp4
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;
}