Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 191c4185 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Make UinputBridge JNI registration lazy" into main

parents 4c3d44e8 1cb6ec09
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ package com.android.server.tv;

import android.os.IBinder;

import com.android.server.utils.LazyJniRegistrar;

import dalvik.system.CloseGuard;

import java.io.IOException;
@@ -30,6 +32,11 @@ public final class UinputBridge {
    private long mPtr;
    private IBinder mToken;

    static {
        // Lazy registration allows build-time removal when TvRemoteService is disabled.
        LazyJniRegistrar.registerTvUinputBridge();
    }

    private static native long nativeOpen(String name, String uniqueId, int width, int height,
                                          int maxPointers);
    private static native void nativeClose(long ptr);
+3 −0
Original line number Diff line number Diff line
@@ -45,6 +45,9 @@ public final class LazyJniRegistrar {
    /** Registers native methods for GameManagerService. */
    public static native void registerGameManagerService();

    /** Registers native methods for UinputBridge. */
    public static native void registerTvUinputBridge();

    /** Registers native methods for Vpn (the JNI counterpart for VpnManagerService). */
    public static native void registerVpn();
}
+1 −1
Original line number Diff line number Diff line
@@ -58,7 +58,6 @@ cc_library_static {
        "com_android_server_storage_AppFuseBridge.cpp",
        "com_android_server_SystemClockTime.cpp",
        "com_android_server_SystemServer.cpp",
        "com_android_server_tv_TvUinputBridge.cpp",
        "com_android_server_tv_TvInputHal.cpp",
        "com_android_server_UsbAlsaDevice.cpp",
        "com_android_server_UsbAlsaJackDetector.cpp",
@@ -260,6 +259,7 @@ filegroup {
        "com_android_server_ConsumerIrService.cpp",
        "com_android_server_app_GameManagerService.cpp",
        "com_android_server_connectivity_Vpn.cpp",
        "com_android_server_tv_TvUinputBridge.cpp",
        "com_android_server_utils_LazyJniRegistrar.cpp",
    ],
}
+6 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ namespace android {
int register_android_server_ConsumerIrService(JNIEnv* env);
int register_android_server_app_GameManagerService(JNIEnv* env);
int register_android_server_connectivity_Vpn(JNIEnv* env);
int register_android_server_tv_TvUinputBridge(JNIEnv* env);

namespace {

@@ -38,6 +39,10 @@ void registerGameManagerService(JNIEnv* env, jclass) {
    register_android_server_app_GameManagerService(env);
}

void registerTvUinputBridge(JNIEnv* env, jclass) {
    register_android_server_tv_TvUinputBridge(env);
}

void registerVpn(JNIEnv* env, jclass) {
    register_android_server_connectivity_Vpn(env);
}
@@ -45,6 +50,7 @@ void registerVpn(JNIEnv* env, jclass) {
static const JNINativeMethod sJniRegistrarMethods[] = {
        {"registerConsumerIrService", "()V", (void*)registerConsumerIrService},
        {"registerGameManagerService", "()V", (void*)registerGameManagerService},
        {"registerTvUinputBridge", "()V", (void*)registerTvUinputBridge},
        {"registerVpn", "()V", (void*)registerVpn},
};

+0 −2
Original line number Diff line number Diff line
@@ -42,7 +42,6 @@ int register_android_server_vibrator_VibratorController(JavaVM* vm, JNIEnv* env)
int register_android_server_vibrator_VibratorManagerService(JavaVM* vm, JNIEnv* env);
int register_android_server_location_GnssLocationProvider(JNIEnv* env);
int register_android_server_devicepolicy_CryptoTestHelper(JNIEnv*);
int register_android_server_tv_TvUinputBridge(JNIEnv* env);
int register_android_server_tv_TvInputHal(JNIEnv* env);
int register_android_server_pdb_PersistentDataBlockService(JNIEnv* env);
int register_android_server_Watchdog(JNIEnv* env);
@@ -109,7 +108,6 @@ extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */)
    register_android_server_location_GnssLocationProvider(env);
    register_android_server_devicepolicy_CryptoTestHelper(env);
    register_android_server_BatteryStatsService(env);
    register_android_server_tv_TvUinputBridge(env);
    register_android_server_tv_TvInputHal(env);
    register_android_server_pdb_PersistentDataBlockService(env);
    register_android_server_HardwarePropertiesManagerService(env);