Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42865395 authored by Agatha Man's avatar Agatha Man Committed by Automerger Merge Worker
Browse files

Merge "Ignore public volume state change event of removed user in Automotive"...

Merge "Ignore public volume state change event of removed user in Automotive" into rvc-dev am: 27196625 am: 1bc43717 am: e68f19d7 am: 8d6552a1

Change-Id: Ie48ab622eba516f58e5af080c5547775e148591d
parents ed61d59f 8d6552a1
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -294,6 +294,16 @@ public class StorageNotification extends SystemUI {
    private void onPublicVolumeStateChangedInternal(VolumeInfo vol) {
        Log.d(TAG, "Notifying about public volume: " + vol.toString());

        // Volume state change event may come from removed user, in this case, mountedUserId will
        // equals to UserHandle.USER_NULL (-10000) which will do nothing when call cancelAsUser(),
        // but cause crash when call notifyAsUser(). Here we return directly for USER_NULL, and
        // leave all notifications belong to removed user to NotificationManagerService, the latter
        // will remove all notifications of the removed user when handles user stopped broadcast.
        if (isAutomotive() && vol.getMountUserId() == UserHandle.USER_NULL) {
            Log.d(TAG, "Ignore public volume state change event of removed user");
            return;
        }

        final Notification notif;
        switch (vol.getState()) {
            case VolumeInfo.STATE_UNMOUNTED: