Merge "Init MidiService once system user gets unlocked." into nyc-dev

am: da08abed1e

* commit 'da08abed1e604238399bad02849c47c4d7447bf3':
  Init MidiService once system user gets unlocked.

Change-Id: I6aa45702b4de90125c87bb5be280178e44416485
This commit is contained in:
Philip P. Moltmann
2016-05-09 20:16:47 +00:00
committed by android-build-merger

View File

@@ -41,6 +41,7 @@ import android.os.Bundle;
import android.os.IBinder; import android.os.IBinder;
import android.os.Process; import android.os.Process;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.UserHandle;
import android.util.Log; import android.util.Log;
import com.android.internal.content.PackageMonitor; import com.android.internal.content.PackageMonitor;
@@ -71,6 +72,13 @@ public class MidiService extends IMidiManager.Stub {
mMidiService = new MidiService(getContext()); mMidiService = new MidiService(getContext());
publishBinderService(Context.MIDI_SERVICE, mMidiService); publishBinderService(Context.MIDI_SERVICE, mMidiService);
} }
@Override
public void onUnlockUser(int userHandle) {
if (userHandle == UserHandle.USER_SYSTEM) {
mMidiService.onUnlockUser();
}
}
} }
private static final String TAG = "MidiService"; private static final String TAG = "MidiService";
@@ -97,7 +105,7 @@ public class MidiService extends IMidiManager.Stub {
private final PackageManager mPackageManager; private final PackageManager mPackageManager;
// UID of BluetoothMidiService // UID of BluetoothMidiService
private final int mBluetoothServiceUid; private int mBluetoothServiceUid;
// PackageMonitor for listening to package changes // PackageMonitor for listening to package changes
private final PackageMonitor mPackageMonitor = new PackageMonitor() { private final PackageMonitor mPackageMonitor = new PackageMonitor() {
@@ -557,7 +565,12 @@ public class MidiService extends IMidiManager.Stub {
public MidiService(Context context) { public MidiService(Context context) {
mContext = context; mContext = context;
mPackageManager = context.getPackageManager(); 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); Intent intent = new Intent(MidiDeviceService.SERVICE_INTERFACE);
List<ResolveInfo> resolveInfos = mPackageManager.queryIntentServices(intent, List<ResolveInfo> resolveInfos = mPackageManager.queryIntentServices(intent,
@@ -583,7 +596,7 @@ public class MidiService extends IMidiManager.Stub {
} else { } else {
mBluetoothServiceUid = -1; mBluetoothServiceUid = -1;
} }
} }
@Override @Override
public void registerListener(IBinder token, IMidiDeviceListener listener) { public void registerListener(IBinder token, IMidiDeviceListener listener) {