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

Commit 5781cd5b authored by Mike Lockwood's avatar Mike Lockwood
Browse files

Make the MIDI Manager optional, enabled by "android.software.midi" feature

Change-Id: I76d442ea28beea4b9e2876bfef501d8f61403702
parent 1e650e26
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -9146,6 +9146,7 @@ package android.content.pm {
    field public static final java.lang.String FEATURE_LOCATION_NETWORK = "android.hardware.location.network";
    field public static final java.lang.String FEATURE_MANAGED_USERS = "android.software.managed_users";
    field public static final java.lang.String FEATURE_MICROPHONE = "android.hardware.microphone";
    field public static final java.lang.String FEATURE_MIDI = "android.software.midi";
    field public static final java.lang.String FEATURE_NFC = "android.hardware.nfc";
    field public static final java.lang.String FEATURE_NFC_HOST_CARD_EMULATION = "android.hardware.nfc.hce";
    field public static final java.lang.String FEATURE_OPENGLES_EXTENSION_PACK = "android.hardware.opengles.aep";
+1 −0
Original line number Diff line number Diff line
@@ -9394,6 +9394,7 @@ package android.content.pm {
    field public static final java.lang.String FEATURE_LOCATION_NETWORK = "android.hardware.location.network";
    field public static final java.lang.String FEATURE_MANAGED_USERS = "android.software.managed_users";
    field public static final java.lang.String FEATURE_MICROPHONE = "android.hardware.microphone";
    field public static final java.lang.String FEATURE_MIDI = "android.software.midi";
    field public static final java.lang.String FEATURE_NFC = "android.hardware.nfc";
    field public static final java.lang.String FEATURE_NFC_HOST_CARD_EMULATION = "android.hardware.nfc.hce";
    field public static final java.lang.String FEATURE_OPENGLES_EXTENSION_PACK = "android.hardware.opengles.aep";
+6 −0
Original line number Diff line number Diff line
@@ -1600,6 +1600,12 @@ public abstract class PackageManager {
    @SdkConstant(SdkConstantType.FEATURE)
    public static final String FEATURE_GAMEPAD = "android.hardware.gamepad";

    /**
     * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}:
     * The device has a full implementation of the android.media.midi.* APIs.
     */
    @SdkConstant(SdkConstantType.FEATURE)
    public static final String FEATURE_MIDI = "android.software.midi";

    /**
     * Action to external storage service to clean out removed apps.
+1 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ services := \
    appwidget \
    backup \
    devicepolicy \
    midi \
    net \
    print \
    restrictions \
+7 −10
Original line number Diff line number Diff line
@@ -124,6 +124,8 @@ public final class SystemServer {
            "com.android.server.print.PrintManagerService";
    private static final String USB_SERVICE_CLASS =
            "com.android.server.usb.UsbService$Lifecycle";
    private static final String MIDI_SERVICE_CLASS =
            "com.android.server.midi.MidiService$Lifecycle";
    private static final String WIFI_SERVICE_CLASS =
            "com.android.server.wifi.WifiService";
    private static final String WIFI_P2P_SERVICE_CLASS =
@@ -810,6 +812,11 @@ public final class SystemServer {
            }

            if (!disableNonCoreServices) {
                if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_MIDI)) {
                    // Start MIDI Manager service
                    mSystemServiceManager.startService(MIDI_SERVICE_CLASS);
                }

                if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_USB_HOST)
                        || mPackageManager.hasSystemFeature(
                                PackageManager.FEATURE_USB_ACCESSORY)) {
@@ -827,16 +834,6 @@ public final class SystemServer {
                }
            }

            if (!disableNonCoreServices) {
                try {
                    Slog.i(TAG, "MIDI Service");
                    ServiceManager.addService(Context.MIDI_SERVICE,
                            new MidiService(context));
                } catch (Throwable e) {
                    reportWtf("starting MIDI Service", e);
                }
            }

            mSystemServiceManager.startService(TwilightService.class);

            mSystemServiceManager.startService(JobSchedulerService.class);
Loading