Loading core/proto/android/service/usb.proto +3 −2 Original line number Diff line number Diff line Loading @@ -284,7 +284,8 @@ message UsbAlsaManagerProto { optional int32 cards_parser = 1; repeated UsbAlsaDeviceProto alsa_devices = 2; repeated UsbMidiDeviceProto midi_devices = 3; reserved 3; // previously midi_devices, now unused repeated UsbAlsaMidiDeviceProto alsa_midi_devices = 4; } message UsbAlsaDeviceProto { Loading @@ -299,7 +300,7 @@ message UsbAlsaDeviceProto { optional string address = 6; } message UsbMidiDeviceProto { message UsbAlsaMidiDeviceProto { option (android.msg_privacy).dest = DEST_AUTOMATIC; optional int32 card = 1; Loading services/art-profile +4 −4 Original line number Diff line number Diff line Loading @@ -20484,12 +20484,12 @@ Lcom/android/server/usage/UsageStatsService; Lcom/android/server/usage/UsageStatsShellCommand; Lcom/android/server/usage/UserUsageStatsService$StatsUpdatedListener; Lcom/android/server/usb/UsbAlsaJackDetector; Lcom/android/server/usb/UsbAlsaMidiDevice$2; Lcom/android/server/usb/UsbAlsaMidiDevice$3; Lcom/android/server/usb/UsbAlsaMidiDevice$InputReceiverProxy; Lcom/android/server/usb/UsbAlsaMidiDevice; Lcom/android/server/usb/UsbDeviceManager; Lcom/android/server/usb/UsbHostManager; Lcom/android/server/usb/UsbMidiDevice$2; Lcom/android/server/usb/UsbMidiDevice$3; Lcom/android/server/usb/UsbMidiDevice$InputReceiverProxy; Lcom/android/server/usb/UsbMidiDevice; Lcom/android/server/usb/descriptors/UsbDescriptor; Lcom/android/server/usb/descriptors/UsbInterfaceDescriptor; Lcom/android/server/utils/AlarmQueue$1; services/core/jni/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -62,9 +62,9 @@ cc_library_static { "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", "com_android_server_UsbDescriptorParser.cpp", "com_android_server_UsbMidiDevice.cpp", "com_android_server_UsbHostManager.cpp", "com_android_server_vibrator_VibratorController.cpp", "com_android_server_vibrator_VibratorManagerService.cpp", Loading services/core/jni/com_android_server_UsbMidiDevice.cpp→services/core/jni/com_android_server_UsbAlsaMidiDevice.cpp +24 −28 Original line number Diff line number Diff line Loading @@ -14,27 +14,25 @@ * limitations under the License. */ #define LOG_TAG "UsbMidiDeviceJNI" #define LOG_TAG "UsbAlsaMidiDeviceJNI" #define LOG_NDEBUG 0 #include "utils/Log.h" #include "jni.h" #include <nativehelper/JNIPlatformHelp.h> #include <nativehelper/ScopedLocalRef.h> #include "android_runtime/AndroidRuntime.h" #include "android_runtime/Log.h" #include <asm/byteorder.h> #include <errno.h> #include <fcntl.h> #include <nativehelper/JNIPlatformHelp.h> #include <nativehelper/ScopedLocalRef.h> #include <sound/asound.h> #include <stdio.h> #include <sys/ioctl.h> #include <sys/stat.h> #include <sys/types.h> namespace android { #include "android_runtime/AndroidRuntime.h" #include "android_runtime/Log.h" #include "jni.h" #include "utils/Log.h" namespace android { static jclass sFileDescriptorClass; static jfieldID sPipeFDField; Loading @@ -46,7 +44,7 @@ static jfieldID sPipeFDField; // 1. Input O_RDONLY file descriptor // 2. Special input file descriptor to block the input thread // 3. Output O_WRONLY file descriptor static jobjectArray android_server_UsbMidiDevice_open(JNIEnv *env, jobject thiz, jint card, static jobjectArray android_server_UsbAlsaMidiDevice_open(JNIEnv *env, jobject thiz, jint card, jint device, jint numInputs, jint numOutputs) { char path[100]; Loading Loading @@ -126,9 +124,7 @@ release_fds: return NULL; } static void android_server_UsbMidiDevice_close(JNIEnv *env, jobject thiz, jobjectArray fds) { static void android_server_UsbAlsaMidiDevice_close(JNIEnv *env, jobject thiz, jobjectArray fds) { // write to mPipeFD to unblock input thread jint pipeFD = env->GetIntField(thiz, sPipeFDField); write(pipeFD, &pipeFD, sizeof(pipeFD)); Loading @@ -144,12 +140,12 @@ android_server_UsbMidiDevice_close(JNIEnv *env, jobject thiz, jobjectArray fds) static JNINativeMethod method_table[] = { {"nativeOpen", "(IIII)[Ljava/io/FileDescriptor;", (void *)android_server_UsbMidiDevice_open}, {"nativeClose", "([Ljava/io/FileDescriptor;)V", (void *)android_server_UsbMidiDevice_close}, (void *)android_server_UsbAlsaMidiDevice_open}, {"nativeClose", "([Ljava/io/FileDescriptor;)V", (void *)android_server_UsbAlsaMidiDevice_close}, }; int register_android_server_UsbMidiDevice(JNIEnv *env) { int register_android_server_UsbAlsaMidiDevice(JNIEnv *env) { jclass clazz = env->FindClass("java/io/FileDescriptor"); if (clazz == NULL) { ALOGE("Can't find java/io/FileDescriptor"); Loading @@ -157,19 +153,19 @@ int register_android_server_UsbMidiDevice(JNIEnv *env) } sFileDescriptorClass = (jclass)env->NewGlobalRef(clazz); clazz = env->FindClass("com/android/server/usb/UsbMidiDevice"); clazz = env->FindClass("com/android/server/usb/UsbAlsaMidiDevice"); if (clazz == NULL) { ALOGE("Can't find com/android/server/usb/UsbMidiDevice"); ALOGE("Can't find com/android/server/usb/UsbAlsaMidiDevice"); return -1; } sPipeFDField = env->GetFieldID(clazz, "mPipeFD", "I"); if (sPipeFDField == NULL) { ALOGE("Can't find UsbMidiDevice.mPipeFD"); ALOGE("Can't find UsbAlsaMidiDevice.mPipeFD"); return -1; } return jniRegisterNativeMethods(env, "com/android/server/usb/UsbMidiDevice", method_table, NELEM(method_table)); return jniRegisterNativeMethods(env, "com/android/server/usb/UsbAlsaMidiDevice", method_table, NELEM(method_table)); } }; }; // namespace android services/core/jni/onload.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -35,8 +35,8 @@ int register_android_server_storage_AppFuse(JNIEnv* env); int register_android_server_SerialService(JNIEnv* env); int register_android_server_SystemServer(JNIEnv* env); int register_android_server_UsbAlsaJackDetector(JNIEnv* env); int register_android_server_UsbAlsaMidiDevice(JNIEnv* env); int register_android_server_UsbDeviceManager(JNIEnv* env); int register_android_server_UsbMidiDevice(JNIEnv* env); int register_android_server_UsbHostManager(JNIEnv* env); int register_android_server_vr_VrManagerService(JNIEnv* env); int register_android_server_vibrator_VibratorController(JavaVM* vm, JNIEnv* env); Loading Loading @@ -90,8 +90,8 @@ extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */) register_android_server_InputManager(env); register_android_server_LightsService(env); register_android_server_UsbDeviceManager(env); register_android_server_UsbMidiDevice(env); register_android_server_UsbAlsaJackDetector(env); register_android_server_UsbAlsaMidiDevice(env); register_android_server_UsbHostManager(env); register_android_server_vr_VrManagerService(env); register_android_server_vibrator_VibratorController(vm, env); Loading Loading
core/proto/android/service/usb.proto +3 −2 Original line number Diff line number Diff line Loading @@ -284,7 +284,8 @@ message UsbAlsaManagerProto { optional int32 cards_parser = 1; repeated UsbAlsaDeviceProto alsa_devices = 2; repeated UsbMidiDeviceProto midi_devices = 3; reserved 3; // previously midi_devices, now unused repeated UsbAlsaMidiDeviceProto alsa_midi_devices = 4; } message UsbAlsaDeviceProto { Loading @@ -299,7 +300,7 @@ message UsbAlsaDeviceProto { optional string address = 6; } message UsbMidiDeviceProto { message UsbAlsaMidiDeviceProto { option (android.msg_privacy).dest = DEST_AUTOMATIC; optional int32 card = 1; Loading
services/art-profile +4 −4 Original line number Diff line number Diff line Loading @@ -20484,12 +20484,12 @@ Lcom/android/server/usage/UsageStatsService; Lcom/android/server/usage/UsageStatsShellCommand; Lcom/android/server/usage/UserUsageStatsService$StatsUpdatedListener; Lcom/android/server/usb/UsbAlsaJackDetector; Lcom/android/server/usb/UsbAlsaMidiDevice$2; Lcom/android/server/usb/UsbAlsaMidiDevice$3; Lcom/android/server/usb/UsbAlsaMidiDevice$InputReceiverProxy; Lcom/android/server/usb/UsbAlsaMidiDevice; Lcom/android/server/usb/UsbDeviceManager; Lcom/android/server/usb/UsbHostManager; Lcom/android/server/usb/UsbMidiDevice$2; Lcom/android/server/usb/UsbMidiDevice$3; Lcom/android/server/usb/UsbMidiDevice$InputReceiverProxy; Lcom/android/server/usb/UsbMidiDevice; Lcom/android/server/usb/descriptors/UsbDescriptor; Lcom/android/server/usb/descriptors/UsbInterfaceDescriptor; Lcom/android/server/utils/AlarmQueue$1;
services/core/jni/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -62,9 +62,9 @@ cc_library_static { "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", "com_android_server_UsbDescriptorParser.cpp", "com_android_server_UsbMidiDevice.cpp", "com_android_server_UsbHostManager.cpp", "com_android_server_vibrator_VibratorController.cpp", "com_android_server_vibrator_VibratorManagerService.cpp", Loading
services/core/jni/com_android_server_UsbMidiDevice.cpp→services/core/jni/com_android_server_UsbAlsaMidiDevice.cpp +24 −28 Original line number Diff line number Diff line Loading @@ -14,27 +14,25 @@ * limitations under the License. */ #define LOG_TAG "UsbMidiDeviceJNI" #define LOG_TAG "UsbAlsaMidiDeviceJNI" #define LOG_NDEBUG 0 #include "utils/Log.h" #include "jni.h" #include <nativehelper/JNIPlatformHelp.h> #include <nativehelper/ScopedLocalRef.h> #include "android_runtime/AndroidRuntime.h" #include "android_runtime/Log.h" #include <asm/byteorder.h> #include <errno.h> #include <fcntl.h> #include <nativehelper/JNIPlatformHelp.h> #include <nativehelper/ScopedLocalRef.h> #include <sound/asound.h> #include <stdio.h> #include <sys/ioctl.h> #include <sys/stat.h> #include <sys/types.h> namespace android { #include "android_runtime/AndroidRuntime.h" #include "android_runtime/Log.h" #include "jni.h" #include "utils/Log.h" namespace android { static jclass sFileDescriptorClass; static jfieldID sPipeFDField; Loading @@ -46,7 +44,7 @@ static jfieldID sPipeFDField; // 1. Input O_RDONLY file descriptor // 2. Special input file descriptor to block the input thread // 3. Output O_WRONLY file descriptor static jobjectArray android_server_UsbMidiDevice_open(JNIEnv *env, jobject thiz, jint card, static jobjectArray android_server_UsbAlsaMidiDevice_open(JNIEnv *env, jobject thiz, jint card, jint device, jint numInputs, jint numOutputs) { char path[100]; Loading Loading @@ -126,9 +124,7 @@ release_fds: return NULL; } static void android_server_UsbMidiDevice_close(JNIEnv *env, jobject thiz, jobjectArray fds) { static void android_server_UsbAlsaMidiDevice_close(JNIEnv *env, jobject thiz, jobjectArray fds) { // write to mPipeFD to unblock input thread jint pipeFD = env->GetIntField(thiz, sPipeFDField); write(pipeFD, &pipeFD, sizeof(pipeFD)); Loading @@ -144,12 +140,12 @@ android_server_UsbMidiDevice_close(JNIEnv *env, jobject thiz, jobjectArray fds) static JNINativeMethod method_table[] = { {"nativeOpen", "(IIII)[Ljava/io/FileDescriptor;", (void *)android_server_UsbMidiDevice_open}, {"nativeClose", "([Ljava/io/FileDescriptor;)V", (void *)android_server_UsbMidiDevice_close}, (void *)android_server_UsbAlsaMidiDevice_open}, {"nativeClose", "([Ljava/io/FileDescriptor;)V", (void *)android_server_UsbAlsaMidiDevice_close}, }; int register_android_server_UsbMidiDevice(JNIEnv *env) { int register_android_server_UsbAlsaMidiDevice(JNIEnv *env) { jclass clazz = env->FindClass("java/io/FileDescriptor"); if (clazz == NULL) { ALOGE("Can't find java/io/FileDescriptor"); Loading @@ -157,19 +153,19 @@ int register_android_server_UsbMidiDevice(JNIEnv *env) } sFileDescriptorClass = (jclass)env->NewGlobalRef(clazz); clazz = env->FindClass("com/android/server/usb/UsbMidiDevice"); clazz = env->FindClass("com/android/server/usb/UsbAlsaMidiDevice"); if (clazz == NULL) { ALOGE("Can't find com/android/server/usb/UsbMidiDevice"); ALOGE("Can't find com/android/server/usb/UsbAlsaMidiDevice"); return -1; } sPipeFDField = env->GetFieldID(clazz, "mPipeFD", "I"); if (sPipeFDField == NULL) { ALOGE("Can't find UsbMidiDevice.mPipeFD"); ALOGE("Can't find UsbAlsaMidiDevice.mPipeFD"); return -1; } return jniRegisterNativeMethods(env, "com/android/server/usb/UsbMidiDevice", method_table, NELEM(method_table)); return jniRegisterNativeMethods(env, "com/android/server/usb/UsbAlsaMidiDevice", method_table, NELEM(method_table)); } }; }; // namespace android
services/core/jni/onload.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -35,8 +35,8 @@ int register_android_server_storage_AppFuse(JNIEnv* env); int register_android_server_SerialService(JNIEnv* env); int register_android_server_SystemServer(JNIEnv* env); int register_android_server_UsbAlsaJackDetector(JNIEnv* env); int register_android_server_UsbAlsaMidiDevice(JNIEnv* env); int register_android_server_UsbDeviceManager(JNIEnv* env); int register_android_server_UsbMidiDevice(JNIEnv* env); int register_android_server_UsbHostManager(JNIEnv* env); int register_android_server_vr_VrManagerService(JNIEnv* env); int register_android_server_vibrator_VibratorController(JavaVM* vm, JNIEnv* env); Loading Loading @@ -90,8 +90,8 @@ extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */) register_android_server_InputManager(env); register_android_server_LightsService(env); register_android_server_UsbDeviceManager(env); register_android_server_UsbMidiDevice(env); register_android_server_UsbAlsaJackDetector(env); register_android_server_UsbAlsaMidiDevice(env); register_android_server_UsbHostManager(env); register_android_server_vr_VrManagerService(env); register_android_server_vibrator_VibratorController(vm, env); Loading