diff options
author | Philip P. Moltmann <moltmann@google.com> | 2016-05-09 12:40:19 -0700 |
---|---|---|
committer | Philip P. Moltmann <moltmann@google.com> | 2016-05-09 12:51:18 -0700 |
commit | 3ed75952164a8eec5156b67df598670e5bd4d13c (patch) | |
tree | 400ce517dbe2138c6b40c529d8b40468f360a7be /services/midi/java | |
parent | 450f91b52938de2a6cb9053b13b03ae75edd6be0 (diff) |
Init MidiService once system user gets unlocked.
Bug: 28621670
Change-Id: I358aa8db6d1408c317f4ca66b4e5c5cbbcfe0826
Diffstat (limited to 'services/midi/java')
-rw-r--r-- | services/midi/java/com/android/server/midi/MidiService.java | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/services/midi/java/com/android/server/midi/MidiService.java b/services/midi/java/com/android/server/midi/MidiService.java index 723be2481d6f..1c18c9b091b7 100644 --- a/services/midi/java/com/android/server/midi/MidiService.java +++ b/services/midi/java/com/android/server/midi/MidiService.java @@ -41,6 +41,7 @@ import android.os.Bundle; import android.os.IBinder; import android.os.Process; import android.os.RemoteException; +import android.os.UserHandle; import android.util.Log; import com.android.internal.content.PackageMonitor; @@ -71,6 +72,13 @@ public class MidiService extends IMidiManager.Stub { mMidiService = new MidiService(getContext()); publishBinderService(Context.MIDI_SERVICE, mMidiService); } + + @Override + public void onUnlockUser(int userHandle) { + if (userHandle == UserHandle.USER_SYSTEM) { + mMidiService.onUnlockUser(); + } + } } private static final String TAG = "MidiService"; @@ -97,7 +105,7 @@ public class MidiService extends IMidiManager.Stub { private final PackageManager mPackageManager; // UID of BluetoothMidiService - private final int mBluetoothServiceUid; + private int mBluetoothServiceUid; // PackageMonitor for listening to package changes private final PackageMonitor mPackageMonitor = new PackageMonitor() { @@ -557,7 +565,12 @@ public class MidiService extends IMidiManager.Stub { public MidiService(Context context) { mContext = context; mPackageManager = context.getPackageManager(); - mPackageMonitor.register(context, null, true); + + mBluetoothServiceUid = -1; + } + + private void onUnlockUser() { + mPackageMonitor.register(mContext, null, true); Intent intent = new Intent(MidiDeviceService.SERVICE_INTERFACE); List<ResolveInfo> resolveInfos = mPackageManager.queryIntentServices(intent, @@ -583,7 +596,7 @@ public class MidiService extends IMidiManager.Stub { } else { mBluetoothServiceUid = -1; } - } + } @Override public void registerListener(IBinder token, IMidiDeviceListener listener) { |