diff options
author | 2024-02-21 22:26:42 +0000 | |
---|---|---|
committer | 2024-02-21 23:57:00 +0000 | |
commit | 6553ea4976d188314ab01b81339442b68748a205 (patch) | |
tree | c222e3cdd58ec280f9efdc98476271c9904659e0 | |
parent | 0edd84716a9090da9a35837353ccb7344d5b8608 (diff) |
MIDI: Add null check for UserManager.getMainUser
UserManager.getMainUser() can return null for some devices.
This is causing a NullPointerException in some automotive cases.
This CL adds an additional check to make sure that this is not null.
Bug: 322622902
Test: Connect to jamstick on phone with MIDI+BTLE app.
Test: Verify that MidiScope receives packets successfully.
Change-Id: I5b8e060cd8cafde1b1c60e259cc5ba0516a417d0
-rw-r--r-- | services/midi/java/com/android/server/midi/MidiService.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/services/midi/java/com/android/server/midi/MidiService.java b/services/midi/java/com/android/server/midi/MidiService.java index 39aaab25d7be..7402d1454bab 100644 --- a/services/midi/java/com/android/server/midi/MidiService.java +++ b/services/midi/java/com/android/server/midi/MidiService.java @@ -1011,7 +1011,11 @@ public class MidiService extends IMidiManager.Stub { } } - if (user.getUserIdentifier() == mUserManager.getMainUser().getIdentifier()) { + // Allow only the main user to create BluetoothMidiService. + // If there is no main user, allow all users to create it. + UserHandle mainUser = mUserManager.getMainUser(); + if ((mainUser == null) + || (user.getUserIdentifier() == mainUser.getIdentifier())) { PackageInfo info; try { info = mPackageManager.getPackageInfoAsUser( |