summaryrefslogtreecommitdiff
path: root/services/midi/java
diff options
context:
space:
mode:
authorPhilip P. Moltmann <moltmann@google.com>2016-05-09 12:40:19 -0700
committerPhilip P. Moltmann <moltmann@google.com>2016-05-09 12:51:18 -0700
commit3ed75952164a8eec5156b67df598670e5bd4d13c (patch)
tree400ce517dbe2138c6b40c529d8b40468f360a7be /services/midi/java
parent450f91b52938de2a6cb9053b13b03ae75edd6be0 (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.java19
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) {