MIDI: Flag virtual UMP
This CL flags the new virtual UMP MIDI APIs in UmpMidiDeviceService.
This CL also adds a check in MidiService to enforce the flag.
Bug: 291115176
Bug: 301713211
Test: atest MidiEchoTest
Test: adb logcat *:S MidiService:V
Change-Id: I29d12ea35a4a4231a0e67e4abcef2a149ee48ebc
diff --git a/services/midi/Android.bp b/services/midi/Android.bp
index 5adcfba..4b5f8a7 100644
--- a/services/midi/Android.bp
+++ b/services/midi/Android.bp
@@ -19,4 +19,7 @@
defaults: ["platform_service_defaults"],
srcs: [":services.midi-sources"],
libs: ["services.core"],
+ static_libs: [
+ "aconfig_midi_flags_java_lib",
+ ],
}
diff --git a/services/midi/java/com/android/server/midi/MidiService.java b/services/midi/java/com/android/server/midi/MidiService.java
index 486ddb4..8085ed6 100644
--- a/services/midi/java/com/android/server/midi/MidiService.java
+++ b/services/midi/java/com/android/server/midi/MidiService.java
@@ -16,6 +16,8 @@
package com.android.server.midi;
+import static com.android.media.midi.flags.Flags.virtualUmp;
+
import android.Manifest;
import android.annotation.NonNull;
import android.annotation.RequiresPermission;
@@ -1551,6 +1553,12 @@
return;
}
+ if (!virtualUmp()) {
+ Log.w(TAG, "Skipping MIDI device service " + serviceInfo.packageName
+ + ": virtual UMP flag not enabled");
+ return;
+ }
+
Bundle properties = null;
int numPorts = 0;
boolean isPrivate = false;