From b414a2ccf14616c17bbaa969afd3c0becbbc431c Mon Sep 17 00:00:00 2001 From: Mikhail Naganov Date: Thu, 20 Apr 2017 09:37:18 -0700 Subject: Make IMidiDeviceServer.setDeviceInfo method oneway This method is called from MidiService in system server, must be oneway. Remove the call to IMidiDeviceServer.getDeviceInfo from MidiService. It seems to be redundant. The reason is that MidiDeviceInfo is only created by MidiService (to maintain unique IDs), and after creation, it is pushed both to a remote MidiDeviceServer, and to a local MidiService.Device class simultaneously inside addDeviceLocked method. Thus, if MidiService.Device.mDeviceInfo is still null, there is no chance that remote MidiDeviceServer can hold a non-null MidiDeviceInfo. So the call to IMidiDeviceServer.getDeviceInfo will also return null, and thus can be avoided. Note that only for BT MIDI devices can MidiService.Device receive MidiDeviceInfo later in the lifecycle. All other types of devices receive MidiDeviceInfo upon construction. Bug: 37535382 Test: Used BT MIDI keyboard with MidiSynthDemo app Change-Id: I5378207922187866f3c43e01f1ed30f042720167 --- services/midi/java/com/android/server/midi/MidiService.java | 3 --- 1 file changed, 3 deletions(-) (limited to 'services/midi/java') diff --git a/services/midi/java/com/android/server/midi/MidiService.java b/services/midi/java/com/android/server/midi/MidiService.java index 100e4594b2e7..51478b365715 100644 --- a/services/midi/java/com/android/server/midi/MidiService.java +++ b/services/midi/java/com/android/server/midi/MidiService.java @@ -325,9 +325,6 @@ public class MidiService extends IMidiManager.Stub { } IBinder binder = server.asBinder(); try { - if (mDeviceInfo == null) { - mDeviceInfo = server.getDeviceInfo(); - } binder.linkToDeath(this, 0); mServer = server; } catch (RemoteException e) { -- cgit v1.2.3-59-g8ed1b